> reads title > sees video length *oh god here he goes again*
@Capewearer14 күн бұрын
Isn't like this is average length of his videos? I am not surprised, to be honest.
@xazzzi15 күн бұрын
392 bytes of BLOAT
@chriswinslow14 күн бұрын
392 is HUGE for asm. This is Assembler’s equivalent to using React lol
@igricRBX14 күн бұрын
Disgusting
@hentype14 күн бұрын
Used to be a big deal. Atari 2600 has 2600 RAM
@skipdrill37314 күн бұрын
This is the elf header.
@Digitalgems900012 күн бұрын
@@chriswinslow LOOL
@rostislavarts15 күн бұрын
Forget Assembly - Pure Bytecode is All You Need
@SoftBreadSoft15 күн бұрын
Bytecode is overrated, I just bought a billion transistors.
@knodesec15 күн бұрын
@@SoftBreadSoft No. Electrons is enough for everyone :)
@NotMarkKnopfler15 күн бұрын
Forget Pure Bytecode. 0V and 3V is all you need. 😜
@ZeyHex15 күн бұрын
@@SoftBreadSoft Haha, here we come to FPGA.)
@fus3n15 күн бұрын
Bytecodes are usually higher level the assembly, so it doesn't really work here.
@JD.29714 күн бұрын
As a german I like the randomly ocuring "scheiße" phrase
@merlininthevoid288914 күн бұрын
Meine Freunde
@Capewearer14 күн бұрын
That's very common catch-phrase in post-Soviet countries, especially Russia. Often people may use "Hände hoch!" and "Verstehen?", even though last one may be incorrect. As much as I am aware, German language doesn't approve usage of abrupted sentences. I suppose, the correct one would be "Haben Ihr das Verständnis?". Please, ensure that is valid sentence to say. I did study German a long ago.
@Kingbubs35314 күн бұрын
Habt ihr das verstanden. Would be the correct phrase@@Capewearer
@EddyWydraTV14 күн бұрын
Also popular in Poland
@Capewearer14 күн бұрын
@Kingbubs353 okay, but why "das" instead of "dieses"? I know I shouldn't rely on sub-concious part of mind, but I always preferred to point it directly. Is that matter of taste?
@MyriadColorsCM15 күн бұрын
Today I learned that Tsoding is surprisingly good at beatbox.
@chriswinslow14 күн бұрын
14:46 I saw it. I knew you were really a passionate PHP developer at heart! I don’t blame you, it’s a very decent language too, I wish it was in place of JS.
@MrAlanCristhian14 күн бұрын
I want to learn it and try it because I heard it has the best implementation of OOP ideas.
@stefanalecu953214 күн бұрын
@@MrAlanCristhian if we really want to go to the source, the best, most honest implementation of OOP would be in Smalltalk.
@MrAlanCristhian14 күн бұрын
@stefanalecu9532 I mean, the most practical and productive OOP implementation. Not the most honest. To give you an example, according to academia, a class should have private members, so Java, C++ and C# have that feature. But not Python. Python sacrificed that feature to get productivity. Almost all OOP haters are Java, C++ and C# developers; because those languages implemented OOP ideas the worst way possible. And they assume that because OOP is bad in java, so is bad in all languages. But that is wrong. It's like assuming that because Python is slow, so all languages are slow.
@andie233414 күн бұрын
Прелесть фасма ещё в том, что у него многопроходный препроцессор, благодаря этому можно легко делать полиморфный код, просто делая тупую замену (mov arg1, arg2) на условный (push arg2; pop arg1) и прикрутив туда псевдогенератор чисел на времени компиляции получать совершенно разный код для одной и той же инструкции. И вуаля, не нужны constexpr, шаблоны и bootstrap для плюсов)
@anywaylose399915 күн бұрын
Bro is just waking up every morning and have new "well, today is assembly day" thoughts in the head.
@blablub-c2314 күн бұрын
can't wait for Zozin to touch Common Lisp for full enlightenment
@falsechord13 күн бұрын
how much does common lisp differ from clojure? i wanted to learn lisp aswell but emacs turned me off
@blablub-c2312 күн бұрын
@@falsechord I work with CL almost every day since my company specializes in maintaining OG-lang codebases for companies and universities, but I've never tried Closure, which is too new for my job :))) I know that Clojure is built on top of the JVM and has 1-class interop with Java, oriented more towards functional programming whereas CL is like a multiparadigm Swiss knife and depends on a specific implementation
@blablub-c2312 күн бұрын
@@falsechord if you want to dive into the depths of Lisp, I would recommend (in my humble opinion of course) to start with my beloved racket and then yes, unironically elisp since its alive and you would be loved by Zozin. When you are roasted enough, you can try CL ;)
@adamrmoss10 күн бұрын
@@blablub-c23 Racket is my favorite LISP but Cojure is very cool
@TEHNOTRAHER15 күн бұрын
Nested macros are actually super useful You could have used it to define for loop macro so that you dont have to pass anything to 'endfor' macro All you have to do is to declare 'endfor' macro inside of 'for' macro, because 'endfor' is nested in 'for', it is aware about all labels in 'for' macro macro for i, low, up { local start, end mov i, low start: cmp i, up jge end macro endfor \{ inc i jmp start end: \} } Although you have to escape '{' and '}'
@Mozartenhimer13 күн бұрын
But then you have to maintain a stack in the macro who the endfor needs to pop for nested loops. No?
@TEHNOTRAHER13 күн бұрын
@@Mozartenhimer Yes, i forgot about that, i was kinda rusty, havent touched fasm in years. It can be dealt with like so macro for i, low, up { local start, end mov i, low start: cmp i, up jge end macro end_for \{ inc i jmp start end: \} } macro endfor { end_for purge end_for restore end_for restore end restore start } Then following code will be valid: mov rax, 0 for r15, 0, 10 for r14, 0, 10 add rax, 1 endfor endfor ret; rax = 100
@JPTHECREATOR015 күн бұрын
Forget EVERY LANGUAGE, all you need is LISP and ASM :)
@oPatrickVico12 күн бұрын
Unironically
@OeHomestead14 күн бұрын
I started my coding adventure learning MC68000 Assembly/Machine Code back in the 80's, making Amiga demos, games and apps. It's still my favourite language. AsmOne FTW :-D
@valuemastery10 күн бұрын
Before doing 68k assembler (on my Atari), I did 6502 assembler. On my first computer (a VIC20), I did not have an assembler, so I wrote a hex monitor in Basic and used it to program space invaders in machine code. I was 13 years old at that time and used to carry a list of all hex codes for the assembly instructions with me all the time. I still remember most of these decades later.
@mahanfarzaneh463915 күн бұрын
I have never clicked faster in my life
@nikhils758315 күн бұрын
Me too
@Zero-oq1jk14 күн бұрын
Clickachu Clicka Clicka Cli!
@olaff66715 күн бұрын
perfect timing, i was about to practice some linux assembly for my so injector
@nesdi66535 күн бұрын
I agree
@maybenot90914 күн бұрын
Great. I was just suffering trying to make a language and this seems like a better backend than C. Thank you kind mister for telling me about this! 😊
@danielstephengilbert8 күн бұрын
dude this is awesome to watch! thanks!
@hotdrogon935015 күн бұрын
Best Assembly of Beginner 16-bit MASM Assembly
@Anticitizen66615 күн бұрын
I used to use that for demos, back in the BBS days :) Oh, and self-modifying viruses for fun...
@Left4cookie14 күн бұрын
I never tried MASM but I liked MIPS as a starter. It allso RISC, which i like because RISC-V is a promessing open source architecture :D
@Anticitizen66615 күн бұрын
I use ASM a lot with microcontrollers, but there seems little point with x86 now as the compilers do such a good job. The only exceptions I've found are when you can hand-optimise the use of the vector processing registers but it's pretty niche.
@FlanPoirot14 күн бұрын
if you're making ur own language and don't want to touch the antichrist's backend (LLVM) you'll have to write your own assembly codegen (apparently u should do this according to a lot of modern language designers, they all hate LLVM lol)
@Serizon_14 күн бұрын
@@FlanPoirot there is qbe which I have found is way way simpler but hey , I don't know.
@pLez09715 күн бұрын
Forget assembly 0 and 1s is all u need
@Paulo-c3n15 күн бұрын
forget 0 1 a magnet is all you need
@Omena014 күн бұрын
Forget magnet punch cards are all you need
@igricRBX14 күн бұрын
5 volt is all you need
@9mmPeppaLeaks11 күн бұрын
Bro probably doesn’t know code in its simples form, base is not numbers; it is actually broken up into tallies and then translated into numbers base2, and hexadecimals base 16
@9mmPeppaLeaks11 күн бұрын
Unary Numerical System is the basis for representing all computing and is the beginning of Computer Science, you can go deeper and learn engineering if you would like but that is outside the field of computer science and is Electronics Engineering
@craftrumzen239315 күн бұрын
assembly is such a beautiful language
@Argoon198114 күн бұрын
the segment and section thing, reminded of "@require" and "@ensure" contracts in C3 language, even thou my main language is not English, I think both words are synonyms of the same thing, but in C3, they mean different things, the first means, at function call, make sure something coming into a function, is what you expect, the second one means, at function return, make sure something coming out of the function, is what you expected. :)
@zperk1314 күн бұрын
"Require" and "ensure" aren't synonyms, but they are kinda similar. Valid: "I require air, food, and water to live" Invalid: "I ensure air, food, and water to live" Valid: "Air, food, and water ensure I live" Invalid: "Air, food, and water require I live" Ok that last one is grammatically correct, it just doesn't make sense. It implies that if I die, then air, food, and water, will cease to exist or something. You can do something similar with the first invalid thing with a slight tweak: "I ensure (that) air, food, and water live" "Require" is more so a synonym of "need" "Ensure" is more like "make it so" or "make sure that"
@ratchet1freak14 күн бұрын
for that last branchfree attempt you could instead use "sete" which sets the register to 1 if the last comp is equal
@bogdan_ov13 күн бұрын
a day after the publication of this video, fasm repo reached 988 stars
@rafaelcastrocs14 күн бұрын
I really enjoyed this subject, I've learned a lot, please more
@handledByHandle6 күн бұрын
Forget everything. You don't need anything.
@Czeckie11 күн бұрын
I, for one, was wondering if you need the null termination for strings, so thank you chat commenter
@dnkreative14 күн бұрын
I used fasm itself to build binary ISO image for my OS. So you don't have to write executables with it, you can literally assemble any fromat. It's like webpack for binaries.
@ItsD3vil14 күн бұрын
10:35 Correct me if I'm wrong, is there no #embed I think for embedding?
@the-last-spark14 күн бұрын
you can do embedding in c you can use the linker on a binary that will give you an object file with global const variables that point to the start and end of the file
@ItsD3vil13 күн бұрын
@@the-last-spark yeah I know about that but I was talking about if there is a pre-processor for it like the fasm one
@frankcasanova21323 күн бұрын
output of a perfectionist:
@fevicoI11 күн бұрын
Bro can think in ASM and C. Meanwhile it took me 10 minutes to understand each line. That is how we compare.
@shrddr14 күн бұрын
I'd love to see tsoding explore demoscene kind of programming as I never got into it but allegedly it's a combination of low level code, audiovisual stuff and intolerance to bloat, everything our man is known for
@androth150214 күн бұрын
after years... only 1 issue. that's quality.
@beauteetmusculation81912 күн бұрын
And the issue isn't actually an issue. Awesome
@nel_tu_14 күн бұрын
34:20 missed comptime variables opportunity
@chesterhackenbush14 күн бұрын
The only problem with assembly is that it is machine and operating system specific.
@rj7250a14 күн бұрын
It can be portable across OSes if the assembly dont use any syscalls or use the OS's API. Wich happens a lot, in many libraries 90% of code is C, then Assembly is used on hot code that the compiler cant optimize well, so the same x86 Assembly can run on Linux and Windows
@chesterhackenbush14 күн бұрын
@@rj7250a I agree with you... however good luck using X86 assembler on an ARM based processor.
@acasualviewer58619 күн бұрын
Check out how WOZMON dealt with different architectures. Yes the assembly language is specific, but you can map different firmware functions (and OS functions as well). Macros could help a lot with that. But yeah, as everything in Assembly there's a certain amount of tediousness.
@BadComoc15 күн бұрын
when's the pure assembly demoscene visualiser project
@ioannesbracciano434313 күн бұрын
As a Greek, I find your channel name hilarious
@negrastormentas286515 күн бұрын
You are a master clickbaiter, my friend.
@TSW35856 күн бұрын
Like for the beatbox on 2:19 . I did not expected .
@Feal-flf13 күн бұрын
im waiting for the day tsoding will post "Forget Assembly - OP Code is all you need"
@s4n7r014 күн бұрын
10:35 c23 has "#embed" directive now
@fantomass4712 күн бұрын
Please put your chat on stream above webcam to save it for yt vods. It is ruining immersion when you can't see people's KEKW :D
@zteamvideo256110 күн бұрын
I just watched for the effs
@neo164711 күн бұрын
я никогда и не знал Ц. От его синтаксиса стошнить может. Вот ASM это сила, красота, лаконичность, мощь.
@gnot79009 күн бұрын
Ц это лучшее что может описать алгоритм из имеющихся быстрее чем ассемблер. Круто конечно красиво лаконично мощно писать небольшое ядро несколько лет когда это можно сделать за неделю при этом не так много потеряв
@neo16479 күн бұрын
@@gnot7900 как преодолеть рвотный рефлекс от синтаксиса разновидностей Ц. Алгоритм то описать можно на любом языке высокого уровня, лучше конечно написанном профессионалами, а не любителями. 😉 А так да.. современное мощное оборудование компенсирует любой огород иснтрукций от современных кодеров
@r-prime13 күн бұрын
C23 does have embed! So technically it does have the feature from the start of the vid... But only since last year
@andrewcrook644414 күн бұрын
High level assembler
@Cdaprod15 күн бұрын
1:30 🤣 that’s the perfect minimal binary
@UltravioletMind15 күн бұрын
MLIR stream when?
@RiteshRanjan-x4k15 күн бұрын
Program in DOSbox
@aleksvitek79814 күн бұрын
Which OS and IDE is this
@not_kode_kun14 күн бұрын
Void Linux with Emacs. He has 2 recent videos of him setting his new environment up.
@odanabunaga250511 күн бұрын
чуваку пойдет забить рукава )) годный видос
@hubstrangers345011 күн бұрын
Thank you....
@jamessorrel14 күн бұрын
I haven't done much assembly, only 68hc11 for a class, but this was fun
@2udo15 күн бұрын
You will immensely benefit from learning reverse engineering, in assembly. Try it, and if you've already tried it, then refresh your memory.
@nesdi66535 күн бұрын
More info
@doodocina14 күн бұрын
1:54:06 so without macro you write "msg: db ..." BUTT with macro "msg ...". notice : sign after msg. btw i didn't test if "msg:" works when macro is defined yet
@ArtemMessaggio2 күн бұрын
Why FASM over any other assembly implementation?
@rusi621915 күн бұрын
I prefer to do the boolean algebra in my head then type in the 0s and 1s
@wchen234014 күн бұрын
my head does inline nops all day. without typing^
@BenjaminMaggi14 күн бұрын
C is universal assembler is not, anybody knows that, and assembler macros have been around forever, so it's like high-level coding anyhow, not hard at all
@davidlu10033 күн бұрын
I cannot believe I understand what you mean.😁😁😁
@superchillh3o11 күн бұрын
you may consider beatboxing as an alternate career path if this programming thing doesn't work out btw
@donaldrshaffer13 күн бұрын
well done
@sanketsbrush12 күн бұрын
I have never seen someone using assembly just out of curiosity
@Levi_OP14 күн бұрын
5:04 the freezeframe 😭
@duanebonas863014 күн бұрын
yeah i use FASM but everybody eBPF is the best next thing to use with FASM can do loads stuff
@CookieGod2414 күн бұрын
A world where ASM was consistent would be interesting, also check out Clay (C Layout)
@ashj595214 күн бұрын
Forget Assembly - pressing a button continuously to send pulses of electricity is all you need.
@bhabbott14 күн бұрын
Been there, done that! Burning fuse-link PROMs one bit at a time with switches selecting the address and bit number. Push the button 10 times to make sure the fuse is properly blown. Make a single mistake and your expensive chip is toast!
@ashj595214 күн бұрын
@@bhabbott rookie. next up - display a 60fps game with raytracing using buttons.
@MichaelObrien-n5m13 күн бұрын
Mr. Zozin is awesome.
@georgecop953810 күн бұрын
Please write an disassembler for x86. Good luck with that tho, mov has like 20 opcodes (+ the REX combinations)
@vikinator53713 күн бұрын
I see you the first time and the first thing i notice is your funny language that i like and me as a german the random "scheiße" xD
@user1lyy13 күн бұрын
ASSEMBLLY?! goat
@Leverquin11 күн бұрын
why is raw that he is selected has that random 55 number?
@CommodoreAmigo5006 күн бұрын
Waiting for Tsoding Operating System
@naranyala_dev13 күн бұрын
clean code assembly
@graydhd868815 күн бұрын
Never thought I would see inline python
@simple0x892311 күн бұрын
that's why c exist all you need is c
@52ouls14 күн бұрын
I make some of these sounds when I work😂
@TestTest-tj4nt14 күн бұрын
Do I need to drink vodka while watching this?
@_Holy_Lance_14 күн бұрын
Hell, custom hardware with rom microcode assembly is all you need.
@humanalien114 күн бұрын
Personally I prefer to use NASM
@nesdi66535 күн бұрын
More please. Can i use java in assembly
@bmazi14 күн бұрын
What is the font and the color scheme?
@abenassefa13 күн бұрын
Iosevka font and gruber darker theme
@gempf15 күн бұрын
the best!
@landmimes15 күн бұрын
ah using your cc as your chat makes it impossible for me to export ur transcript and generate chapters - adhd
@fabioc914215 күн бұрын
Man this is just a programming language with all of the downsides of asm
@khayalhajiyev87792 күн бұрын
Can you code in C++?
@uniers14 күн бұрын
It is very basic code examples. What about concurrency, coroutines and allocators programming in asm?
@neo164710 күн бұрын
ненужная хрень. тем не менее на ассемблере возможно всё. си на нем написан
@uniers10 күн бұрын
@@neo1647 с чего это вы взяли что asm это ненужная }{peнь ?
@neo164710 күн бұрын
@ Це с плюсом или Це с диезом - ненужная хрень. asm рулит
@uniers10 күн бұрын
@ А я вас не так понял, приношу свои извинения, пардон!
@hotdrogon935015 күн бұрын
Make Tutorial on NASM
@DART2WADER14 күн бұрын
You should try writing something in assembler for E2K. Everything is different there)))
@johnnymcaffrey617814 күн бұрын
like for using void, уважаем
@cuzsleepisthecousinofdeath14 күн бұрын
11:55 does redbean do that?
@carneirouece12 күн бұрын
Avoid vocal fry. You are not Kim Kardashian
@dani531815 күн бұрын
YEEEEEEEEEEESSSSSSSSSSSSSSSSS FINALLY ASM
@sabbaseleftheriadis560114 күн бұрын
forget watches, look up the sun and stars 🤣 no sir
@landmimes15 күн бұрын
how did i get here? i can't even code
@WIASUOM15 күн бұрын
I think you come from orangeTube. Based on your profile photo (10/10 profile btw)
@sempiternal_futility14 күн бұрын
nice pfp
@Cdaprod15 күн бұрын
1:24 rofl 😂
@pagenotfound_code_40414 күн бұрын
Can anyone explain why doesn't he get donations from twitch subs? Where does the money go????
@ErikBackman24212 күн бұрын
I can't be the only one screaming "youre not decreasing rcx" into a vod. Right? .. riiight?
@black_crest13 күн бұрын
There's always one
@ВоваВовкинс-ъ7м12 күн бұрын
Да ну его нафиг😂
@ATAG-yn5pd14 күн бұрын
Forget C and Assembly, LuaJIT is All You Need xD (ok, don't forget C, as long as you need your own libraries)