16位汇编语言寄存器及指令整理(小结)

寄存器

通用寄存器

8位寄存器16位寄存器32位寄存器寄存器名称
AH,ALAXEAX累加寄存器
BH,BLBXEBX基地址寄存器
CH,CLCXECX计数器寄存器
DH,DLDXEDX数据寄存器
SIESI源变址寄存器
DIEDI源目标寄存器
DH,DLDXEDX基地址寄存器
DH,DLDXEDX栈顶寄存器

段寄存器

标号名称
CS代码段
DS数据段
SS栈段
ES附加数据段
GS,FS附加数据段(+80386)

专用寄存器

标号名称
IP,EIP指令指针
FlagsEFlags

微机CPU指令系统

数据传送指令

  1. 传送指令 MOV
  2. 传送-填充指令 MOVSX/MOVZX
  3. 交换指令 XCHG
  4. 进栈操作指令 PUSH,PUSHA(80286+),PUSHAD(80386+)
  5. 出栈操作指令 POP,POPA(80286+),POPAD((80386+))
  6. 转换指令 XLAT
  7. 取有效地址指令 LEA
  8. 取段寄存器指令 LDS
  9. 字节交换指令 BSWP

算数运算指令

加法指令

  1. 加法指令 ADD
  2. 带进位加法指令 ADC
  3. 加一指令 INC
  4. 交换相加指令 XADD

减法指令

  1. 减法指令 SUB
  2. 带错位减(目的操作数-源操作数-标志位CF) SBB
  3. 减一指令 DEC
  4. 求补指令(改变正负) NEG

乘法指令

  1. 无符号乘法指令 MUL

乘数位数隐含被乘数存储寄存器
8位ALAXMUL BL
16位AXDX-AXMUL BX
32位EAXEDX-EAXMUL ECX

2. 有符号数乘法指令 IMUL(80286-)同上

除法指令

  1. 无符号数除法指令 DIV

除数位数隐含被除数余数例子
8位AXALAHDIV BH
16位DX-AXAXDXDIV BX
32位EDX-EAXEAXEDXDIV ECX

2. 有符号数的除法指令IDIV

类型转换指令

  1. 字节->字 CBW:AL中符号数->AH
  2. 字->双字 CWD:AX符号位->DX
  3. 字变双字CWDE;80386+:AX符号位->EAX
  4. 双字->四字:CDQ;80386+:EAX->EDX

逻辑运算指令

  1. 逻辑与 AND
  2. 逻辑或 OR
  3. 逻辑非 NOT
  4. 逻辑异或 XOR

移位操作指令

  1. 算数位移指令SAL(左)/SAR(右)
  2. 逻辑移位指令(补零) SHL/SHR
  3. 循环右移指令(带进位) ROL/ROR

处理机制指令

指令效果
CLCCF<-0
CMCCF<-{CF}
STCCF<- 1
CLDDF<- 0
STDDF<- 1
CLIIF<- 0
STIIF<- 1
NOP无操作
HLT停机
WAIT等待
ESC换码
LOCK封锁

以上是 16位汇编语言寄存器及指令整理(小结) 的全部内容, 来源链接: utcz.com/z/312193.html

回到顶部