第3讲寻址方式和指令系统讲述.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲寻址方式和指令系统讲述

*/87 2)溢出中断指令 INT0 (TYPE=4) 指令功能:放在算术运算指令之后,若运算结果有溢出,则OF=1并产生溢出中断。相当于TYPE=4的INT TYPE 指令。 具体操作如下: 若OF=1则: SP←SP-2, SS:[SP]←FR IF=0,TF=0 SP←SP-2, SS:[SP]←CS SP←SP-2, SS:[SP]←IP IP←0010H CS←0012H */87 3)中断返回指令 IRET 指令功能:除同RET指令外,还弹出第三个字送PSW,最后SP←SP+2 */87 控制处理器的指令 分类 指令格式 功 能 操作内容 标 志 位 操 作 STC 进位标志置1 CF←1 CLC 进位标志置0 CF←0 CMC 进位标志取反 CF← /CF STD 方向标志置1 DF←1 CLI 方向标志置0 DF←0 STI 中断允许标志置1 IF←1 CLI 中断允许标志置0 IF←0 外 部 同 步 HLT 暂停 WAIT 等待有效 ESC ext-opcodesrc 交权给外部协处理器 LOCK 封锁总线 空操作 NOP 空操作 用于CPU与外部事件同步 */87 指令系统小结 以上介绍了8086/8088汇编语言的主要指令。 要求熟练掌握7种寻址方式 熟练掌握传送、算术、逻辑、移位及控制转移指令的格式和功能。 掌握串操作指令的格式和功能。 了解子程序和中断指令的功能。 * 欢迎辞dajiahao * * * * * * * * * * * * * * * * * */87 (2) 串搜索指令 SCASB ;(AL)-((DI)),(DI)←(DI)±1 SCASW ;(AX)-((DI)),(DI)←(DI)±2 串搜索指令的功能是把AL或AX中的内容与ES段由DI指定的一个字节数据或字数据进行比较,结果不保存,但影响状态标志位,并由DF状态决定DI的修改方向。 */87 (3) 串比较指令 CMPSB ;((SI))-((DI)) (SI)←(SI)±1,(DI)←(DI)±1 CMPSW ;操作同上,只是将±1改为±2 串比较指令的功能是把位于DS段由SI指定的字节数据或字数据与ES段由DI指定的字节数据或字数据进行比较,结果不保存,但影响状态标志位,并由DF状态决定SI、DI的修改方向。 */87 (4) 取字符串指令 LODSB ;(AL)←((SI)),(SI)←(SI)±1 LODSW ;(AX)←((SI)),(SI)←(SI)±2 取字符串指令的功能是把位于DS段由SI指定内存单元的内容取到寄存器AL或AX中,指令不影响状态标志位。 */87 (5) 存字符串指令 STOSB ;((DI))←(AL),(DI)←(DI)±1 STOSW ;((DI))←(AX),(DI)←(DI)±2 存字符串指令的功能是把寄存器AL或AX中的内容存到ES段由DI指定的内存单元,指令不影响状态标志位。 */87 2. 重复前缀指令 基本串操作指令每执行一次只能处理一个数据,与重复前缀指令结合可以处理一串数据。 (1) 无条件重复指令 REP ;当(CX)=0退出重复 (CX)≠0,(CX)←(CX)-1执行其后串操作指令 (2) 相等/为零重复指令 REPE/REPZ ;当(CX)=0或 ZF=0退出重复 否则(CX)←(CX)-1执行其后串操作指令 */87 2. 重复前缀指令 (3) 不等/不为零重复指令 REPNE/REPNZ ; 当(CX)=0或 ZF=1退出重复 否则(CX)←(CX)-1执行其后串操作指令 注意: 重复前缀指令不能单独使用,其后必须紧跟基本串操作指令,控制基本串操作指令重复执行。其执行过程相当于一个循环程序的运行。 重复执行次数由数据串长度决定,数据串长度应预置在寄存器CX中。 执行重复前缀指令不影响标志位。 */87 【例】将数据段从符号地址M1开始存放的50个字节数据,传送到附加段符号地址为M2开始的单元。 程序段如下: LEA SI,M1 LEA DI,M2 MOV CX,32H CLD REP MOVSB 【例】将20个0AAAAH送入3000H开始的地址单元。 程序段如下: CLD LEA DI, [3000H] MOV CX,14H MOV AX,0AAAAH REP STOSW */87 CMPS 指令应用举例 【例题】比较长度为100的两个字符串STRl和STR2,找出不匹配的字符

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档