微机原理80x86指令系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编辑ppt
8
第4章 80x86指令系统
RET Data16 在RET的基础上,把SP再加上一个字数据: SP ←SP + Data16
编辑ppt
9
第4章 80x86指令系统
六、处理器控制指令
1. 标志处理指令
CLC 对CF清零, CF ← 0
STC 对CF置位, CF ← 1
CMC 对CF取反,CF← CF
LOOPNZ(LOOPNE) 当不为零或不相等时循环
判断CX是否等于零,不等于零且ZF=0则循环
编辑ppt
6
第4章 80x86指令系统
操作: ① CX ←CX-1 ② 根据判断结果确定是否循环 说明: ① 循环指令不影响状态标志。 ② 如果目标位置的位移量超出Data8所能够表 示的范围,则需要用JMP辅助来完成循环。
ESC (Escape) 换码
该指令是一个交权的指令前缀,把指令给协处理 处理。
一般和WAIT指令一起使用,通过TEST引脚和协
处理器同步。
编辑ppt
11
第4章 80x86指令系统
LOCK (Lock) 封锁 该指令是一个前缀,使得使用此前缀的指令执行 时一直维持总线封锁状态。
3. 空操作指令 NOP (No Operation) 空操作 一个字节的机器码,不执行任何操作,常用在调 试程序时使用。
有符号数还是无符号数。
编辑ppt
5
第4章 80x86指令系统
⑷ 判断CX寄存器
JCXZ: CX=0
3.循环
循环指令的转移也都是段内直接短转移,即 (IP)←(IP)+Data8类型的转移。
LOOP 循环
判断CX是否等于零,不等于零则循环
LOOPZ(LOOPE) 当为零或相等时循环
判断CX是否等于零,不等于零且ZF=1则循环
编辑ppt
3பைடு நூலகம்
第4章 80x86指令系统
2.条件转移
根据判断条件是否成立决定是否转移。按照判 断条件的不同分为以下类型:单个标志、无符号数判 断、有符号数判断、CX寄存器。
条件转移都是段内直接短转移,即 (IP)<=(IP)+Data8类型的转移。
⑴ 判断单个标志
ZF: JZ(JE), JNZ(JNE)
编辑ppt
7
第4章 80x86指令系统
4.子程序调用 CALL 子程序调用指令 用法:CALL dst 说明:由编译程序自动匹配为某种寻址方式 RET 子程序返回指令 用法:RET 段内返回:IP ←[SP], SP ←SP + 2 段间返回:IP ←[SP], SP ←SP + 2,
CS ←[SP], SP ←SP + 2 编译程序自动匹配为段内或段间的返回
⑶ 判断有符号数的大小
助记符中的意义: G:大于,L:小于,E:等于
JL(JNGE): SF xor OF = 1
JNL(JGE): SF xor OF = 0
JLE(JNG):(SF xor OF) and ZF = 1
JNLE(JG):(SF xor OF) and ZF = 0
使用比较大小的指令时,必须区分是
CLD 对DF清零,DF ← 0
STD 对DF置位,DF ← 1
CLI
对IF清零,IF ← 0
STI
对IF置位,IF ← 1
编辑ppt
10
第4章 80x86指令系统
2. 外部同步指令
HLT (Halt) 停机
处理器停止工作,等到外部中断到来,中断结束 后继续向下执行。
WAIT (Wait) 等待
处理器处于等待状态,等到外部的TEST引脚上的 低电平到来。
编辑ppt
12
指令中用立即数的形式指出目标位置的段地址和 偏移量
编辑ppt
2
第4章 80x86指令系统
⑸ 段间间接转移 JMP DWORD PTR opr
目标位置的段地址和偏移量保存在存储器中 说明: ① 在汇编语言中通常使用标号表示要转移到的 位置。 ② 在DEBUG环境中通常使用直接指出的是将要 转移到的位置。 ③ 使用该指令,可以使程序流程改变到任何目 标位置。
SF: JS, JNS
OF: JO, JNO
PF: JP, JNP
CF: JC, JNC
编辑ppt
4
第4章 80x86指令系统
⑵ 判断无符号数的大小
助记符中的意义: A:大于,B:小于,E:等于
JB(JNAE),JNB(JAE)同JC,JNC, JBE(JNA),JNBE(JA): 判断CF and ZF
第4章 80x86指令系统
五、控制转移类指令
能够使程序的执行流程发生改变的指令 1.无条件转移 JMP 转移指令 只要执行无条件转移指令JMP,就使程序转移到 指定的目标地址,从目标地址处开始执行指令。 操作:有以下几种类型 ⑴ 段内直接短转移
JMP SHORT opr ;(IP)←(IP) + Data8 Data8是一个字节的补码数 范围:-128~+127
编辑ppt
1
第4章 80x86指令系统
⑵ 段内直接近转移
JMP NEAR PTR opr
(IP)←(IP) + Data16 Data16是两个字节的补码数 范围:-32768~+32767 ⑶ 段内间接转移
JMP WORD PTR opr (IP)←寄存器或存储器操作数
⑷ 段间直接转移
JMP FAR PTR opr