-2

I understand that movb is move byte, movw is move word, movq is move quad word. movl is move double word, but what does the l stands for?

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
chunjiw
  • 1,093
  • 9
  • 20
  • 2
    Note that this depends on the architecture and the assembler you use. – fuz Jan 28 '19 at 23:03
  • [Assembly mov instruction without suffix](https://stackoverflow.com/q/52594200/995714), [GNU AS: movl (%eax), %eax](https://stackoverflow.com/q/6819957/995714), [mov instruction in x86 assembly](https://stackoverflow.com/q/5890724/995714) – phuclv Jan 29 '19 at 02:01
  • 1
    from GNU `as`: [*Instruction mnemonics are suffixed with one character modifiers which specify the size of operands. The letters ‘b’, ‘w’, ‘l’ and ‘q’ specify byte, word, long and quadruple word operands*](https://sourceware.org/binutils/docs/as/i386_002dMnemonics.html#Instruction-Naming). Also [Solaris assembler document](https://docs.oracle.com/cd/E19253-01/817-5477/817-5477.pdf), https://reverseengineering.stackexchange.com/q/2627/2563, https://en.wikipedia.org/wiki/X86_assembly_language#Syntax, https://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax#Operation_Suffixes – phuclv Jan 29 '19 at 16:56

1 Answers1

3

According to Computer System: A Programmer's Perspective, page 215, it means "long" since

32-bit quantities are considered to be "long words"

chunjiw
  • 1,093
  • 9
  • 20
  • 5
    you should read the documentation from the language standard or the assembler, not a book – phuclv Jan 29 '19 at 02:02