linux 之 匯編語言 的mov和movl sub 和subl add 和addl 的區別??


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位的操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM