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

微机原理第四章(2).ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传送指令数据流 1、通用数据传送指令 一般传送指令 MOV DST,SRC 执行 ( dst ) ← ( src ) 如:MOV AL,CL MOV BX,[SI] MOV [SI],CX 2、堆栈操作指令 压栈指令 PUSH SRC 如:PUSH DS PUSH [SI]; 连续两个单元的内容压入堆栈(SP-2) PUSH DWORD PTR [SI];连续四个单元的内容 出栈指令 POP DEST 如:POP AX;从堆栈顶部连续取两个单元的内容送AX ; (SP+2) POP DS POP [BX] (3) LES (Load pointer using ES) 格式:LES reg16, mem32 ;(reg16)←(EA) (ES)←((EA)+2)) 功能:把源操作数指定的4个相继字节送指令指定的寄存器及ES寄存器中。 前两个单元内容(16位偏移量)装入指定通用寄存器, 后两个单元内容(段地址) 装入到ES段寄存器。 此指令常常指定DI寄存器。 用于写远地址指针。 例: 假设: (DS)=B 000H (BX)=080AH 指令: LES DI, [BX] 执行指令后: (DI)=05A2H (ES)=4000H A2H 05H 00H 40H B000H:080AH (DS) B080BH B080CH B080DH ... ... 存储器 (BX) 5. 输入输出指令(Input and Output) 输入输出指令共两条: ( 1 )、IN (Input byte or word) ( 2 )、OUT (Output byte or word) 输入指令用于CPU从外设端口接收数据, 输出指令用于CPU向外设端口发送数据。 无论接收还是发送数据,必须通过累加器AX(字)或AL(字节),每个外设要占多个端口:数据口,状态口和控制口。 输入、输出指令不影响标志位。 长格式:(小地址) 端口号中前256个端口(00H ~FFH),可以直接写在指令中, 端口号代替指令中的PORT, 短格式:(大地址) 当端口号≥256时,只能使用短格式, 必须先把端口号放到DX寄存器中。 不需要用任何段寄存器来修改它的值。 * * 第三节 8086/8088的指令系统 一. 概述 二. 数据传送指令 三. 算术运算指令 四. 逻辑运算指令 五. 控制转移指令 六. 处理机控制指令 七. 串操作指令 一.概述 8086/8088的指令系统中共有92种基本指令。 按功能分为6类: 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 二 .数据传送指令 地址总线 AB 存 储 器 I/O 接 口 输 入 设 备 I/O 接 口 数据总线 DB 控制总线 CB 输 出 设 备 CPU 寄存器,存储器,I/O端口 数据传送是最基本、最重要的一种操作 实际程序中,使用的比例最高 change PROC LEA SI, num+2 MOV CL, num+1 MOV CH, 0 MOV AX, 0 MOV DI, 10 NEXT: MUL DI MOV BH, 0 MOV BL, [SI] AND BL, 0FH ADD AX, BX INC SI LOOP next ZERO: MOV BX, AX RET change ENDP 汇编子程例: 寄存器 寄存器 寄存器 内存单元 寄存器 I/O端口 设置寄存器、内存单元的初始值 按传送内容,可分为四类: 1. 通用数据传送 MOV, PUSH, POP, XCHG, XLAT 2. 地址传送 LEA, LDS, LES 3. 标志传送 PUS

文档评论(0)

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

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

1亿VIP精品文档

相关文档