您的位置:首页 > 其它

16位汇编语言寄存器及指令整理

2016-06-17 13:37 891 查看
第一次写博客,有点小紧张~

寄存器

通用寄存器

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指令系统

数据传送指令

传送指令 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位ALAXMUL BL
16位AXDX-AXMUL BX
32位EAXEDX-EAXMUL ECX
2. 有符号数乘法指令 IMUL(80286-)同上

除法指令

无符号数除法指令 DIV

除数位数隐含被除数余数例子
8位AXALAHDIV BH
16位DX-AXAXDXDIV BX
32位EDX-EAXEAXEDXDIV 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

处理机制指令

指令效果
CLCCF<-0
CMCCF<-{CF}
STCCF<- 1
CLDDF<- 0
STDDF<- 1
CLIIF<- 0
STIIF<- 1
NOP无操作
HLT停机
WAIT等待
ESC换码
LOCK封锁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编语言