Just enough assembly to blow your mind

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 299

  • @helidrones
    @helidrones Місяць тому +51

    I have been programming in assembly language in the 1980s, first 6502 and 6800/63xx, then X86. It has been much more interesting than modern web dev today. Please keep on going.

  • @damianpanek8667
    @damianpanek8667 3 місяці тому +126

    do not stop uploading pls. love your work and need this kind of energy to get rid of data science/AI vibe. much love

    • @raulguerreroflores1460
      @raulguerreroflores1460 Місяць тому +3

      I just cant get enough

    • @AnonEMoose-mr8jm
      @AnonEMoose-mr8jm 3 дні тому +2

      Seconded. I work as a data developer. It pays the bills and I work with nice people but I wouldn't call SQL or PySpark mentally stimulating.

  • @theReal_WKD
    @theReal_WKD Місяць тому +11

    I came in not knowing anything about Assembly. Now, I know I'm not a dolphin. Instant subscribe!

  • @WackoPaco
    @WackoPaco 2 місяці тому +22

    You completely had me when, just as my hand was reaching for the keyboard to pause the video so that I could inspect the page, you said: "You can pause and inspect this page a bit if you want..."
    I learned assembly language programming at the very beginning of my career in 1974, on an IBM System 360, which had a 32 bit word size. After that I worked in the nascent video game industry for a while, coding video games in 6502 and Z80 assembly.
    UA-cam recommended this video in my feed today, and I'm so glad that my curiosity was piqued !
    This is the most impressive introduction to assembly language I've ever encountered. 👍👍
    🐬🚫, ✅

    • @neoeno4242
      @neoeno4242  2 місяці тому +3

      Thanks! :) Appreciate it. I imagine 32 bit words were a luxury in that era!

  • @TheHackysack
    @TheHackysack 25 днів тому +1

    I was entranced, watching and listening more intently than what is normal for me. The Zero Register part caught me off guard in such a way that I just had to leave this comment. It honestly made my day. Thank you.

  • @eonraider
    @eonraider 3 місяці тому +117

    MOAR! WE NEED MOOOOOAR OF THIS!

    • @c42xe
      @c42xe 3 місяці тому +4

      More

    • @Gengingen
      @Gengingen 19 днів тому

      @@c42xeMoar = “Absolutely” More, it is code. 😊

  • @aeyedeyen
    @aeyedeyen 2 місяці тому +7

    I really like your videos. They are easy to get sucked into and provide a passion for learning that is quite enticing. I've been programming in C++ for a while now and you have definitely given me the impetus to try my hand at assembly!

  • @mehtubbhai9709
    @mehtubbhai9709 3 місяці тому +5

    Thanks for this awesome video on assembler Kay. For whatever reason, I felt like learning assembler was god level stuff that was beyond me.
    You have blown away the veil of complexity for me and provided me with a great stepping-stone to learn more.
    Thanks again👍

    • @neoeno4242
      @neoeno4242  3 місяці тому +2

      So glad to hear it :)

  • @ThePOVKitchen
    @ThePOVKitchen 3 місяці тому +50

    I don't know if UA-cam's Algorithm is getting better, or if its just luck.
    But coming across this channel at its current sub count was great luck!
    The most popular videos around programming seem to be tutorials, LLMs, and tech news.
    This is the kind of stuff that got me into programming, as opposed to just making games many years ago.

    • @kellymoses8566
      @kellymoses8566 2 місяці тому +4

      The algo seems to be getting better. I think they might be indexing video transcripts and using those to recommend videos.

    • @eamgael
      @eamgael 2 місяці тому +3

      I agree, such a pleasure to find this channel

    • @glytchd
      @glytchd Місяць тому

      ​@kellymoses8566 . They've been Micronizing it. That is ours far far worse on the macro level. Purposefully.
      I mean it's been obvious the past 3 years. The fact were not allowed a 'wild card' mode.. like when you'd airways end up in 'weird' parts of UA-cam.
      But now you're stuck with being suggested the same 12 videos over and over.
      Meanwhile the moment you select 1 or 2 things your screwed into Only being suggested that channel/type THE WHOLE DAY. AND YOU CAN'T TREAT IT.
      It's so famed treasuries and claustrophobic . You is designed to keep you in a small a circle as possible
      possible
      That way yes is getting better while keeping you ducted in the suction they want. Like try
      Having 6 Hobbies and expecting UA-cam to actually suggest varied things. In not
      explain this well but isdriving me nuts. you have to have seperate damn accounts just for each hobby hobby others you'll never get it to suggest DIY vids of you harken to click mn something political. Then ur fed allday

    • @glytchd
      @glytchd Місяць тому

      ​@@kellymoses8566holy shit UA-cam is getting worse at letting me pay comments. I swear they are deliberately depreciating the functionality of the text boxes. 3 different phones and they all suffer a strange slow down and interrupt when I try to type too much into these damn boxes.
      It seems to be triggered more often when I complain about UA-cam or politics.
      Yet I can write a 200 word essay on random start trek crap with no slow down until I started comparing ideas in an episode with recent events and global nwo crap..
      Pretty sure they're usage of AI isn't limited to checking comments only AFTER they've been posted.
      It wouldn't be terribly hard to trigger some type of memory duplication based on keywords etc.. ni mean that was like 15yrs ago

  • @anglerfish61
    @anglerfish61 2 місяці тому +83

    Im saving this channel. I cant learn python and assembly at the same time. But I will return

    • @testAccount-eb2ve
      @testAccount-eb2ve Місяць тому +5

      You got this!

    • @GeminoSmothers
      @GeminoSmothers Місяць тому +2

      Python is a hype bandwagon. In my opinion....

    • @testAccount-eb2ve
      @testAccount-eb2ve Місяць тому +1

      @@GeminoSmothers why do you think that?

    • @deepsynth3495
      @deepsynth3495 Місяць тому +1

      I’m saving this channel, I can’t learn Python so assembly looks like Greek

    • @nicosoftnt
      @nicosoftnt Місяць тому +4

      ​@@GeminoSmothers Python is usually used as an interface to use other more powerful tools, it's not strong on its own and was not meant to be.

  • @Aucacoyan
    @Aucacoyan 2 місяці тому +3

    This is amazing! By far the best explanation of assembly I have encountered. Million thank yous!

    • @notgiven3114
      @notgiven3114 Місяць тому

      I agree. This is great. Most things about assembly language are based on far more complicated CPUs that were designed to facilitate large scale multi-user, multi-tasking, context-switching stuff. I have a hard time having the attention span to follow any of it when it's being described in that gigantically complex context.
      CPU instructions were my focus back when I first started working with microprocessors (1975.). My 8080 instruction set "cheat sheet" card was all I had to go by to enter programs into my Altair kit via the front panel switches. That experience molded my approach to programming. I was a US Navy crypto electronics technician at the time and had a decent grasp of digital circuitry. The CPU/machine code piece of the puzzle was what opened my mind to the wonders of computers.

  • @roman9801
    @roman9801 26 днів тому

    I have no idea what is this person talking about or why was this recommended to me, but, I really appreciate how kind this person seems and their uniqueness, all of this together is just amazing, whatever "all of this" is in the end.

  • @skoo·ch
    @skoo·ch 2 місяці тому +3

    if you enjoy the stylistic choices and imbuement of personality that Ketman brings-I recommend an introduction to programming that still resonates within my soul, which would be: "why's poignant guide to ruby" by why the lucky stiff

  • @gregoryshields4258
    @gregoryshields4258 3 місяці тому +25

    Hello, Kay! I too purchased Ketman, probably sometime in the late 1990s or early 2000s. Of course one could also just use the less capable free version. In the years since then I have wondered about the man who created this tool. I never was able to communicate with him, although I did discover that in addition to assembly language he was also passionately against corporal punishment. Anyway, yes, what a supreme learning tool. Thank you for bringing Ketman back to life after so many years.

    • @gregoryshields4258
      @gregoryshields4258 3 місяці тому +6

      Just in case there's anyone who doesn't get the right idea about Ketman, you should understand that it's not an assembler. It's an interpreter which allows you to enter a sequence of basic assembly language instructions and simulate running them one at a time, visualizing how they would store values in registers, push values onto the stack and pop them back off, etc.

    • @neoeno4242
      @neoeno4242  3 місяці тому +37

      So cool. I actually did once have contact with Pat around 2012 when I attempted to buy a full copy. He wasn't selling it anymore and email clients were a bit iffy around sending EXE files back and forth, so instead he sent me a little sequence of instructions that would essentially crack his own software by editing a piece of the executable using Ketman itself. So cool :)

    • @turnoff7572
      @turnoff7572 2 місяці тому

      Thanks this helped, I was confused by the three part explanation in the begining and didn't understand how it's all not assembly if we're working in assembly.​@@gregoryshields4258

    • @turnoff7572
      @turnoff7572 2 місяці тому

      ​@@neoeno4242so it's okay to download a full version online? I feel tipsy and bad when I pirate things I'm genuinely going to learn from. I'm just starting with the assembly, got super interested and it's my first language, so it's kinda complicated but I'm trying, have so many questions in my head hahaha. Great video!

    • @rolandsaavedra5351
      @rolandsaavedra5351 2 місяці тому +1

      🎉🎉😂🎉😂🎉😂🎉🎉😂😂😂😂😂🎉🎉😂😂😂

  • @Lorenzo1938
    @Lorenzo1938 Місяць тому +1

    One of the best channels on youtube, you're so great explaining things. Love from italy

  • @Gaafet
    @Gaafet 14 днів тому

    "it ain’t much, but it’s honest work" vibes. Love it.

    • @Gaafet
      @Gaafet 14 днів тому

      I mean I imagine the humble assembly programmer as a farmer, his work is concrete and down to earth. In contrast to the city folk programming in high level languages, very up in the air, abstract work. IDK

  • @fluxfaze
    @fluxfaze 22 дні тому

    Having first learned to program an HP-41CX, it was an easy transition to assembly language coding when I finally started university studies in computer science. And both helped me tremendously during language-unspecific coding tests (usually veiled as non-programming tasks) during job interviews.

  • @D92Torre
    @D92Torre 2 місяці тому

    That's so brilliant, insightful and delightful. I had come to timidly try to learn something about Assembly, like a lost explorer begging with hat in hand, I received 100 times more. For free. Thank you Kay.

  • @johnc4929
    @johnc4929 21 день тому +1

    I only heard your first few words…. Subscribed!!! I am a longtime masm fan…

  • @fernandoochoaolivares8829
    @fernandoochoaolivares8829 28 днів тому

    Great way of teaching how to code, rarely I find a channel such as yours.

  • @andrewmckay8929
    @andrewmckay8929 2 місяці тому +45

    "The XZR register can store any number of any precision, to any size so long as it's zero" made me lol. I feel like I might be the only person ;-D

    • @eamgael
      @eamgael 2 місяці тому +3

      that also got me!

    • @whataboutthis10
      @whataboutthis10 Місяць тому

      Yeah although I was also wondering if it has a function nonetheless.
      Like is it just fixed at 0, or can you actually try saving some value in it - and the program only continues if the said value was 0 and errors otherwise or something

    • @andrewmckay8929
      @andrewmckay8929 Місяць тому

      @@whataboutthis10 hehe I mean you could get a number other than 0 in there by error sometimes, because of things like manufacturing errors (which should be picked up through assembly line testing) or a solar flare, quantum physics type stuff which is way beyond my mind. Look up Row Hammer if you're interested in real world stuff related to that.
      But yeah it's for storing zero. I do think though technically possible in terms of how chips are manufactured it'd be an error that would stop proper operation and probably cause things to crash.

  • @XPbIM3
    @XPbIM3 2 місяці тому +2

    Actually love the asmC and Cpython interactions, those seems like a very powerful and performing tandems when needed.

  • @saidmouhoun1557
    @saidmouhoun1557 2 місяці тому +1

    I had a chance to learn asambly on UNi. It was a course using x86 asm.
    The course was critizie because who need asm in the 2000's when there is C / C++ / pascale and othe programming langage.
    But i am happy that they stuck to it.
    Asmambly help you understand how computer works and give you full power and freedom.
    I didn't use it much since these years but your video made me so happy.
    More of that please.

  • @EvilCoffeeInc
    @EvilCoffeeInc Місяць тому

    This tool is really fascinating! I've decided to follow along with 0DE5 and I think I may run this on my old 386 laptop, for the fun of it. It'll add to the charm, I think, to run it on a machine that runs DOS out of the box.

  • @MattJoyce01
    @MattJoyce01 2 місяці тому +1

    It's been a very long time since I dabbled with ASM (6502), but I still use the phrase 'pop the stack', often in highly digressed meetings or conversations. Good job.

  • @Ardbarg
    @Ardbarg Місяць тому +1

    This just seems like a very kind channel

  • @LouisEmery
    @LouisEmery Місяць тому +1

    I learned this in 1978 when they were still giving courses like this. But I threw away my old books 40 years ago. Now I have something to show my kids.

  • @philmcgroin
    @philmcgroin 2 місяці тому +4

    Reminds me of reading +ORC cracking tutorials and iczelion's asm tutorials back in the day. Thanks for the nostalgia 😊

  • @MatthewJohnCrittenden
    @MatthewJohnCrittenden Місяць тому

    Fantastic. Last time I got into coding this deep was on an Acorn Electron. I have no intention of returning (I'm software engineering for a living and have no desire to do anything deeply techie with my spare time) but loved the refresher. Have a sub and more power to you.

  • @oli1181
    @oli1181 Місяць тому +2

    I would like enough life to realistically add this to the list of things I would love to learn

  • @maxmuster7003
    @maxmuster7003 3 місяці тому +3

    Now i learned some ARM assembly. Good work.

  • @K9Megahertz
    @K9Megahertz 3 місяці тому +57

    Great video! Old hat for me, but I do feel that every software engineer should have a basic understanding of this stuff. It'll give you a much better understanding of why things work they way they do.

  • @model.citizen.ps3
    @model.citizen.ps3 Місяць тому +3

    Love this video - I've recently been getting back into assembly due to my interest in the Playstation 3 and it's PowerPC based CPU (the CELL Broadband Engine). The architecture is heterogeneous using one master "PPU" core (a PPC970) along with 8 "SPE" accelerator cores, which are designed for SIMD (single instruction, multiple data) vector/matrix mathematics. The PPU and SPUs use different instruction sets & compilers, which does complicate development just a bit. Also, the architecture only has very basic branch prediction (and no out-of-order execution), which necessitates some micro-management of the cache by the programmer in the form of "hinting" instructions. Most CELL programming is done in C but all of the SIMD functions one uses for optimal performance are actually these things called "intrinsics" which are C functions which correspond 1:1 with individual assembly instructions and can (generally) be easily identified in disassembled code using a debugger. Anyway, learning about how the CELL works at the lowest levels has brought me much joy these past few years and your video about assembly inspired me to share my own passion for the subject with your community. I'm following your channel now so do keep up the great work! 🙂
    By the way, if you have the time I would very much value your feedback on my own "creative" efforts in this space. I do have a UA-cam channel (dedicated to the PS3/CELL platform) as well as a website - www.ps3linux.net - the main purpose of which is to share and preserve what resources I've been able to accumulate related to Linux on the Playstation 3 and Cell Broadband Engine development. Thanx!

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Oh super interesting! I've always wondered why PS3 games never get ported forward and I guess maybe that interesting architecture is part of why. Those intrinsics sound fun to play with. You're now on my watchlist :)

  • @TotallyURGrandpa
    @TotallyURGrandpa 2 місяці тому +3

    I need so much more of this "Just Enough of ____" series

  • @DeadCat-42
    @DeadCat-42 Місяць тому

    When I was 12 or so I was trying to write games on my 6502 Atari, I couldn't afford an assembler (It took years of saving to get the used atari) so I would write out a list of opp codes hex and decimal equivalents, a table for the stack registers interrupt settings etc. and I would "compile" my code at first just adding short bits of assembly code in my BASIC programs usually in the TV vertical blank interrupt period. I wish I had found this way back then. Thank you for showing it to me.

  • @TricksterJ97
    @TricksterJ97 Місяць тому

    I learned 8080 and 6502 machine and assembly language in a general electronics class in the mid Eighties, as part of my first degree, in physics. It was a really good lesson in how computers work, with very little abstraction.

  • @notgiven3114
    @notgiven3114 Місяць тому

    I LOVE your channel, and am extremely happy to have stumbled upon it.

  • @glutton404
    @glutton404 2 місяці тому +3

    This is so good. I'm leaving a comment to hopefully boost the engagement for the YT algorithm lol

  • @vintagekyoshodotcom
    @vintagekyoshodotcom Місяць тому

    I wish I knew of side app. That makes sense. Amazing! More please!

  • @Humble_Electronic_Musician
    @Humble_Electronic_Musician 3 місяці тому +2

    You got great presentation and teaching skills.
    Thank you for creating this awesome content!

  • @JoeyTillman
    @JoeyTillman 2 місяці тому

    great delivery on the zero register joke, saw it coming and still lol'd. Great content, thank you, keep it up!

  • @twylo
    @twylo 3 місяці тому +1

    This is amazingly cool! I wish I'd stumbled across this tool back when I was first trying to learn x86 assembly.

  • @Gersberms
    @Gersberms 3 місяці тому +2

    I've always loved the idea of writing assembler. I play games that have toy versions of assembler. But reading some more realistic assembler and thinking about the different architectures, I'm now more grateful of C than ever!

    • @nathanngqwebo2108
      @nathanngqwebo2108 2 місяці тому

      Gers, have you played Turing Complete? What other similar games do you know of?

    • @Gersberms
      @Gersberms 2 місяці тому

      @@nathanngqwebo2108 I have bought and played TIS-100, Shenzhen I/O, Exapunks, Last Call BBS, Human Resource Machine, 7 Billion Humans. The developers of Turing Complete and ABI-DOS have contacted me to test their games. It's very different from assembler but a ton of fun. I've not actually played Turing Complete a lot so I've got to reinstall it and play it more for sure.

    • @Psychospheres
      @Psychospheres 2 місяці тому

      @@nathanngqwebo2108 Checkout Shenzhen I/O and TIS-100. Both are made by Zachtronics and are basically like OP said, toy versions of assembler. It was my introduction to assembly back in 2016.

  • @petercowling6769
    @petercowling6769 Місяць тому

    Thanks! 0x80 is, indeed, ignored. It is just legacy at this point.

  • @GavinM161
    @GavinM161 Місяць тому

    This was an elegant and instructive video, thank you very much. I remember writing a TSR utility probably three decades ago to work in MS-DOS and this brought some of that back.
    Unfortunately, I VERY much doubt a modern software developer has any clue (or even a desire to learn) something as fundamental as this.
    Loved the description of the Zero Register :-)
    And who writes anti-tiger escape routines in assembly language these days anyway!
    BTW - very soothing voice and tone. Far too much shouting on a lot of tutorials. Reminds me of Ben Eater's relaxed style.

  • @mohammadpartovi1813
    @mohammadpartovi1813 2 місяці тому

    Great work. Keep it coming. What real programmers should know...

  • @galactic_fx
    @galactic_fx 2 місяці тому

    absolutely loving your new low level videos, please please please don’t burn out!!! these are amazing videos. ❤️❤️

  • @hello_world_787
    @hello_world_787 3 місяці тому +3

    This is absolutely invaluable

  • @caesare1968
    @caesare1968 Місяць тому

    Excellent video, much obliged for your sharing your expertise, love you my dear, you made my day!!

  • @yudistrange
    @yudistrange Місяць тому +1

    I always wondered why a `do-while` loop exists when there are while and for loops. Now I know! Thanks!

    • @AutoFirePad
      @AutoFirePad Місяць тому +1

      do-while executes one iteration no matter the condition... no standard loops in asm though.

  • @justafreak15able
    @justafreak15able 3 місяці тому

    This is an amazing video. My brain can't ingest all this information right now. I will comeback and watch it again. Amazing content for sure.

  • @antonio_carvalho
    @antonio_carvalho 2 місяці тому +23

    Mind is so blown that it has set the carry flag.

  • @Luka-lm1pr
    @Luka-lm1pr 2 місяці тому +2

    amazing video :)
    as a sidenote, you’d make an awesome audiobook reader!!

    • @neoeno4242
      @neoeno4242  2 місяці тому +1

      Thanks! Though I might need to work on getting the recordings done in fewer takes 🤣

  • @amuseern
    @amuseern 2 місяці тому

    I maitained a flight simulator, built in the 70's, where the software was written in mnemonic code. Coding was very efficient and fast on the 1MHz the 12bit machine. The simulator was upgraded around 2009 where a PC emulated the hardware, the software remained the same. It would be interesting to see how well compilers convert high level languages into assembler, for instance, does if/else statements produce the same code as the switch statement. There is a lot of enthusiasm for 'clever' high level languages but does it make the compiled code more or less efficient! Great stuff and very well presented, thanks 😊

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Now that sounds like a cool project! Thanks for the comment :)

  • @itso6778
    @itso6778 2 місяці тому +6

    not only do you explain the concept but also give examples?? This is actually so beautiful

  • @6AxisSage
    @6AxisSage 2 місяці тому

    I found a programming language for the brain and its taken me here, thanks! He will teach me how to teach geometric cognition

  • @timnewsham1
    @timnewsham1 2 місяці тому

    I love this video and its follow up! I'm not your target audience, but found it very enjoyable anyway, and already shared it with a few people who program but dont know assembly.
    One note is that the videos cover basic concepts very well but also at a very fast pace. I think your on screen graphics are great for people to pause and ponder to fully grasp what is going on. But I also think it might capture more of your intended audience if it took a slower pace in places.
    Please keep doing what you're doing. this is amazing!

    • @neoeno4242
      @neoeno4242  2 місяці тому

      Appreciate it @timnewsham1 - the pace is probably the #1 thing I think about so this feedback is really useful. Thanks!

  • @randomsearches369
    @randomsearches369 3 місяці тому +1

    I am indebted to you for your contributions. Thank you, dear!

  • @kevinmccallister7647
    @kevinmccallister7647 3 місяці тому +1

    this is the perfect course I was looking for, amazing work! Please keep going

  • @Digitalgems9000
    @Digitalgems9000 Місяць тому

    i got some cool programming shorts on my channel but nothing like this haha. you are one smart cookie

  • @mikebernard8535
    @mikebernard8535 2 місяці тому

    Great explanation and nice visual style!

  • @woddenhorse
    @woddenhorse 2 місяці тому

    Exactly when I started learnng assembly this dropped!! Nice one.
    Please do make few ones on the RISC-V

  • @SELECT289
    @SELECT289 Місяць тому

    I remember downloading a program on IRC chat on my Pentium 75 mhz which was coded in assemply and it showed a giant earth in SVGA graphics bouncing around the screen and it was that moment that I realized assembly is actually magic.

  • @bananaear23
    @bananaear23 3 місяці тому

    I wish I could learn coding directly from you. Start with C and work my way up

  • @shark3D
    @shark3D Місяць тому

    as somewhat of a dolphin who watched the whole video rewinding here and there, I wonder if you've played a game called "human resource machine" which visually teaches a very assembly like way of solving puzzles! it's quite joyful how they've managed to teach a lot of the basic concepts without making things too heavy!

  • @90make
    @90make Місяць тому

    Dolphins are becoming increasingly abundant in our time. I'm glad that there are still unicorns.

  • @leonplis9926
    @leonplis9926 Місяць тому

    lt blew my mind, loved every second of it.

  • @user-nd7rg5er5g
    @user-nd7rg5er5g 2 місяці тому +3

    This video was witty, funny, touching, and educational. I don't think I understood assembly (mea culpa), but I thoroughly enjoyed this video. I know more now than I did before.

  • @akepamusic
    @akepamusic 2 місяці тому

    Great stuff :) these videos have such a great format!

  • @isaiasprestes
    @isaiasprestes 3 місяці тому

    Oh my! I love this channel! Thanks for sharing! Great job!

  • @sophiebosio8171
    @sophiebosio8171 Місяць тому

    This was really fantastic! Thank you 🙌

  • @df29208
    @df29208 3 місяці тому

    I generally watch on a Roku/TV - I think the vids are more appreciated on a computer/laptop. Wonderful job with the little "hand pointers", as a somewhat mature person a bigger font and less on the screen, and/or a weather person like pointer or 'red dot', to bring your eyes to the right place, or a yellow 'hallow' circle.

    • @neoeno4242
      @neoeno4242  3 місяці тому

      Thanks! I do think pointing is pretty important - almost impossible to teach without pointing in real life 👉

  • @burntt999
    @burntt999 2 місяці тому

    13:24 oh i'm only here in physical form ma'am, my mind is still WAY back there. (j/k i've seen a good bit of assembly instructions before.) i'm just going to have to find a copy of this magical program to play it over and over again to really get it burnt in my head.

  • @jcherreram
    @jcherreram 2 місяці тому

    Amazing video! Kudos from Chile

  • @dorsetengineering
    @dorsetengineering Місяць тому +2

    The algorithm sent me here, and I’m glad it did. Earned a new sub, you have great content.

  • @xdnewsman7408
    @xdnewsman7408 2 місяці тому

    I didn't even know I wanted to learn assembly, but now I'm kinda curious. Did some way back when, but yeah, this looks as close to magic as programming does cD

  • @jonsoons
    @jonsoons Місяць тому +1

    The dolphin passage comes from a book called "Assembly Language Step-byStep" by Jeff Duntemann. Now I strongly suspect that it was he who also wrote Ketman.

  • @rfguys2206
    @rfguys2206 Місяць тому +2

    Ahhh, all those ancient programming languages that I came across during my college years: Pascal , Fortune , Assembley

  • @dplastico
    @dplastico 3 місяці тому +3

    love your videos!

  • @arianaponytail
    @arianaponytail 2 місяці тому

    This is so helpful and interesting! Thanks so much for this

  • @brokensythe
    @brokensythe 2 місяці тому

    Fantastic video, keep up the good work

  • @goob8945
    @goob8945 Місяць тому

    Fantastic video

  • @LosPatMoritas
    @LosPatMoritas Місяць тому

    Thank you so much for this tutorial, it's amazing < 3

  • @MarianneExJohnson
    @MarianneExJohnson Місяць тому +1

    According to the instruction set docs Google found for me, the parameter of the svc function does indeed not do anything. The reason it's there is that the svc handler can retrieve it and use it as a function selector -- which Apple platforms apparently don't do. It's a bit reminiscent of the way software interrupts work on the 68k, where all opcodes starting with A caused an interrupt to the A-line interrupt handler, and the interrupt handler would then look at the lower 12 bits of the opcode to decide which system call was being requested.
    BTW I can't help but suspect that "goto considered harmful" inspired the decision to omit goto from the Java programming language. I personally disagree with that decision, I think goto has legitimate uses even within structured programming. Lucky for me I mostly program in C and C++.
    Nice tutorial! I'm not new to assembly language programming but my experience is mostly 6502 and 68k. It's neat to get a little taste of x86 and ARM at last.

  • @bawol-official
    @bawol-official 21 день тому

    This is art

  • @EndingSimple
    @EndingSimple 2 місяці тому +2

    I mastered IBM 360 assembler language enough to make a FORTH interpreter for it. (Don't ask me why that was a good idea. I don't know). But for some reason, 8086 assembly broke my brain.

  • @nihil2501
    @nihil2501 22 дні тому

    very well done, this video

  • @cellularmitosis2
    @cellularmitosis2 3 місяці тому

    These videos are so good!

  • @emmm_5787
    @emmm_5787 2 місяці тому +3

    Ketman? Thought you said ketamine 🙃!! Guess there’s no shortcut pill to being a good programmer 😂😂

  • @georgioskoutelas7192
    @georgioskoutelas7192 22 дні тому

    i like the debugger next to the code reminds me a little bit of Turbo debugger but made in a simpler way

  • @David-jq7uw
    @David-jq7uw 17 днів тому

    Great video. Thanks for uploading. Subscribing.

  • @maxmuster7003
    @maxmuster7003 3 місяці тому +1

    In MS DOS we can use a lot of functions of DOS, the mainboard bios and the graphic bios. For calling these function we can use software interrupts with an interrupt number and with some prepared register. And there is a table of interrupt numbers online based on Ralph Browns interrupt list html version with the description how to use these interrupts.

  • @MarianoBustos-i1f
    @MarianoBustos-i1f 3 місяці тому +1

    Babe, wake up! new Kay video dropped

  • @maxmuster7003
    @maxmuster7003 3 місяці тому

    A program for MS DOS can act with the outside world with system calls and additional can access all hardware components directly without to get a message of a protection violation, because MS DOS is not running in the protected mode of the CPU like other OS do. This is a significant difference. Example we can use a DOS function for output a string and we can write the bytes of the string directly into the screen memory without using a DOS or BIOS function.

    • @neoeno4242
      @neoeno4242  3 місяці тому +1

      The good old days. Nice addition - thanks for commenting!

  • @djpremier333
    @djpremier333 Місяць тому

    Great content thanks!

  • @og_glitchpop
    @og_glitchpop 2 місяці тому +1

    Thank you for these amazing videos. I've never formally studied comp sci so I always feel like I'm missing the fundamentals. Also I assume you've come across Forth? If not you might love it.

    • @neoeno4242
      @neoeno4242  2 місяці тому +1

      You know I very nearly made a Forth-like stack language in assembly for the "Fast and Beautiful Assembly" video I posted the other day! Didn't quite make the cut though but you're right - love some Forth :) Will touch on properly in the next video which is focused on the stack.

    • @og_glitchpop
      @og_glitchpop 2 місяці тому

      @neoeno4242 from where I'm standing thats very impressive.

  • @YarisTex
    @YarisTex Місяць тому

    Cool example but that loop is a recipe for disaster. You have a couple of push instructions. If that loop runs enough times you’re gonna blow up the stack and the machine will lock up with a stack overflow. Every push to the stack must have an equal number of pop instructions that will restore the stack to the original starting address. If one needs a value that is buried inside the stack you use BP and calculate where it is to get the value.
    Otherwise, I always approve x86 16bit assembly videos!

  • @jikd0
    @jikd0 3 місяці тому +2

    Yay! I love your videos

  • @feff6754
    @feff6754 Місяць тому +1

    My mind was blown when I learned mov is an alias for bitwise OR 🎉🤯

  • @JonJenkins1982
    @JonJenkins1982 Місяць тому

    “svc 80” is a software-based interrupt, the equivalent in x86 land is INT 0x80.