网站大量收购闲置独家精品文档,联系QQ:2885784924

[信息与通信]第三章 8086寻址方式和指令系统.ppt

[信息与通信]第三章 8086寻址方式和指令系统.ppt

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

习题 10 1)字符串传送指令 2)字符串比较指令 3)字符串检索指令 4)取字符串指令 5)存字符串指令 6)I/O串操作指令 1、字符串传送指令 注意: 1、I/O串操作指令在用时,必须将端口号预先存在DX中。 2、可使用重复前缀,要求I/O端口的速度和指令执行速度匹配。 1)关于转移指令和调用指令的寻址 2)过程调用和返回指令 3)无条件转移指令和条件转移指令 4)循环控制指令 5)中断指令INT和中断返回指令 IRET/IRETD 1、关于转移指令和调用指令的寻址 (1)段内直接转移方式 JMP SHORT 如:JMP 1000H (2)段内间接转移方式 JMP 16位寄存器 如:JMP CX (3)段间直接转移方式 JMP FAR PTR 标号 如:JMP 2000H:1000H (4)段间间接寻址方式 JMP DWORD PTR[ 存储单元 ] 如:JMP DWORD PTR [SI] CALL CALL 1000H; 段内直接调用 CALL AX; 段内间接调用 CALL 2500H:3600H; 段间直接调用 CALL DWORD PTR[DI];段间间接调用 RET RET RET n 3、无条件转移指令和条件转移指令 (1)JMP (2)J*( * 代表各种条件) 4、循环控制指令 (1) LOOP (2) LOOPZ/LOOPE (3) LOOPNZ/LOOPNE 3.2.6 标志操作和处理器控制指令 编程题 1、试编写程序,将AL中的数,高4位置1,低4位清零。 练习 1、若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元,将所求的和存放在2000H 开始的内存单元。试编程序实现。 2、若有100H个字的数据块,要从起始地址为2000H的存贮器传送到起始地址为4000H的存贮器,编程实现之。 3、将连续存放在2000H单元开始的两个16位无符号数相加,结果存放在两个数之后。 3.字符串检索指令SCASB/SCASW/SCASD 指令功能:从AL(字节)、AX(字)或EAX(双字)寄存器的内容与[ES:DI/EDI]目的串的内容比较,结果反映在标志位上,但不改变源操作数。同时,操作后目的串指针DI/EDI会自动修改,指向下一个待搜索的串元素。 利用SCASB/W/D指令,可在内存中搜索所需要的数据。这个被搜索的数据也称为关键字。指令执行前,必须事先将它存放在AL(字节)或AX(字)或EAX(双字)中,才能用SCAS指令进行搜索。SCASB/W/D指令前也可以加重复前缀。 MOV DI,OFFSET STRING;DI=字符串偏移地址=0 MOV CX,COUNT; CX=字符串长度 MOV AL,’A’; AL=关键字A的ASCII码 CLD ; DF=0,DI自动加1 REPNE SCASB ; CX≠0(没查完)且不相同时重复 JZ FIND; 若ZF=1,表示已搜索到,转出 MOV DI,0 ; 若ZF=0,表示没搜索到,则DI=0 FIND : MOV BX,DI ;搜索次数→BX ┅ ★上述程序中,DI初值存起始地址偏移量0,搜索一次后 DI自动加1,使DI的值等于1,以后,每执行一次搜索操 作,DI自动加1。所以,正好可用DI的值来表示搜索次数。 例 在某一字符串中搜索是否有字符A,若有,则把搜索次数记下来,送到BX寄存器,若没有找到,则将BX寄存器清0。设字符串起始地址STRING的偏移地址为0,字符串长度为CX。程序段如下: 4.取字符串指令LODSB/LODSW/LODSD 指令功能:把[DS:SI/ESI]中的串元素取出,传送到AL(字节操作)或AX(字操作)或EAX(双字操作)寄存器中。同时,自动修改SI/ESI。 5.存字符串指令STOSB/STOSW/STOSD 指令功能:把AL或AX或EAX寄存器中的一个字节或一个字或一个双字,存放到[ES:DI/EDI]的目的串中,同时,自动修改DI/EDI。 6. I/O串操作指令 INSB/OUTSB、INSW/OUTSW、INSD/OUTSD INSB、INSW、INSD:从一个输入端口读一串数据送到D

文档评论(0)

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

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

1亿VIP精品文档

相关文档