"'I'm here to break all the conventions" Proceeds to follow the syscall naming convention perfectly.
@beauteetmusculation81913 жыл бұрын
That cracked me up too. 😀
@dumpsockpuppet56193 жыл бұрын
"I'm a Badass, not an Anarcist" -Rosa Diaz, Brooklyn 99
@donkeyy83313 жыл бұрын
You're not only very smart, but also very funny, I always have a blast watching your videos.
@MCorange93 жыл бұрын
@@ShrirajHegde Im also 13 cuz I laughed at this
@niculaelaurentiu1201 Жыл бұрын
He's not smarter than most of us. He has discipline to work and be focused. That goes a long way
@ramongonzalezfernandez89043 жыл бұрын
Section is for compiling to a .o which you then manually link (so it needs the special labels), segment is for compiling straight to an ELF
@DanCojocaru20003 жыл бұрын
12:37 Suggestion: a "no return" return type, so that if you call exit, Porth will know that terminates the program and won't check what the function is returning
@KitsuneAlex3 жыл бұрын
That's quite a neat idea, maybe add a noret keyword or something.
@CyborusYT3 жыл бұрын
Like Rust's ! type?
@KitsuneAlex3 жыл бұрын
@@CyborusYT In the language i am currently designing ! is used for null-assertion, so that wouldn't work for my case, idk how single-char ops fit into porth either.
@CyborusYT3 жыл бұрын
@@KitsuneAlex not that it necessarily has to be represented by !, just some kind of uninhabited type
@KitsuneAlex3 жыл бұрын
@@CyborusYT fair enough.
@FreezeBlaze3 жыл бұрын
I learned more assembly from this than I did in my assembly course in uni
@phillipvance8643 жыл бұрын
In nasm you can use back ticks to do C style escape codes so: `Hello World ` Will work and that also works for escaping the null terminator \0. Although I guess it wont matter if you replace nasm. In fasm I think to get your SYS_exit macro just assign it like Python: SYS_exit = 60 I think that's how it works in fasm but not 100% sure Regards! I actually learned asm because of your porth videos, so thank you very much :)
@Pi7on2 жыл бұрын
I find the whole process fascinating. Thank you for the amazing stream!
@kernelk19313 жыл бұрын
wow, you're back for some Porth action!
@etopowertwon3 жыл бұрын
It's somewhat funny to see "I'm here to break all the convention" followed by a rant that nasm doesn't support the standard conventions of " ". Nasm support escaping, it just breaks the convention by requiring different quotes.
@bigmistake55653 жыл бұрын
I would love to have a little overview of ur off-screen type-checking implementation in Porth btw. It's great that you don't feel the need to stream everything to keep everything moving forward, but in this case I am quite curious to the challenges you had during implementation!
@chromosundrift3 жыл бұрын
yeah I have a feeling it was a lot of work
@iulian92253 жыл бұрын
tsoding i a month "we need faster linux"
@Chaosman883 жыл бұрын
smooth beatboxing there! 42:48
@nonnymoose70053 жыл бұрын
You'll probably want to use gas because it supports linking (that's where the concept of sections comes in). It has an intel assembly directive as well.
@drdefecation3 жыл бұрын
nasm can also output linkable ELF
@arti5musicc3 жыл бұрын
At 18:00, it does go into the .data section and segfaults because of that (.data is not executable)
@mathalphabet56453 жыл бұрын
42:50 causally performs awesome beatbox
@alexnik11812 жыл бұрын
7:32 The way he said "i did not" came from a movie The Room. I recommend watching it!
@wirtos_new3 жыл бұрын
constant string is usually placed in .text so it'll segfault when you try to write something there, for example in C "hello world" is of const char array type and segfaults if you write to it
@manjoos49063 жыл бұрын
strings constants are stored in .rodata (read only data). the reason it seg faults is due to an access violation since this section is loaded with nowrite permissions.
@etopowertwon3 жыл бұрын
In linux constant data are placed into .rodata section (duh)
@styleisaweapon3 жыл бұрын
nasm isnt designed to scale like you are using it - you want an assembler that was designed to be a back end for compilers to begin with, such as gnu's gas or microsoft's masm - basically where cross-compiling was considered important you will also find a backend assembler being used that scales fairly well
@ahmadhadwan3 жыл бұрын
22:20, in order to use escaped characters in nasm, you have to write the string in `backquotes??`
@mdev7903 жыл бұрын
Yasm is also another alternative compatibilre with Nasm, Fasm and Gas syntaxes Also gas supports intel syntax
@SketchyAtBest2 жыл бұрын
You know who could build a faster assembler? Terry fuckin Davis. That devine intellect would have it done in no time.
@danespen57723 жыл бұрын
To improve your workflow, make your Makefile default target running the test.
@wChris_3 жыл бұрын
you should know that the reserved bytes should be handles as unknown/uninitialized, basically the kernel can decide how it will initialize the memory for you, which just happens to be zero! So you should make sure to initialize it to zero yourself or wake up some day wondering why your compiler isnt working anymore!
@xelaxander3 жыл бұрын
Yes!! It's Porth again!!
@SidTheGreat4203 жыл бұрын
Hey when are you planning to add switch-case statements?
@Vili694203 жыл бұрын
17:42 step application what are you doing do me
@hellNo1163 жыл бұрын
you press space twice for intonation. I can't remember seen anyone else doing that. I have heard only legends.
@q_rsqrt51403 жыл бұрын
NASM supports escape characters with `` string literals
@rhbvkleef2 жыл бұрын
Do you have any plans on dirtying your hands on generating some LLVIM IR?
@ahmadhadwan3 жыл бұрын
I was thinking about writing an elf assembler in C, would you like to make an open source project, where we both contribute?
@ahmadhadwan3 жыл бұрын
@@SimGunther i did figure out how to generate an elf object, the elf implementation is available on wikipedia, and in elf.h
@TVSuchty3 жыл бұрын
Why not use clang backend for assembly?
@RuneSmedstuen3 жыл бұрын
@7:32 A line best uttered on the rooftop.
@JustMaiyak3 жыл бұрын
Can’t wait for the flag for GASM
@bigmistake55653 жыл бұрын
Yeeees! Was starting to miss Porth ☺️
@fasogoss3 жыл бұрын
The future is PORTH !!!
@markblacket89003 жыл бұрын
god appears in three forms: readable, writable, executable
@chromosundrift3 жыл бұрын
is it possible to assemble `std.porth` once and binary include it?
@Obama64643 жыл бұрын
I’m curious to know how you’re this talented man. How long have you been programming?
@metagen773 жыл бұрын
If you hit your head in the right spot with the right force there is a chance your personality will shift. Most likely you will just start to drool tho.
@fizipcfx3 жыл бұрын
@@metagen77 wtf
@metagen773 жыл бұрын
@@fizipcfx It's a joke but it's true, search "head injury musical math talent" for example.
@chromosundrift3 жыл бұрын
I think he said 15 years. But he seems to code multiple hours every day and he doesn't seem to believe in magic programs that only wizards can write. He is always willing to try to code something himself. "Talent" often implies someone is born with magic ability but I give credit to the hard work Tsoding has put in to gain this skill level.
@cybergoth20023 жыл бұрын
banger video
@beltran97783 жыл бұрын
Svscall? Isn't SYSCALL?
@monsieuralexandergulbu36783 жыл бұрын
5:27 you're just using wrong data structure in porth :]
@kuschelmaschine66443 жыл бұрын
Can I use this code or text editor on windows?
@lame_lexem3 жыл бұрын
thoughts on wasm?
@vim17293 жыл бұрын
Do you use evil mode inside Emacs or vanilla emacs key bindings?
@mutumbamoris32202 жыл бұрын
the mind:"am slowing dow....." me:"pick up"
@mcol33 жыл бұрын
If python is your idea of slow, you haven't tried R yet.
@Mrqwertar3 жыл бұрын
Isn't R a DSL rather than a general-purpose language?
@batlin3 жыл бұрын
@@Mrqwertar no, it's popular in stats and bioinformatics but so is Python.
@beauteetmusculation81913 жыл бұрын
Outstanding video.
@coldeeshiashi59223 жыл бұрын
Bro u r really fucking cool, all I can say.
@MrKristian2523 жыл бұрын
This is pretty damn awesome
@trejohnson76773 жыл бұрын
Jones showed us the way decades ago, my friend.
@NotMarkKnopfler2 жыл бұрын
Jones was standing on the shoulders of many other giants. Ting, Jeff Fox et al spring to mind, not to mention Moore himself.
@lovely-shrubbery85783 жыл бұрын
Yay Ive been learning nasm lately woo
@commiesbegone25803 жыл бұрын
Cant you use tabs for setting comments? why wouldnt you?
@movization3 жыл бұрын
7:31 Oh, Hi Mark
@cedricvillani85023 жыл бұрын
Gonna just say from your title that you sir could use a MATLAB License
@tubi42033 жыл бұрын
bro where tf did u learn assembly
@ne4to7773 жыл бұрын
pain, just pain, programmers was born for pain
@bitcode_7 ай бұрын
53:57 💧
@11WicToR113 жыл бұрын
Why is he always saying "tutudutu" ? :D I only ever heard that as anime reference, is our russian teacher weeb?