一,寄存器
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