- 1、本文档共231页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术 第二章内容回顾 第二章 重点之一 第二章 重点之二 第二章 重点之三 第二章 重点之四 第三章 8086的寻址方式和指令系统 8086的寻址方式 微机系统指令的机器码表示方法 8086的指令系统 §3-1 8086的寻址方式 计算机的指令包括:操作码 + 操作数 ↓ ↓ 操作的性质 操作的对象 ↓存放在 寄存器、存储器、I/O端口地址、立即数(由寻址方式决定) 寻址方式:指令中说明操作数所在地址的方法。 指令分类:单操作数、双操作数、无操作数。 (双操作数指令形式:操作码 目的操作数,源操作数) 各种寻址方式指令执行速度不同: 操作数在寄存器中指令执行速度快:在CPU内部立即执行; 立即数寻址指令执行速度较快:直接从指令队列中取数; 操作数在存储器中指令执行速度较慢:通过总线与CPU交换数据。 CPU进行读/写存储器的操作:①把一个偏移量送到BIU,计算出20位物理地址;②执行总线周期存取操作数。 一、立即寻址方式 (Immediate Addressing) 例 MOV CX,2A50H 解:将立即数2A50H送到CX寄存器中。 (又例: MOV CL,20H) 二、寄存器寻址方式 (Register Addressing) 1.含义: 操作数包含在寄存器中,寄存器的名称由指令指定。 2.特点: 16位操作数:寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等。 8位操作数:寄存器AH、AL、BH、BL、CH、CL、DH和DL。 3.作用:寄存器之间传递数据。 例 MOV DX,AX 解: (AX)送到CX寄存器中。(AX内容不变) (又例: MOV BL,AL) 4.注意:源操作数的长度必须与目的操作数—致。 (注:以下寻址方式下,指令的操作数在存储器中,要先求物理地址才能获得操作数。) (5)MOV AX, [SI] 寄存器间接寻址,100A0H 物理地址=DS×10H+SI=10000H+00A0H=100A0H (6)MOV AX, [BX+10H] 寄存器相对寻址,10110H 物理地址=DS×10H+BX+10H=10000H+0100H+10H=10110H (7)MOV AX, [BP] 寄存器间接寻址,35200H 物理地址=SS×10H+BP=35000H+0200H=35200H §3-2指令的机器码表示方法 汇编语言源程序:用汇编语言 (即主要由指令系统组成的语言)编写的程序。 编译程序 执行 源程序 机器码 运算结果 指令通常由操作码和操作数两部分组成。 ▲8086指令系统采用变长指令,指令的长度可由1~6字节组成。 二、机器语言指令代码的编制(自学) 其中,第一个字节:▲高6位是操作码100010; ▲W位说明传递数据的类型是字(W=l)还是字节(W=0); ▲D位标明数据传送的方向:D=0,数据从寄存器传出; D=1,数据传至寄存器; 第二个字节: ▲REG字段:寄存器号,用3位编码寻址8种不同的寄存器,再根据第一字节中W位,选择8位或16位寄存器。如表3-l所示。(对段寄存器,REG字段占2位) 例如: REG=010,W=1时表示寻址DX寄存器; REG=010,W=0时寻址DL寄存器。 ▲MOD字段和R/M字段:MOV指令的两个操作数中有一个必为寄存器,另一个操作数可能是寄存器,也可能是存储器单元,由指令代码的第二个字节个的MOD和R/M字段指定。 如表3-2所示。( 24种不同的编码格式,D8表示8位位移量,D16为16位位移量) 对指令进行编码时,若包含8位位移量,则在编码后增加一个宇节存放位移量disp-L;若包含16位的位移量,则增加2个字节存放位移量:第3个字节存放位移量的低字节disp-L,第4个字节存放位移量高字节disp-H。 对MOV指令进行编码的几个示例: 2.寄存器间传送指令的编码: 例 求指令MOV SP,BX的机器码 解:指令的功能是将BX寄存器的内容送到SP寄存器中。 从附录B可知,该指令的操作码为1000l0;传送的是字数据,所以w=1; REG字段:选择将SP,则REG字段编码=100; D位=1
文档评论(0)