微机原理及应用03_3教程.ppt
文本预览下载声明
第3章 80x86指令系统;2. 移位类指令;移位指令操作示意图;移位指令操作示意图;3. 循环移位指令;循环移位指令操作示意图; 不含进位循环移位指令又称小循环,含进位循环移位指令又称大循环。
例:SAL AX,1
RCL DX,1;实现(DX),(AX)←(DX),(AX)×2运算。
例:SAL FIRST-WORD,1
RCL SECOND-WORD,1;可实现存于连续两个存储单元的32位数据×2。
从示意图,可以看出所有移位指令对CF直接有影响,对其余标志位也有影响。但对AF的影响无实际意义。;3.4.4 串操作(String Manipulation)类指令;重复前缀助记符与功能;串传送指令应用;例:比较DS段和ES段中的两个字节串。它们分别存放在DS:FLAGS和ES:STATUS开始的单元中。长度=5,试比较二者是否相同,如不同,把不同时位置,记入DS:POINT单元。
LEA SI,FLAGS
LEA DI,STATUS
MOV CX,5
REPE CMPSB
JNE FOUTD
SAME: RET
FOUTD: INC CX
MOV WORD PTR POINT,CX
RET ;串搜索指令应用;存字符串指令应用;3.4.5 控制转移(Contronl Jump)类指令;1.无条件转移调用和返回指令;② 段内间接寻址(Intrasegment Indirect Addressing)
JMP BX;EA=(BX)
JMP WORD PTR[SI]
如果(DS)=2000H,(BX)=1200H,(SI)=5230H,存储单元(25230H)=2450H。
则JMP BX 执行后,EA=(IP)=(BX)=1200H,JMP WORD PTR[SI] 执行后,EA=(IP)=(16×(DS)+(SI))=(20000H+5230H)=(25230H)=2540H
;③ 段间直接寻址(Intersegment Direct Addressing )
又称远程转移指令,指令格式为:
JMP FAR PTR LABEL
操作是:(IP)←LABEL距另一段首地址偏移量,
(CS)←转向地址的段地址。
④ 段间间接寻址(Intersegment Indirect Addressing)例如:JMP DWORD PTR[BX][SI]
操作:(IP)←((BX)+(SI)),
(CS)←((BX)+(SI)+2)。;(2)调用指令 CALL;各种调用指令的格式;(3)返回指令 RET;例:;例:;例:;2. 条件转移指令;条件转移指令的分类;(1)单个标志为条件测试转移指令;(2)根据标志间组合条件测试转移指令;(3)根据对CX寄存器值进行测试为转移依据指令;3. 循环控制指令;(3)LOOPNZ/LOOPNE 指令
格式: LOOPNZ/LOOPNE SHORT-label
功能:(CX)←(CX)-1, (CX)≠0且ZF=0时,转到label,否则执行下一条指令。注:(CX)=0不影响ZF。
;例:计算两个字节数组ARRAY1和ARRAY2之和,若遇到两个数组中的项同时为0,结束,并把非0数组长度存于NO单元。;3.4.6 处理器控制(Processor Control)指令;2. 外部事件同步指令;作业6
显示全部