哈工程微机原理3.2选编.pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
哈工程微机原理3.2选编

练习;答案;3.2 8086指令系统;*;3.2.1 数据传送指令;1.通用数据传送指令;1.通用数据传送指令;*;*;*;1.通用数据传送指令;1.通用数据传送指令;分析错误的指令;;几种不能传送的解决办法: MOV AL,mem1 ;通过寄存器AL作桥梁 MOV mem2,AL ;用来解决存←存 MOV AX,DS ;通过AX解决 MOV ES,AX ;段寄←段寄 MOV AX,data ;通过AX解决 MOV DS,AX ;段寄←立即数;例:用MOV指令实现两内存字节单元内容的赋值[1000H]送[2000H] MOV AL,[1000H] MOV [2000H],AL 例:用MOV指令实现两内存字节单元内容的交换[2000H]互换[3000H] MOV AL,[2000H] MOV AH,[3000H] MOV [2000H],AH MOV [3000H],AL;(2)交换指令;(2)交换指令;*;例: 用 XCHG指令改进前面的数据块交换程序:[2000H]互换[3000H] MOV AL , [2000H] ; (XCHG) XCHG AL , [3000H] ; MOV [2000H], AL ; (XCHG);堆栈是按“后进先出“原则定义在存储器中的用来存储数据的特殊的存储区域: 堆栈在存储器中的位置和大小由堆栈段段寄存器SS和堆栈指针SP的初始值确定 堆栈按“后进先出”方式工作,只有一个出入口;出入口称为栈顶 堆栈操作总是字操作;操作包括入栈和出栈; 堆栈段段基址存放在SS SP的初值确定了所用堆栈区的大小 堆栈指针SP 始终指向堆栈的顶部(称为栈顶) 堆栈指针自动修正 入栈时:SP-2 SP 出栈时:SP+2 SP;*;*;*;*;*;例 将16位通用寄存器CX的内容压入堆栈,然后,弹出栈顶至CX中,已知:(SS)=0200H,(SP)=0008H,(CX)=12FAH,其示意图见下图: ; 注意: * 堆栈操作必须以字为单位。 * 不影响标志位 * 不能用立即寻址方式 ? PUSH 1234H * DST不能是CS ? POP CS 即:CS的值可以推入堆栈,但反过来不能从堆 栈中弹入一个值到CS。;例: 假设 (AX) = 2107 H , 执行 PUSH AX ;例: POP BX;PUSH指令在程序中常用来暂存某些数据,而POP指令又可以将这些数据恢复。 例: PUSH AX PUSH BX … … POP BX POP AX 注意:恢复数据时寄存器的操作顺序(出栈和进栈顺序相反);(4)换码指令;(4)换码指令;;换码指令:XLAT 或 XLAT OPR ;(4)换码指令; 例:MOV BX, OFFSET TABLE ; (BX)=0040H,表首地址 MOV AL, 3 XLAT TABLE 指令执行后 (AL)=33H 注意: * 不影响标志位 * 字节表格(长度不超过256) 首地址? (BX) * 需转换代码 ? (AL);2.地址传送指令;(2)地址指针传送指令; 例:LDS SI, [10H] 例:LES DI, [BX] ;例:;例:;*;3.标志传送指令;3.标志传送指令;*;2)标志入栈出栈指令;; 执行的操作:(SP)-1←标志寄存器高8位 (SP)-2←标志寄存器低8位 (SP) ←(SP)-2 (4)从栈顶弹出标志寄存器指令POPF 执行的操作:标志寄存器低8位←(SP) 标志寄存器高8位←(SP)+1 (SP)←(SP)+2 PUSHF和POPF指令用于保护和恢复标志寄存器内容;4.输入输出指令;4.输入输出指令;举例;8086的端口有64K个,无需分段,设计有两种寻址方式 直接寻址:只用于寻址00H~0FFH前256个端口,操作数表示端口号 间接寻址:可用于寻址全部64K个端口,DX寄存器的值就是端口号 大于0FFH的端口只能采用间接寻址方式 CPU与外设进行数据交换时,读出或写入的数据存放的位置只能是: AL(读取8位

文档评论(0)

jiayou10 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档