第三章_[3-1]指令的机器码表示方法(自学).ppt_第1页
第三章_[3-1]指令的机器码表示方法(自学).ppt_第2页
第三章_[3-1]指令的机器码表示方法(自学).ppt_第3页
第三章_[3-1]指令的机器码表示方法(自学).ppt_第4页
第三章_[3-1]指令的机器码表示方法(自学).ppt_第5页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机原理与接口技术,第三讲,2,第三章 8086的寻址方式和指令系统,8086的寻址方式 微机系统指令的机器码表示方法(自学) 8086的指令系统,内容提要,3,3-2 指令的机器码表示方法(自学),一、机器语言指令的编码目的和特点 汇编语言源程序: 用汇编语言 (即主要由指令系统组成的语言)编写的程序。 编码特点: 8086指令的二进制编码非常多,很难以一张表实现指令与机器语言的对照。 为每种基本指令类型给出一个编码格式,对照格式填上不同的数字表示不同的寻址方式、数据类型,即可求得每条指令的机器码。 8086指令系统采用变长指令,指令的长度可由16字节组成。 8086机器指令有零个或多

2、个操作数。,4,3-2 指令的机器码表示方法,一、机器语言指令的编码目的和特点 1、零操作数指令 CLC;机器码为F8H 2、单操作数指令 INC AX;机器码为40H INC BX;机器码为43H 3、双操作数指令 MOV AL, 04 ;机器码为B004H 4、三操作数指令 ADC AX, BX;该指令完成操作数AX、BX和CF位相加。,5,3-2 指令的机器码表示方法,二、机器语言指令代码的编制 1、编码格式说明: 以寄存器之间或寄存器与存储器之间交换数据的MOV指令,来说明指令的编码格式。,6,3-2 指令的机器码表示方法,其中,第一个字节: 高6位是操作码100010; W位说明传递

3、数据的类型是字(Wl)还是字节(W0); D位标明数据传送的方向:D0,数据从寄存器传出; D1,数据传至寄存器;,7,3-2 指令的机器码表示方法,其中,第二个字节: REG字段:寄存器号,用3位编码寻址8种不同的寄存器,再根据第一字节中W位,选择8位或16位寄存器。如表3-l所示。(对使用段寄存器的指令,REG字段占2位),8,3-2 指令的机器码表示方法,MOD字段和R/M字段: 这类MOV指令的两个操作数中有一个必为寄存器,另一个操作数可能是寄存器,也可能是存储器单元,由指令代码的第二个字节个的MOD和R/M字段指定。 对指令进行编码时,若包含8位位移量,则在编码后增加一个宇节存放位移

4、量disp-L;若包含16位的位移量,则增加2个字节存放位移量:第3个字节存放位移量的低字节disp-L,第4个字节存放位移量高字节disp-H。,9,3-2 指令的机器码表示方法,MOD和R/M的编码( 见表32:24种不同的编码格式,D8表示8位位移量,D16为16位位移量),10,3-2 指令的机器码表示方法,2、寄存器间传送指令的编码 例:求指令MOV SP,BX的机器码 解:指令的功能是将BX寄存器的内容送到SP寄存器中。 该指令的编码格式为:100010DW MOD REG R/M. W1:表示传送的是字数据; REG字段:选择SP,则REG字段编码100; D位1:表示数据传至所

5、选的寄存器(SP); MOD11:因另一个操作数BX也是寄存器。 根据W1及寄存器名称为BX,从表3-2查得R/M011。 所以,该指令的2字节编码为8B E3H。,11,3-2 指令的机器码表示方法,例:求指令MOV SP,BX的机器码,12,3-2 指令的机器码表示方法,3、寄存器与存储器间传送指令的编码 例:求指令MOV CL, BX+l234H的机器码 解:指令的功能是将有效地址为(BX+1234H)存储单元中的数据字节传送到CL中。 该指令的编码格式为:100010DW MOD REG R/M 数据. 第1、2字节可通过查表得到;第3字节存放16位位移量的低字节34H; 第4字节存放

6、高字节12H 。 所以该指令的4字节编码为8A 8F 34 12H 。,13,3-2 指令的机器码表示方法,例:求指令MOV CL, BX+l234H的机器码,14,3-2 指令的机器码表示方法,4、立即数寻址指令的编码 例:求指令MOV BX+2100H, 0FA50H的机器码 解:指令的功能是将16位立即数送到指定有效地址的字存储单元中;其中低字节50H送列BX+2100H单元,高字节FAH送到(BX+2101H)单元。 该指令的编码格式为:110011W MOD 000 R/M 数据 数据(若W=1). 指令中不但有16位立即数,还有16位位移量; 所以,该指令的6字节编码为C7 87

7、00 21 50 FA H。,15,3-2 指令的机器码表示方法,例:求指令MOV BX+2100H, 0FA50H的机器码,16,3-2 指令的机器码表示方法,5、包含段寄存器的指令的编码 例:求指令MOV DS, AX的机器码 解:指令的功能是将AX寄存器的内容传送到数据段寄存器DS。 该指令的编码格式为:10001110 MOD 0 REG R/M . 段寄存器DS的编码为11,即REG字段为11;另一个操作数也是寄存器,所以MOD11,而R/M字段应填上AX的三位代码000 . 所以,该指令的2字节编码为8E D8H。,17,3-2 指令的机器码表示方法,6、段超越前缀指令的编码 例:求指令MOV BX, DL的机器码 解:指令的功能是将DL寄存器的内容传送到有效地址为(BX)的字节存储单元。 该指令(不带段超越前缀)的编码格式为:100010DW MOD 0 REG R/M . 数据从寄存器传出,则D=0;传递数据为字节,则W=0;进而,REG=010;另一个操作数是存储器,所以MOD00,而R/M=111 .该指令的编码是在不带段超越前缀的指令代码为88 17H. 在指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论