How to Learn Assembly Language (And Why)

แชร์
ฝัง

ความคิดเห็น • 22

  • @tylerhou
    @tylerhou 4 หลายเดือนก่อน +12

    I am surprised that you think that RISC-V is more complex than LC3. The RISC-V core instruction set is IMO conceptually simpler; branch instructions take explicit conditionals (they don’t rely on a flag); jump and link specify a destination register; there are no indirect loads and store (because load + load/store does the same thing), and there is real RISC-V hardware that you can actually run your code on.

    • @joebulfer
      @joebulfer  4 หลายเดือนก่อน +3

      I actually don't know much about RISC-V. I know LC-3 is much simpler compared to something like x86 but if RISC-V is as simple as you say, perhaps it wouldn't be a bad idea to learn it immediately rather than LC-3.

  • @frustratedalien666
    @frustratedalien666 4 หลายเดือนก่อน +4

    The base integer RISC-V ISA (RV32I or RV64I), the part that must be present in every RISC-V implementation is very easy to learn. You don't need to bother with the optional extensions if your goal is just to learn assembly language. If you look at RISC-V microcontrollers and ignore the microprocessor variants, the RV32E is even easier to learn, since it is a subset of RV32I. So, you could pick up a $5 microcontroller and actually practice writing some small assembly code to do real things.
    While I like the Introduction to Computing Systems book, I am not a huge fan of learning toy languages/architectures when equally simple but real languages/architectures exist. Pseudo code was one of the things I hated the most while learning computer science, and though I have tempered my stance over the years, I still prefer playing around with real systems. I learned assembly on 8051 and 8085, so this might be my bias.

  • @pgrvloik
    @pgrvloik 4 หลายเดือนก่อน

    I mostly started learing programming by learning Z80 assembler in the early 80's as I was in high school (by myself at home).
    It was great to have a real understanding of how a computer really works but I never had to use assembly in my various jobs (mostly because I don't work in embedded systems I guess).

  • @rajughorai7483
    @rajughorai7483 4 หลายเดือนก่อน

    Thanks for some great resources.

  • @thembelssengwayo6896
    @thembelssengwayo6896 หลายเดือนก่อน

    You have presented poor argument into discouranging people from learning any assembly language. Why? do you not want people to learn whatever they choose to learn in assembly languages. You seem to know more in assembly but what to discourage ppl from doing so, why? The average computer enthusiast or student will NOT dissuaded by you not to learn anything, unless you have a very strong an convincing rational to discourage them from learning anything. Learning is not a nice excerse so a person had decided to had alread acquired a surmountable amount force drive to learn and can not be easily be dissolutioned by any random folk on TH-cam.

    • @joebulfer
      @joebulfer  หลายเดือนก่อน

      @@thembelssengwayo6896 Sure, it's just my opinion. Learning any assembly language is great, this is just my case for LC-3.

  • @arf20
    @arf20 4 หลายเดือนก่อน +4

    How about MIPS?

    • @joebulfer
      @joebulfer  4 หลายเดือนก่อน

      They transitioned to Risc-v.

  • @probrickgamer
    @probrickgamer 3 หลายเดือนก่อน

    I want to learn assembly so I can reverse engineer things. Is this advice good for that?

  • @mattiasamiolo5277
    @mattiasamiolo5277 4 หลายเดือนก่อน

    Thanks you buddy!

  • @mes2009
    @mes2009 11 วันที่ผ่านมา

    Is there any benefit to learning assembly language for today, for example 6502?

    • @joebulfer
      @joebulfer  10 วันที่ผ่านมา

      Knowing how a computer really works is valuable. I'm not familiar with that exact microprocessor but RISC-V may be a simple and valuable thing to learn as other comments mention. RISC-V is a very modern new thing as well.

  • @manishgautam2424
    @manishgautam2424 4 หลายเดือนก่อน

    i have joined you and now it is up to you ,I want to learn

  • @paulkanja
    @paulkanja 4 หลายเดือนก่อน

    After LC3, I'd probable advocate for 6502 Assembly

  • @ArnabJhaYT
    @ArnabJhaYT 4 หลายเดือนก่อน +1

    What are the advantages of learning assembly for a C++, Go dev? I know a bit of Qt, Game dev and web dev.

    • @joebulfer
      @joebulfer  4 หลายเดือนก่อน

      Occasional optimization or debugging scenarios where you have to use a disassembler, not super frequent, but possible. Gives you a better appreciation and understanding of computers. Heres a good reddit thread on this
      www.reddit.com/r/asm/comments/p5d9tf/why_should_i_learn_assembly/

    • @gwentarinokripperinolkjdsf683
      @gwentarinokripperinolkjdsf683 4 หลายเดือนก่อน

      honestly, normally reading compiler output to understand how to write more optimized C++ code, it's very rare you'd actually use it but if you ever do have to do it to solve something very critical, you can

  • @stevejustin
    @stevejustin 4 หลายเดือนก่อน

    and z80

  • @CaioCromos
    @CaioCromos 4 หลายเดือนก่อน

    i learned assembly in college last year. i dont know how to program in assembly.

    • @frustratedalien666
      @frustratedalien666 4 หลายเดือนก่อน

      In all honesty, you don't really need to know it unless you are working on specific domains. I used to know 80386 assembly really well 18 years ago, but I couldn't write a functioning program today. Still, some of the things I learned have stuck with me and I can read/understand x86 assembly code if I see it today. I have used assembly language exactly 0 times in my professional life in the last 15 years.