What does NOPL do in x86 system?

前端 未结 3 1215
死守一世寂寞
死守一世寂寞 2020-11-27 18:35

what is the function of NOPL in x86 machine? It feels like it doesn\'t do anything, but why is it always in the assembly code?

3条回答
  •  醉梦人生
    2020-11-27 19:08

    NOP is a one-byte "do nothing" operation, quite literally "no operation". NOPW, NOPL, etc.. are the equivalent do-nothings, but take up word and long-sized bytes.

    e.g.

    NOP // 1byte opcode
    NOP // 1byte opcode
    

    is equivalent to doing

    NOPW // 2byte opcode.
    

    They're very handy for padding things out so a code sequence begins on a particular memory boundary, by taking up a few bytes of instruction space, yet not actually doing anything.

    NOP's sole effect on the CPU is to increment IP/EIP by 1. The NOPx equivalents will do so by 2, 4, etc...

提交回复
热议问题