- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 25
汇编语言期末复习资料整理
第二章
1、寄存器组
(1)通用寄存器
数据寄存器
EAX(32位) AX(16位) AH(8位)(高位) AL(8位)(低位)累加器
EBX(32位) BX(16位) BH(8位)(高位) BL(8位)(低位)基址变址
ECX(32位) CX(16位) CH(8位)(高位) CL(8位)(低位)计数器
EDX(32位) DX(16位) DH(8位)(高位) DL(8位)(低位)数据
指针或变址寄存器
ESP(32位) SP(16位) 堆栈指针寄存器
EBP(32位) BP(16位) 基址指针寄存器
EDI(32位) DI(16位) 目的变址寄存器
ESI(32位) SI(16位) 源变址寄存器
(2)专用寄存器
EIP(32位) IP(16位) 指令指针寄存器
EFLAGS(32位) FLAGS(16位) 标志寄存器
ESP (32位) SP(16位) 堆栈指针寄存器
2、标志位的符号表示、
标志位
标志为1
标志为0
OF 溢出(是/否)
OV
NV
DF 方向(减量/增量)
DN
UP
IF 中断(允许/关闭)
EI
DI
SF 符号(负/正)
NG
PL
ZF 零(是/否)
ZR
NZ
AF 辅助进位(是/否)
AC
NA
PF 奇偶(偶/奇)
PE
PO
CF 进位(是/否)
CY
NC
3、段寄存器
CS(16位)代码段 DS(16位)数据段
SS(16位)堆栈段 ES(16位)附加段
4、段寄存器和相应存放偏移地址的寄存器之间的默认组合
段
偏移
CS
IP
SS
SP或BP
DS
BX、DI、SI或一个16位数
ES
DI(用于串指令)
第三章
1、七种寻址方式(举例)
立即寻 MOV AX,3069H
寄存器寻 MOV AL,BH
在内存中的五种寻址
直接寻 MOV AX,[2000H]
寄存器间接寻 MOV AX,[BX]
寄存器相对寻 MOV AX,COUNT[SI] 或者 MOV AX,[SI+COUNT](不推荐)
基址变址寻址 MOV AX,[BP][DI]
相对基址变址寻址 MOV AX,MASK[BX][SI]
2、指令系统
数据传送指令
通用数据传送指令
MOV 传送
MOVSX 带符号扩展传送
用源操作数的符号位来填充目的操作数的高位数据位。
例:MOVSX EAX,CL
把CL寄存器中的8位数,符号扩展为32位数,送到EAX寄存器中。
MOVZX 带零扩展传送
恒用0来填充目的操作数的高位数据位
例:MOVZX DX,AL
把AL寄存器中的8位数,零扩展成16位数,送到DX寄存器中。
PUSH 进栈
入栈时高位字节先入栈,低位字节后入栈。
SP指向栈顶。
POP 出栈
以“先进后出”方式工作。
SP指向栈顶
PUSHA/PUSHAD 所有寄存器进栈
PUSHA(16位):进栈次序为:AX,CX,DX,BX,SP,BP,SI,DI
PUSHAD(32位):进栈次序为:EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI
POPA/POPAD 所有寄存器出栈
POPA(16位):出栈次序为:DI,SI,BP,SP,BX,DX,CX,AX
POPAD(32位):出栈次序为:EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX
XCHG 交换
例:XCHG AX,BX 交换AX与BX中的数据
累加器专用传送指令
(只限于使用累加器)
IN 输入
例:IN AX,28H
MOV DATA_WORD,AX
把端口28的内容经过AX传送到存储单元DATA_WORD中。
OUT 输出
例:OUT 5,AL
从AL寄存器输出一个字节到端口5。
XLAT 换码
地址传送指令
LEA 有效地址送寄存器
LDS 指针送寄存器和DS
LES 指针送寄存器和ES
LFS 指针送寄存器和FS
LGS 指针送寄存器和GS
LSS 指针送寄存器和
文档评论(0)