上海交大微机原理-王春香(完整版).ppt

  1. 1、本文档共459页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、数据传送类:目标地址传送 用于指定源操作数(需是M操作数)的16位偏移地址EA,传送到一个指定的16位通用寄存器中。 通常用来建立串操作指令所需的寄存器指针。 ? ? LEA d,s:取有效地址指令 1、数据传送类:目标地址传送 例如: LEA AX,[0618H]:将内存单元的偏移量0618H送AX,指令执行后,AX中的内容为0618H LEA SP,[3768H]:使堆栈指针SP为3768H LEA BX,[BP+DI]:将内存单元的偏移量BP+DI送BX,指令执行后,BX中内容为BP+DI的值。 ? ? 注意和LEA和MOV指令区别 1、数据传送类:目标地址传送 从源操作数所指定的存储单元开始,由4个连续存储单元中取出某变量的地址指针(共4个字节)。 将前两个字节(偏移地址)传送到目标操作数所指定的16位通用寄存器中,后两字节(段地址)传送到DS段寄存器中。 ? ? LDS d,s:取某变量的32位地址指针的指令 1、数据传送类:目标地址传送 从源操作数所指定的存储单元开始,由4个连续存储单元中取出某变量的地址指针(共4个字节)。 将前两个字节(偏移地址)传送到目标操作数所指定的16位通用寄存器中,后两字节(段地址)传送到ES段寄存器中。 ? ? LES d,s:取某变量的32位地址指针的指令 1、数据传送类 ③标志位传送指令(4条) 将FR低字节装入AH寄存器:LAHF 将AH内容装入FR低字节: SAHF 将FR内容压入堆栈:PUSHF 从堆栈弹出FR内容:POPF 1、数据传送类 标志卸出指令 LAHF:将标志寄存器F的低字节传送到AH寄存器中 LAHF指令将标志寄存器FLAGS中的5个标志位:SF(符号标志)、ZF(零标志)、AF(辅助进位标志)、PF(奇偶标志)和CF(进位标志)分别传送到AH的对应位,如下图所示。 通过AH对标志寄存器的SF、ZF、AF、PF、CF标志位复位。 1、数据传送类 SAHF;将AH寄存器的5个状态标志位传送到标志寄存器 SAHF和LAHF指令的操作正好相反,它将AH中的第7、6、4、2、0位分别传送到标志寄存器FLAGS的对应位。该指令的执行显然会影响标志位SF、ZF、AF、PF和CF,它们将分别被AH的对应位的状态修改,但其它标志位不受影响。 ??? LAHF与SAHF指令的用途是为了方便修改某些状态标志。先把标志传送到AH,修改后再写回标志寄存器。 1、数据传送类 标志压栈指令 PUSHF PUSHF:将16位标志寄存器F的内容入栈保护,SP减2 本指令为隐含寻址,源操作数为标志寄存器,目的操作数为堆栈。主要用于保护标志寄存器的内容。 POPF:将当前栈顶和次栈顶中的数据字弹出,送回标志寄存器中。 本指令为隐含寻址,源操作数为标志寄存器,目的操作数为堆栈。主要用于保护标志寄存器的内容。 经常成对出现,用在子程序和中断处理程序的首尾,用来保护和恢复主程序设计的标志寄存器内容。必要时可用来修改标志寄存器内容 中断:是CPU与外部设备交换信息的一种方式。计算机在执行正常程序的过程中,当出现某些异常事件或某种外部请求时,处理器就暂时中断正在执行的正常程序,而转去执行对异常事件或某种外设的请求的处理操作。 1、数据传送类:I/O数据传送 ④I/O数据传送指令(2条) 输入字节或字:IN累加器,端口 输出字节或字:OUT端口,累加器 特点: I/O指令只能用累加器作为执行I/O数据传送的机构; 直接寻址I/O指令:寻址范围0~255; 间接寻址I/O指令:寻址范围0~65535; I/O设备地址两种形式:固定端口和可变端口。 1、数据传送类:I/O数据传送 IN累加器,端口号:指定端口中内容输入到累加器AL/AX IN AL,PORT:AL (端口PORT) IN AX,PORT:AX (端口PORT) OUT DX, AL: 端口( DX) AL OUT DX, AX: 端口( DX) AX 端口号可由8位立即数直接给出,也可由DX寄存器间接给出16位端口号。 1、数据传送类:I/O数据传送 OUT端口号,累加器:累加器AL/AX中内容输出到指定端口 OUT PORT,AL:(端口PORT) AL OUT PORT,AX:(端口PORT) AX OUT DX, AL: 端口( DX) AL OUT DX, AX: 端口( DX) AX 端口号可由8位立即数直接给出,也可由DX寄存器间接给出16位端口号。 1、数据传送类:I/O数据传送 例如:OUT DX,AL CS=4000H,IP=0020H,DX=6A10H,AL=66H 执行结果: 将累

文档评论(0)

@思念@ + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档