微机原理与应用第4章2节2016SGQ.ppt

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

* 例 PUSH AX PUSH BX ……. POP BX POP AX 总结: 1)8086 的堆栈操作是按字进行的。 2)每执行一条推入堆栈指令,SP 减 2。执行弹出指令时,刚好相反,每弹出 1 个字,SP的值加 2。 3)CS 的值可以推入堆栈,但不能从堆栈中弹出 1个字到CS 寄存器。 4)堆栈中的内容是按后进先出的原则进行传送的。 * 00FAH 00FBH 00FCH 00FDH 00FEH 00FFH 0100H 36H 95H 2、 (SP)-2→SP (AH)→00FFH (AL)→00FEH (SP)=00FEH (AX)=9536H (BX)=0475H (AX)=0475H (BX)=9536H 1、MOV SP,0100H 2、PUSH AX 3、PUSH BX 4、POP AX 5、POP BX 例:执行压栈和出栈的过程 75H 04H 3、 (SP)-2→SP (BH)→00FDH (BL)→00FCH (SP)=00FCH 1、设栈底 (SP)=0100H 4、(00FCH)→ AL (00FDH)→AH (SP)+2→SP (SP)=00FEH 75H 04H 5、 (00FEH) →BL (00FFH) →BH (SP)+2→SP (SP)=0100H 36H 95H * 3、交换指令 指令格式:XCHG OPRD1,OPRD2 格式: XCHG dst,src 功能:把一个字或一个字节的源操作数与目的操作数交换。 交换可在寄存器之间、寄存器与存储器之间进行。 但段寄存器不能作为操作数,也不能直接交换两个存储单元中的内容。 * XCHG指令 * 例:设(AX)=31B0H,(DS)=3000H, (BX)=1800H,(31800H)= 1995H,执行指令 XCHG AX, [BX] 的过程为: 执行指令前 AX 31B0H 31800H 31801H 31800H 31801H 执行指令后 AX 95H 19H 31H B0H 1995H * 例 XCHG AX,BX XCHG AL,BH XCHG BX,[1000H] XCHG [2100H],DH XCHG SI,AX 总结:a、dst与 src不能同时为存储单元; b、不能使用CS、IP作为操作数。 c、用于通用寄存器与累加器之间。 d、用于通用寄存器之间。 e、用于通用寄存器与存储单元。 * (二)累加器专用传送指令 IN和OUT指令 * 功能:从8位端口读入一个字节到AL,或从16位端口读入一个字到AX。 指令格式:? IN AL,n 或 IN AX,n ;n为? 255 的端口地址 ? IN AL,DX 或 IN AX,DX;端口地址255放在DX中。 1、输入指令 IN * 例:用IN指令从输入端口读取数据 (1) IN AL,0E3H E3H端口 9DH AL 执行指令前 22H 执行指令后 E3H端口 9DH AL 9DH (2) IN AX,80H 执行指令前 80H端口 81H端口 5BH 17H AX 3355H 执行指令后 80H端口 81H端口 5BH 17H AX 17 5BH * 2、输出指令 OUT 指令格式:? OUT n ,AL 或 OUT n ,AX ? OUT DX,AL 或 OUT DX,AX 功能:将AL中的一个字节写到一个8位端口,或把AX中的一个字写到一个16位端口。 * 例:用 OUT 指令对输出端口进行操作 1) OUT 84H,AX 执行指令前 84H 85H 66H 77H 端口 AX 3F4

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档