- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用03_3分析
第3章 80x86指令系统 3.4 8086/8088指令系统 3.4.3 逻辑运算与移位类指令(续) 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:AREA1开始存放的100个字节搬到ES:AREA2为首趾的区域中。 MOV SI,OFFSET AREA1 MOV DI,OFFSET AREA2 MOV CX,100 AGAIN:MOVS AREA2,AREA1 DEC CX JNZ AGAIN 方框中的3条指令可用一条带前缀的指令完成: REP MOVS AREA2,AREA1 例:比较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 串搜索指令应用 例:AL存放收到字符,DS:COMMAND开始的16个单元,存放“012┉DEF”16个ASCCII字符命令串。若AL收到的字符与其中的某个相同则显示,否则出错处理。 MOV DI,OFFSET COMMAND MOV BX,DS MOV ES,BX CLD MOV CX,10H REPNZ SANSB JNZ ERROR 显示子程序 ERROR: RET 存字符串指令应用 例:将ES段中0400~0500H单元清0 。 ; LEA DI,[0400H] MOV CX,0080H CLD XOR AX,AX REP STRSW 取字符串指令应用 因为AL(或AX)中的内容会被最后取入的字符覆盖,所以 LODS 指令不能加重复前缀。 3.4.5 控制转移(Contronl Jump)类指令 无条件转移(Jump)调用(CALL)和返回(RETURN)类指令 条件转移指令 循环控制指令 中断及中断返回指令 1.无条件转移调用和返回指令 (1)无条件转移指令(JMP) ① 段内直接寻址(Intrasegment Direct Addressing) 近程转移: JMP NEAR PTR TAGET;位移量位16位带符号数,寻址范围-32768~+32767。 短程转移:JMP SHORT OBJECT;位移量8位的带符号数,寻址范围-128~+127 注:无论是近程转移,还是短程转移,都不能全部寻址段内全部64KB ② 段内间接寻址(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)。
文档评论(0)