16位汇编语言寄存器及指令整理
2016-06-17 13:37
891 查看
第一次写博客,有点小紧张~
传送-填充指令 MOVSX/MOVZX
交换指令 XCHG
进栈操作指令 PUSH,PUSHA(80286+),PUSHAD(80386+)
出栈操作指令 POP,POPA(80286+),POPAD((80386+))
转换指令 XLAT
取有效地址指令 LEA
取段寄存器指令 LDS
字节交换指令 BSWP
带进位加法指令 ADC
加一指令 INC
交换相加指令 XADD
带错位减(目的操作数-源操作数-标志位CF) SBB
减一指令 DEC
求补指令(改变正负) NEG
2. 有符号数乘法指令 IMUL(80286-)同上
2. 有符号数的除法指令IDIV
字->双字 CWD:AX符号位->DX
字变双字CWDE;80386+:AX符号位->EAX
双字->四字:CDQ;80386+:EAX->EDX
逻辑或 OR
逻辑非 NOT
逻辑异或 XOR
逻辑移位指令(补零) SHL/SHR
循环右移指令(带进位) ROL/ROR
寄存器
通用寄存器
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 |
除法指令
无符号数除法指令 DIV除数位数 | 隐含被除数 | 商 | 余数 | 例子 |
---|---|---|---|---|
8位 | AX | AL | AH | DIV BH |
16位 | DX-AX | AX | DX | DIV BX |
32位 | EDX-EAX | EAX | EDX | DIV ECX |
类型转换指令
字节->字 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 | 封锁 |
相关文章推荐
- 汇编语言无效指令错误概述
- 汇编语言超浓缩教程
- C 语言内嵌汇编栈指针问题
- 初学汇编语言的几个练习题
- 算法效率分析
- 下资源网站”逆向工程,软件破解学习资料汇总
- 怨念。怎么就一直待审核呢
- 汇编语言Day_01:汇编中常用的寄存器简单介绍
- 汇编语言的Hello world程序
- X86编译学习
- 《汇编语言》-王爽-第三版-读书笔记-前言
- 麻省理工大学XV6操作系统赏析(用户态的实用工具)
- Hello World 汇编语言版
- 汇编语言 之 除法溢出问题
- 汇编语言王爽 实验10.1
- 汇编语言 课程设计2 之时间设置改进篇
- C语言综合研究与高强度程序设计训练 2
- 汇编语言寻址方式在结构化数据访问中的应用
- 学习汇编语言时DOS环境的搭建
- 王爽《汇编语言》(第3版) 实验七