微机原理第3章完整版--戴模板教程.ppt

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

戴小文 邮箱:xwdai678@163.com ;本章内容;;二、8086/8088符号指令的书写格式;目的操作数(dst)、源操作数(src);第二节 8086/8088的寻址方式;例如:MOV AX, 1000H;SS; 源操作数的长度必须与目的操作数一致,否则会出错。;三、固定(隐含)寻址 ;四、存储器寻址; 操作数所在内存单元的16位有效地址(EA)直接由指令给出。有效地址紧跟在操作码之后存放在代码段中;如果没有段超越前缀,则操作数本身默认位于数据段,段基值在DS中;否则位于段超越前缀指定的段中。;例如:;MOV AX,[2000H]指令的解释过程:;① 在直接寻址方式下,默认操作数位于数据段中,缺省的段基值由DS给出。;③直接寻址方式常用于寻址存储器中的单个操作数。;① 当指令指定BX、SI、DI为间址寄存器时,则操作数在数据段中,DS中内容为段基值。操作数的物理地址为:;例如:MOV AX, [SI] ;; 在指令中,也可指定段超越前缀来取得其它段中的操作数。; 在指令中,也可指定段超越前缀来取得其它段中的操作数。;3. 寄存器相对寻址;PA=DS ×16 +; ;而 MOV AX,AREA[BP];;4. 基址变址寻址 ;例如: MOV AX,[BX][SI];PA= SS ×16 + BP;① BX可与SI或DI组合,BP也可与SI或DI组合,但BX不可与BP组合, SI不可与DI组合。即不允许将两个基址寄存器和两个变址寄存器组合在一起寻址。;5. 相对的基址变址寻址;例如: MOV AX,AREA[BP][SI] ;MOV BP,SP MOV AX,[BP] ;寻址栈顶单元 或MOV AX,DISP[BP] ;寻址栈中其他单元; 数据串操作指令所采用的寻址方式,应用了一种隐含的变址寄存器寻址。用源变址寄存器SI寻址源串,用目的变址寄存器DI寻址目的串。; 当8086采用独立编址的I/O端口时,可有64?K个字节端口或32?K个字端口,用专门的IN和OUT指令访问。I/O端口寻址只用于这两种指令中。 ;IN AL,50H;字节输入指令,将50H端口的字节输入到AL。 IN AX,60H;字输入指令,将60H端口的数据输入到AL,61H端口的数据输入到AH。 ;2. 寄存器间接端口寻址 ; 例如:;1. 在未加段超越前缀时,方括号[ ]内若包含BP,则隐含段寄存器为SS,否则为DS。;4. 一条指令中的源操作数与目的操作数可使用不同的寻址方式,所以要说明一条指令的寻址方式,需就源操作数、目的操作数分别加以说明。; ① 数据传送类; ② 算术运算类; ③ 逻辑运算与移位类; ④ 串操作类; ⑤ 控制转移类; ⑥ 处理器控制类。;一些符号的含义:;Im 8位或16位立即数。 src 源操作数 dst 目的操作数。 ( ) 用来表示存储单元或I/O端口中的内容。 ;一、数据传送(Data Transfer)类指令;1. 通用传送指令;MOV AX,BX ;BX中16位数据传送到AX MOV SI,BP ;BP中16位数据传送到SI MOV AH,BL ;BL中8位数据传送到AH;③ R ? Im传送实例;④ M ?立即数Im;⑤ R? M传送实例;⑥ 段R?M传送实例;① 操作数的类型要匹配,要么8位,要么16位,这决定于R是8位还是16位,也决定于立即数的形式。 例如: MOV BX,AL × MOV CL,1234H × MOV CX,12H; √高字节自动补0;② MOV指令中的dst和src不能同时为M。;③ 不允许用立即数作dst。;(2)堆栈操作指令; ① CPU通用寄存器入/出栈(PUSH/POP R);③ 存储器单元入/出栈(PUSH/POP M);堆栈指令使用注意事项:;⑤ POPF执行后,要影响F的当前状态。;[例] 利用堆栈指令实现 AX ? BX ?CX ;(3)交换指令(Exchange);需要通过累加器(AX)来执行数据传送的指令.;(1)输人/输出指令;(2) 换码(Translate–Table)指令; 首先在存储器数据段中建立十六进制数的ASCII码表,;可用如下几条指令实现:;[例] 用换码指令将任意一位十进制数转换为对应的七段显示码,并送端口2E0H显示。; MOV BX , OFFSET TABLE

文档评论(0)

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

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

1亿VIP精品文档

相关文档