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

时间:2021-05-21

寄存器

通用寄存器

8位寄存器 16位寄存器 32位寄存器 寄存器名称 AH,AL AX EAX 累加寄存器 BH,BL BX EBX 基地址寄存器 CH,CL CX ECX 计数器寄存器 DH,DL DX EDX 数据寄存器 SI ESI 源变址寄存器 DI EDI 源目标寄存器 DH,DL DX EDX 基地址寄存器 DH,DL DX EDX 栈顶寄存器

段寄存器

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

专用寄存器

标号 名称 IP,EIP 指令指针 Flags EFlags

微机CPU指令系统

数据传送指令

  • 传送指令 MOV
  • 传送-填充指令 MOVSX/MOVZX
  • 交换指令 XCHG
  • 进栈操作指令 PUSH,PUSHA(80286+),PUSHAD(80386+)
  • 出栈操作指令 POP,POPA(80286+),POPAD((80386+))
  • 转换指令 XLAT
  • 取有效地址指令 LEA
  • 取段寄存器指令 LDS
  • 字节交换指令 BSWP
  • 算数运算指令

    加法指令

  • 加法指令 ADD
  • 带进位加法指令 ADC
  • 加一指令 INC
  • 交换相加指令 XADD
  • 减法指令

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

  • 无符号乘法指令 MUL
  • 乘数位数 隐含被乘数 存储寄存器 例 8位 AL AX MUL BL 16位 AX DX-AX MUL BX 32位 EAX EDX-EAX MUL ECX

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

    除法指令

  • 无符号数除法指令 DIV
  • 除数位数 隐含被除数 商 余数 例子 8位 AX AL AH DIV BH 16位 DX-AX AX DX DIV BX 32位 EDX-EAX EAX EDX DIV ECX

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

    类型转换指令

  • 字节->字 CBW:AL中符号数->AH
  • 字->双字 CWD:AX符号位->DX
  • 字变双字CWDE;80386+:AX符号位->EAX
  • 双字->四字:CDQ;80386+:EAX->EDX
  • 逻辑运算指令

  • 逻辑与 AND
  • 逻辑或 OR
  • 逻辑非 NOT
  • 逻辑异或 XOR
  • 移位操作指令

  • 算数位移指令SAL(左)/SAR(右)
  • 逻辑移位指令(补零) SHL/SHR
  • 循环右移指令(带进位) ROL/ROR
  • 处理机制指令

    指令 效果 CLC CF<-0 CMC CF<-{CF} STC CF<- 1 CLD DF<- 0 STD DF<- 1 CLI IF<- 0 STI IF<- 1 NOP 无操作 HLT 停机 WAIT 等待 ESC 换码 LOCK 封锁

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章