寄存器與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