linux 之 汇编语言 的mov和movl sub 和subl add 和addl 的区别??

时间:2021-01-17 00:50:57

AT&T汇编语言(Assembly Language)是UNIX下惯用的汇编语言(Assembly Language)各式 l,w,b是ATT汇编语言(Assembly Language)中用来表达操作属性的限定符

l是长字(4字节),
w是双字
b是唯一字节

加在命令的后边
相当于intel中的
dword ptr
word ptr
byte ptr

比如:
subl $8, %esp
leal -792(%ebp), %eax
pushl %eax
movl -796(%ebp), %eax
sall $8, %eax
addl 12(%ebp), %eax
pushl %eax
call _strcpy
addl $16, %esp

在intel 汇编语言(Assembly Language)中就相当于:
sub esp,8
lea eax,dword ptr [ebp-792]
push eax
mov eax,dword ptr [ebp- 796]
...
ATT各式的汇编语言(Assembly Language)和intel编的差别没去外国疑问参看有关AT&T汇编语言(Assembly Language)的书

l的意思为其后进行的操作为32位的操作