微机原理与接口技术-chapter3.ppt_第1页
微机原理与接口技术-chapter3.ppt_第2页
微机原理与接口技术-chapter3.ppt_第3页
微机原理与接口技术-chapter3.ppt_第4页
微机原理与接口技术-chapter3.ppt_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理和接口技术、第三章命令系统、主要内容、地址方式8086/8088的基本命令形式和执行时间、基本概念、命令和命令系统计算机的所有命令的集合称为命令系统。 指令结构: CISC和RISC CISC :复杂的指令集计算机,典型的是紧凑的指令集计算机,典型的是PowerPC这两种技术融合的趋势,最常用的指令,很少使用的指令,20%,80%,RISC (编译器不同之处在于不同的CPU设计理念和方法。 所有早期的CPU都是CISC架构,旨在以最小的机器语言指令执行必要的计算任务。 例如,对于乘法,CISC架构的CPU可能需要将MUL ADDRA、ADDRB乘以ADDRA和ADDRB的数量,然后将结

2、果存储在ADDRA中。 将ADDRA、ADDRB数据写入寄存器中并将乘法和结果写入存储器的操作,全部依赖于CPU设计的逻辑来实现。 此体系结构增加了CPU结构的复杂性和对CPU进程的要求,但对编译器的开发非常有利。 例如,在上述示例中,c程序的a*=b可以被直接编译为乘法指令。 今天,只有英特尔及其兼容的CPU需要使用CISC体系结构RISC体系结构来指定单独的操作步骤。 为了用RISC架构实现上述例子,必须用软件实现将ADDRA、ADDRB的数据读入寄存器,将乘法和结果写入存储器的操作。 PS、PS; PS、PS; MUL A、b; STR ADDRA,a。 该体系结构降低了CPU的复杂性,

3、可以在相同的过程级别生产更强的CPU,但编译器的设计要求更高。指令的构成,操作码说明计算机执行什么操作,例如传输、运算、移位、跳转等操作,它是指令不可缺少的构成部分的操作数是指令执行的参加者,也就是说,各种操作对象中有不需要操作数的指令,通常的指令为1个个别指令也具有带有3个或4个操作数的指令隐式操作数,指令被称为指令的助记符形式,操作数2,常常被称为源操作数src,指令操作中所涉及的对象操作数1,常常被称为目标操作数不仅是指令操作的对象,与存储指令操作结果的分号之后的内容是指令的解释、操作码操作数1、操作数2的注释、指令的操作码和操作数、用辅助符号表示各指令的操作码(指令功能的缩写)机器指令

4、相对应的一个或多个二进制代码指令的作为具体的数值,表示存储数据的寄存器或数据主要存储位置的存储器地址、寻址方式操作数寻址系统设计了多个操作数的源查找操作数的过程。 操作数的地址把寻找操作数的方式称为操作数的地址方式。 操作数的地址方式一方面理解理解指令功能的前提操作数采用哪个地址方式,一方面影响处理器执行指令的速度和效率,另一方面对程序设计也很重要,操作数的源、指令、寄存器、存储器I/O设备、端口、操作数马上数地址方式, 指令中的操作数直接存储在机器代码中的操作码之后(作为操作码的一部分存储在操作码之后的主存储单元中)该操作数被称为即时数imm,8位数值i8(00HFFH )也是16位数值i1

5、6 (000 的即时随机数地址方法经常用于将书分配给寄存器和存储单元,图3-3的示意图仅是即时随机数,目标操作数包含于该命令中,不需要访问,执行速度快,MOV AX,5678H; AX5678H、寄存器地址方式、操作数保存在CPU的内部寄存器reg中的8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI ES寄存器名的内容(操作数)不需要访问存储器,速度快,MOV AX、BX; AXBX、存储器地址方式、操作数在主存储器中,用主存储器地址表示程序设计的情况下8088表示,用逻辑地址表示主存储地址的段地址为, 使用了仅在由缺省

6、或段交叉前缀指定的段寄存器中给指令提供操作数的偏移地址(有效地址(EA可以由几个部分构成) PA (物理地址)=(段寄存器) 10H EA 8086来实现多个段寄存器直接地址方式2、寄存器间地址方式3、寄存器相对地址方式4、基本地址索引修饰方式5、相对基本地址索引修饰方式、(1)直接寻址方式、直接寻址方式的有效地址, 在DS段寄存器中有直接给指令提供默认操作数的段地址,包含在大括号中的有效地址,用于改变段超过前缀,存储单元的内容P88、示例3-3、MOV AX、2000H; AXDS:2000H、MOV AX、ES: 2000H; AXES:2000H、MOV AX、缓冲器; BUFFER :

7、符号地址,(2)寄存器间地址方式,有效地址是针对存储在基本地址寄存器BX、BP或索引寄存器SI、DI中的BX、SI、DI,默认的段地址是DS段寄存器注意,默认的段地址是SS段寄存器,该寄存器只能使用四个间接地址,而且段的前缀超过了P89 3-6。 为了不和寄存器地址混淆,必须加括弧。 通过变更寄存器值,可以对不同的存储单元进行相同的操作。 数组操作。MOV AX,BX; axds :MOV AX、es : AXES:BX、MOV AH、DS:BP MOV ES:DI、AL、(3)寄存器的相对地址方式,有效地址是寄存器内容与带符号的8位或16位移位量的和,寄存器是BX、BP或SI、DI有效地址缺

8、省情况下,与16位移位量段地址相对应的BX/SI/DI寄存器是DS,并且缺省情况下,与BP寄存器相对应的SS; 例如,其中可用段修改了P90超出前缀的示例:3-8,偏移地址可以用符号来表示。 3-9。 相对地址可以用多种不同的形式表示。 MOV AX,SI 06H; axds :MOV AX、06h; AXDS:SI 06H,(4)以基本地址的索引修饰方式,有效地址由基本地址寄存器(BX或BP )的内容和索引寄存器(SI或DI )的内容构成:有效地址=BX/BP SI/DI段如果可用的段更改超过前缀,则不能组合两个基本地址或索引。 例如P91 3-12、3-13、MOV AX、BX SI; a

9、xds :MOV AX、bx; AXDS:BX SI, (5)对于基本地址索引方案,有效地址是基本地址寄存器(BX/BP )、索引寄存器(SI/DI )与一个8位或16位的移位量之和:有效地址=BX/BP SI/DI 8/16位的移位量如果可用的段更改超过前缀,则不能组合两个基本地址或索引。 显示形式有6种,例3-15、MOV AX、BX DI 6; AXDS:BX DI 6,MOV AX,6BX DI,MOV AX,6BXDI,相对地址方式的偏移量,在寄存器相对和相对地址索引方式中,偏移量不仅用常数表示,此符号也可以用变量名称、例子MOV AX、wvar mov ax、BX SI WVAR;

10、 movaxbxsiwvar; MOV AX,WVARBX SI; 与MOV AX,WVARBXSI的各种存储器的动作规则相当的隐式段寄存器、允许超越的段寄存器、具有指令有效地址的寄存器采用了P93表3-1、IO端口地址、IO端口地址独立的地址方式设置专用输入、输出命令IN、OUT,直接端口地址(直接8位二进制,最大256 )和间接端口地址(超过256时,地址由DX指定)这两种隐式寻址命令部分的操作数被隐含, 没有像DAA那样直接出现将AL中的加法调整为压缩BCD码的指令的示例3-16、17、18, 19地址方式地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地址地

11、址地址地址地址P94区间内直接区间内间接,例如,(BX)=0313H、(SI)=1123H、(DI)=0606H、(ds )。 显示以下命令画了线的操作数的地址方式,如果是内存操作数,则计算该操作数的有效地址和物理地址。 现在马上附上地址, MOV AX、1117H MOV BX、SP MOV DX、BX; 寄存器地址、EA=0313H、PA=20000H 0313H=20313H; 寄存器间地址,例如(BX)=0313H、(SI)=1123H、(DI)=0606H、(DS)=2000H、(SS)=6800H、(BP)=0100H。 显示以下命令画了线的操作数的地址方式,如果是内存操作数,则计

12、算该操作数的有效地址和物理地址。 寄存器相对地址、 MOV AX、BP100H MOV AX、100HSI; 寄存器相对地址,EA=0100H 100H=0200H,PA=68000H 0200H=68200H,ea=1123 h 1223 h,PA=20000H 1223H=21223H,例如,(BX)=0313H,(si )。 显示以下命令画了线的操作数的地址方式,如果是内存操作数,则计算该操作数的有效地址和物理地址。, 基地址修饰、 MOV AL、BXSI MOV AX、BP SI 100H; 对基础地址添加索引,以获得EA=0313H 1123H=1436H、PA=20000H 143

13、6H=21436H、ea=0100 h 1123 h 1323 h、PA=68000H 1323H=69323H 8086、8088 在串行操作、控制传输和处理器控制中,数据传输是计算机中最基本和最重要的操作传输指令中最常用的指令传输指令, 从一个位置向另一个位置传送数据除了标志寄存器传送命令之外,还重点把握MOV XCHG XLAT PUSH POP IN OUT LEA,数据传送命令不影响共同的IO、地址传送、标志位传送,(1)通用数据传送命令, 提供方便灵活的通用传输操作的5条指令MOV XCHG数据交换XLAT检查表转换PUSH堆栈POP堆栈、MOV、XCHG、XLAT、PUSH、PO

14、P、传输指令MOV(move )、MOV dst、src; 为了实现dst目的,src源地址向目的地址转发字节或字操作数,可使用各种地址方式、MOV reg/mem、imm的即时数字寄存器或主存储器、MOV reg/mem/seg 寄存器进给(段)寄存器或主存储器、MOV reg/seg、mem; 主存储器(段)寄存器、MOV reg/mem、seg; 段寄存器和主存储器P96图3-10、MOV命令传送功能图、MOV命令也不是任意传送!,即时数,段寄存器CSdses,通用寄存器AX BX CX DX BP SP SI DI,存储器,注意源和目的操作数的类型必须一致,一个不是字, 另一个是字节不

15、能将存储单元和存储单元之间的MOV传输cs,IP作为目标操作数,但是,cs不能立即将因为源而无法立即计数的操作数以数量传送到段寄存器,在段寄存器之间通过MOV传输字单元cl4、字节传送mov dx,0ffh; dx00ffh、字传送mov si、200h; si0200h、字传送、命令是字节操作还是字操作、MOV命令-寄存器传送、mov ah、al; ahal、字节传输mov bvar、ch; bvarch、字节传送mov ax、bx; axbx、字转送mov ds、ax; dsax、字转送mov bx、al; bxal、字节传输、寄存器是明确的字节和字类型、MOV指令内存传输、mov al、

16、bx; alds : mov dx、bp; dxss : mov dx、bp 4; dxss : mov es、si; esds:si、从存储器向存储器的传送命令、MOV命令段寄存器传送、mov si、ds mov ax、ds; axds mov es,ax; esaxds,对段寄存器的操作不灵活,不正确的指令两个操作数类型不一致,在大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者是相同的字数,啊非法命令,修改: mov ax、050ah MOV SI、DL; 非法命令,修改: mov dh、0; mov si、dx、不正确的指令-无法判别是字节还是字,任何操作数都无法判别操作数的种类时,用汇编

温馨提示

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

评论

0/150

提交评论