• Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    31
    ·
    1 month ago

    Yeah, it’s intentionally obscure. Basically, x86 assembly code is a way of telling a processor what to calculate, at a very low level.
    So, it’s similar to programming languages, but those actually get translated into x86 assembly code, before it’s told to the processor. (“x86” is a certain processor architecture. Others exist, too, most prominently “ARM”.)

    But yeah, even with me knowing that much, I’d need to guess what ret and int3 might do.

    Everyone knows jmp and nop, though, of course. 🙃

      • mormegil@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        1 month ago

        Int3 is a special single-byte (CC, if I recall correctly) form of the INT instruction (which is CD imm8, I think) to raise an interrupt. Interrupt #3 is the debugging interrupt, so by overwriting any instruction with CC, you place a breakpoint there.

    • cows_are_underrated@discuss.tchncs.de
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      That’s the exact same thing. x86 Assembly Code isn’t that hard(to know what it is, understanding it is something different),but I havent heard of the other stuff.