寄存器与cmp,mov,add,sub,IMUL指令


一,寄存器

  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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM