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?
Asked
Active
Viewed 3,365 times
-2

Peter Cordes
- 328,167
- 45
- 605
- 847

chunjiw
- 1,093
- 9
- 20
-
2Note 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
-
1from 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 Answers
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
-
5you should read the documentation from the language standard or the assembler, not a book – phuclv Jan 29 '19 at 02:02