一,寄存器
x86-64處理器的16個通用寄存器(https://www.jianshu.com/p/57128e477efb)
二,指令
cmp :比較指令(相同取同,不同都取第一個的值)
mov :遷移指令
add :加法指令
sub :減法指令
IMUL:乘法指令
三,指令說明
mov:寄存器,數據
mov:寄存器,寄存器
mov:寄存器,內存單元
mov:段寄存器,內存單元
mov:內存單元,寄存器
mov:內存單元,段寄存器
mov:段寄存器,寄存器
mov:寄存器,段寄存器
add和sub指令同mov一樣,都有兩個操作對象。它們也可以有以下幾種形式:
add 寄存器,數據 比如:add ax,8
add 寄存器,寄存器 比如:add ax,bx
add 寄存器,內存單元 比如:add ax,[0]
add 內存單元,寄存器 比如:add [0],ax
sub 寄存器,數據 比如:sub ax,9
sub 寄存器,寄存器 比如:sub ax,bx
sub 寄存器,內存單元 比如:sub ax,[0]
sub 內存單元,寄存器 比如:sub [0],ax
在 64 位模式下執行 IMUL
在 64 位模式下,IMUL 指令可以使用 64 位操作數。在單操作數格式中,64 位寄存器或內存操作數與 RAX 相乘,產生一個 128 位且符號擴展的乘積存放到 RDX:RAX 寄存器中。在下面的例子中,RBX 與 RAX 相乘,產生 128 位的乘積 -16。mov rax, -4 mov rbx, 4 imul rbx ; RDX = 0FFFFFFFFFFFFFFFFh, RAX = -16
