1 / 46

离散数学

离散数学. 电子科技大学计算机科学与工程学院 Email : ycfwsm@gmail.com 2014年9月25日. 第 8 章 16 位单片机简介. 主要内容: 在 MCS-51 单片机基础上以 8096 为例简单介绍了 16 位单片机 MCS-96 的基本组成、结构、指令系统,目的在于抛砖引玉,为读者今后学习和应用 16 位单片机奠定基础。重点是 16 位单片机的特色(如:高速输入与高速输出、脉冲宽度调制 PWM 输出、模拟输入等)。难点是 16 位单片机与 8 位单片机的比较,在掌握 8 位单片机基础上较快地掌握 16 位单片机的应用。.

lael
Download Presentation

离散数学

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 离散数学 电子科技大学计算机科学与工程学院 Email:ycfwsm@gmail.com 2014年9月25日

  2. 第8章 16位单片机简介 主要内容: 在MCS-51单片机基础上以8096为例简单介绍了16位单片机MCS-96的基本组成、结构、指令系统,目的在于抛砖引玉,为读者今后学习和应用16位单片机奠定基础。重点是16位单片机的特色(如:高速输入与高速输出、脉冲宽度调制PWM输出、模拟输入等)。难点是16位单片机与8位单片机的比较,在掌握8位单片机基础上较快地掌握16位单片机的应用。

  3. 8.1 概述 MCS-96系列单片机与MCS-51系列单片机相比较, 软、硬件资源远比较丰富,CPU采用寄存器——寄存器结构,提高了操作速度和数据吞吐能力;具有更快的运算速度,更多的外围子系统,更高效的指令系统,在89C196KC以后的芯片中,增加了一个外设事务服务器PTS,专门用于处理外设中断事务,大大减少了CPU的软件开销。 MCS-96系列单片机的主要特点包括以下几个方面: (1)16位CPU,具有高速处理能力,没有累加器,采用寄存器——寄存器结构,具有232字节的寄存器阵列; (2)具有高效的指令系统,大大提高了编程效率; (3) 4/8通道的10位A/D转换器;

  4. (4)脉宽调制PWM输出装置; (5)全双工的串行口,并有专门的波特率发生器; (6)高速的I/O系统; (7)5个8位的I/O端口; (8)可编程的8个优先级中断源; (9)16位监视定时器; (10)可动态配置的总线; (11)ROM/EPROM的内容可加密; (12)2个16位的定时器/计数器,4个16位的软件定时器。 应用范围:应用于自动控制系统、测试系统、智能仪器、外设控制器、家用电器等。

  5. 8.2 MCS-96单片机的内部结构与引脚 8.2.1 CPU结构与引脚 1.型号与封装形式 作为系列产品,MCS-96有不同的型号和封装形式。MCS-96系列产品包含2个子系列:8096和8096BH,8096BH兼容8096,但前者在性能上比后者更强,MCS-96系列的各型号产品如下表所示。

  6. MCS-96共有DIP,PGA,PLCC,LCC四种不同的封装形式。图(a)、(b)分别给出了DIP、PLCC形式的封装图。 (a)MCS-96单片机DIP封装形式 (b)MCS-96单片机PLCC封装形式

  7. 2.引脚功能 68引脚的MCS-96的各引脚功能分别说明如下: VCC:主电源电压(+5V)。 VSS:数字地。 VPD:RAM备用电源引脚(+5V)。 VREF:A/D转换器的基准电源,也是其模拟部分的电源(+5V)。 ANGND:A/D转换器的参考模拟地,通常与Vss端同电平。 VBB:由片内的反偏置发生器发出的衬底电压。 XTAL1:振荡器中反相器的输入和内部时钟发生器的输入。 XTAL2:振荡器中反相器的输出。 CLKOUT:内部时钟发生器的输出端,其频率为1/3振荡频率。 :复位输入端,在此引脚保待2个状态周期以上的低电平信号,将使芯片复位。 TEST:输入为低时,可选通工厂测试方式。正常工作时,应把此脚接到Vcc。

  8. NMI:非屏蔽中断信号输入。 INST:当对外部存储器进行读操作时,此引脚输出为高,表示是取指周期。 ALE:地址锁存允许输出。 :对外部存储器的读信号输出。 :对外部存储器的写信号输出。 :外部存储器总线的高字节允许信号输出。 READY:加长存储器周期的输出控制信号。 HSI.0~HSI.3:高速输入单元的输入信号。 HSO.0~HSO.5:高速输出单元的输出信号。 P0.0~P0.7:8位高阻抗输入口。可作为8位数字量输入口,也可以作为片内A/D转换器的8个模拟量输入信号线。当对片内EPROM编程时,另有定义。 P1.0~P1.7:8位准双向I/O口。 P2.0~P2.7:8位多功能口,其中,6条引脚分别与RXD,TXD,EXTINT,T2CLK,T2RST,PWM功能线复用。P2.6和P2.7为准双向口线,当对片内EPROM编程时,另有定义。

  9. P3.0~P3.7,P4.0~P4.7:均为具有漏极开路输出的8位双向I/O口。这些引脚可用做多路转换的地址/数据总线,它们具有内部上拉功能。当对片内EPROM编程时,另有定义。 3.MCS-96系列结钩特点 MCS-96系列16位单片机内部结构如下图所示。 8096 CPU是由寄存器、算术逻辑单元(RALU)、寄存器阵列、指令寄存器、控制单元、地址译码寄存器等部分组成。其最大特点是RALU直接对232字节寄存器阵列及专用寄存器进行各种算术逻辑操作,而没有采用常规的累加器结构,从而加速了数据的处理能力,提高了CPU的吞吐能力。同时,由于可通过专用寄存器来直接控制I/O口,加速了I/O过程。 (1)CPU总线 CPU内部的寄存器阵列通过一个控制器和2条总线( 8位的A-BUS和16位的D-BUS )与RALU相连。 D-BUS只用于RALU与寄存器之间传送数据,而A-BUS用做上述传送过程中的地址总线。当CPU访问片内、外存储器时,A-BUS可作为多路转换的地址/数据总线。

  10. (2)RALU 8096的大多数运算是靠RALU完成的。它由一个17位的ALU(其中,1位为符号位)、程序计数器PC、程序状态字寄存器PSW、循环计数器和3个暂存寄存器组成的,其结构如图下所示。

  11. RALU中,所有的寄存器都是16位或17位的。高位字寄存器和低位字寄存器都有自己专用的移位逻辑,可进行数据规格化、乘除法等运算中的逻辑移位操作。延时环节用于把16位总线D-BUS上的地址/数据转换成8位总线A-BUS上的信息。常数0,1和2存储在RALU中,以加速某些运算,如取补或加1、减1运算。16位程序状态字PSW高位保留了用户程序所需的信息状态字。PSW的格式如下表所示。RALU中,所有的寄存器都是16位或17位的。高位字寄存器和低位字寄存器都有自己专用的移位逻辑,可进行数据规格化、乘除法等运算中的逻辑移位操作。延时环节用于把16位总线D-BUS上的地址/数据转换成8位总线A-BUS上的信息。常数0,1和2存储在RALU中,以加速某些运算,如取补或加1、减1运算。16位程序状态字PSW高位保留了用户程序所需的信息状态字。PSW的格式如下表所示。

  12. 16位程序状态字PSW的各位的定义如下: Z:零标志,操作结果为零时置位。 N:符号标志,操作结果为负值时置位,与溢出无关。 V:溢出标志,当产生溢出时置位。 VT:溢出陷阱标志,当V标志置位时,VT也置位。但VT置1后只能由专门的指令使其清0。 C:进位标志,操作结果最高位产生进位时置位。减法操作产生借位时C置位。 I:总的中断允许位。 ST:黏附位,在右移操作时,一个1进入C,然后又移出时置位。ST与C一起使用,可以在右移操作后控制四舍五入。 INT-MASK:中断屏蔽寄存器,控制每一种中断源是被允许还是禁止。

  13. (3)CPU寄存器阵列 寄存器阵列实际上是片内的RAM,它包含232字节的RAM单元,这些单元可以按字节、字或双字进行访问,每个单元都可以为RALU所用。 (4)时钟信号 MCS-96具有内部振荡器电路和3相时钟发生器,如图所示,一般在XTALl和XTAL2端外接一个6~12MHz的晶体。振荡器的频率信号被3分频后产生3个内部定时信号,称为A,B,C相,每一相的占空比为33%,每3个满周期为1个状态周期。XTALl与A,B,C相定时信号的关系如图所示。

  14. 8.2.2 存储器与I/O端口 1.存储器 MCS-96具有一个逻辑上完全统一的存储器空间,寻址范围为64KB。存储器空间分配如右图所示。

  15. 0000H~00FFH为内部RAM(寄存器阵列和专用寄存器),1FFEH和1FFFH分别留给P3和P4口,9个中断向量放在2000H~2011H 中,2012H~207FH存放厂家的测试编码。所以系统复位时,PC指向2080H。片内的程序存储器配置在2000H~3FFFH上。如果用户系统需要配置RAM,建议将其配置在 0100H~1FFFH上,使这8KB的RAM 与片内的RAM连在一起,便于使用。内部RAM的分配如下页图所示。 00H~17H为专用寄存器,26个专用寄存器名及其功能列于下页表中。其中,18H~19H用于存放堆栈指针。从18H到FFH是用户使用的内部RAM区,可按字节、字、双字存取。RALU能直接对它们读写。F0H~FFH用于掉电时存放需保护的数据,这16个单元可由VPD引脚单独对其供电(+5V,1mA),以保护其内容。 RALU与内、外存储器的通信是由存储器控制管理的,其间有A-BUS和一些控制信号相连。因为A-BUS是8位的,为加快取指速度,控制器内有一个辅助程序计数器,存储器控制器中有一个3字节的指令队列,均用以加快指令的执行。

  16. 2.外部存储器的扩展 8096扩展2764的电路与8位单片机的连接电路类似。ALE用于锁存地址。8096中可以按字或按字节访问外部存储器。其电路如下图所示。

  17. 8.2.3 中断系统 1.中断系统 MCS-96的中断系统允许9种中断源,对应的中断向量和优先权如下表所示,其中,用户可以使用的只有8种中断源。但每一种中断源均可对应多种激活方式,如下页图所示。从这个意义上讲,8096有多至20个中断源。

  18. 2.中断控制 MCS-96有2个寄存器与中断控制密切相关,它们分别为中断悬挂寄存器和中断屏蔽寄存器,两者的定义是类似的,相应的位对应于同一种中断源,如下图所示。

  19. 09H为中断悬挂寄存器(INT-PENDING),当CPU检测到上述8种中断源有由低到高跳变时,就把该寄存器的相应位置位,即把此中断悬挂(悬挂是指有中断申请而尚未得到响应的状态)起来。一旦被悬挂的中断得到响应,相应位被清除。中断悬挂寄存器可以用指令写入,故可以靠对该寄存器的某位置1来产生软件中断,也可以靠清除相应位来撤除已悬挂的中断。09H为中断悬挂寄存器(INT-PENDING),当CPU检测到上述8种中断源有由低到高跳变时,就把该寄存器的相应位置位,即把此中断悬挂(悬挂是指有中断申请而尚未得到响应的状态)起来。一旦被悬挂的中断得到响应,相应位被清除。中断悬挂寄存器可以用指令写入,故可以靠对该寄存器的某位置1来产生软件中断,也可以靠清除相应位来撤除已悬挂的中断。 08H为中断屏蔽寄存器(INT-MASK),用来控制是否允许某个中断源的中断申请。当某位置1时,相应的中断被允许,否则被禁止。对8种中断源总的控制要用EI和DI指令。8个中断源是有优先权的,当有多种中断同时挂起时,CPU先响应优先权最高的一种中断。

  20. 8.2.4 高速I/O部件和定时器/计数器 高速I/O部件是由高速输入单元(HSI)、高速输出单元(HSO),一个定时器(定时器1),一个事件计数器(定时器2)组成。“高速”的含义是这个部件的工作只与内部的定时器有关(由定时器同步),而不用CPU的干预。 HSI用来记录事件发生的时间,HSO能按程序设定的时间触发一个事件。定时器也能单独地工作。 1.定时器 定时器的工作一般要和HSI,HSO部件配合协调工作。 定时器1:是一个16位的计数器,其时钟信号来自内部时钟发生电路,每8个状态周期计数器加1。当计满时,能触发一个中断,对I/O状态寄存器(IOSl)的位5置位。作为系统实时时钟的定时器1,它一直在循环计数,任何时候都可以读它,只有用系统复位操作才能使它停止计数。 定时器2:定时器2也是一个16位的计数器,其时钟来自引脚HSIl/T2CLK,实际上是个外部事件计数器。每当引脚上有正和负跳变时,计数器加1。当计满时,也触发一个中断,并对IOS1.4置位。定时器2可以有多种清零方式。

  21. 2.高速输入单元HIS 高速输入单元HSI是用来记录外部事件发生时刻及转入相应的处理程序的,其结构如右图所示。它包括HSI方式寄存器和HSI状态寄存器(如下页图所示)。7×20先进先出(FIFO)寄存器阵列、保持寄存器、HSI时间寄存器、HSI事件检测器和定时器1等部分。

  22. HSI事件检测器可测出HIS.0~HSI.3中任一引脚上发生的变化事件,定时器1记录事件发生的时间,事件的形式可以由方式寄存器设定。定时器1所记录的时间及表示哪一个引脚上发生事件的信息存入FIFO中。HSI事件检测器可测出HIS.0~HSI.3中任一引脚上发生的变化事件,定时器1记录事件发生的时间,事件的形式可以由方式寄存器设定。定时器1所记录的时间及表示哪一个引脚上发生事件的信息存入FIFO中。 HSI也可产生中断。一种是利用IOCl的位7控制,这种中断称为HSI数据有效中断,其中断向量地址为2004H~2005H。另一种是在HSI.0引脚上有0到1的跳变时所产生的中断,称为HSI.0中断,其中断向量地址为2008H~2009H。 在读取HSI的内容时,先读HSI状态寄存器,以获知HSI引脚的目前状态,以及是哪些引脚在记录时刻发生了变化事件。再读HSI的时间寄存器,每读一次时间寄存器,就使FIFO失掉一项数据。因此,若在读状态寄存器之前读取时间寄存器,就会丢失状态寄存器中的信息。

  23. HSI.0~HSI.3都是多功能引脚,要把它们用做高速输入功能时,需要用IOC0进行控制,下图是IOC0对HSI引脚功能的控制。HSI.0~HSI.3都是多功能引脚,要把它们用做高速输入功能时,需要用IOC0进行控制,下图是IOC0对HSI引脚功能的控制。 3.高速输出部件HSO 高速输出部件用来在预定的时间内触发外部事件并申请中断。由HSO命令寄存器、HSO时间寄存器、HSO保持寄存器、按内容访问的存储器(CAM)阵列、比较器、多路开关、控制逻辑、输出部件和两个定时器组成,如下页图所示。

  24. 这些事件包括:启动A/D转换、复位定时器2、设置4个软件定时器标准、接通6根输出线。当这些事件中任一种被触发时,就能产生中断请求。其中的内容为可寻址的存储器阵列CAM,它由8个23位长度的寄存器阵列组成,其中,16位存放触发某一事件的预定时间,7位存放命令。这些事件包括:启动A/D转换、复位定时器2、设置4个软件定时器标准、接通6根输出线。当这些事件中任一种被触发时,就能产生中断请求。其中的内容为可寻址的存储器阵列CAM,它由8个23位长度的寄存器阵列组成,其中,16位存放触发某一事件的预定时间,7位存放命令。 HSO命令寄存器如右图所示,位0~3(00~0FH通道)表示这一帧命令是对哪一种事件发出的。

  25. 4.软件定时器 HSO通过编程可设定4个16位的软件定时器(ST0~ST3),当4个定时器中有一个时间到,就自动在IOS1中设置一个标志。如果对命令寄存器的位4置位,就能产生一个软件定时器中断。中断服务程序通过检测IOC1能获知是哪一个定时器时间到了,多个软件定时器同时发生中断将产生多重中断。

  26. 8.2.5 脉冲宽度调制PWM 大多数控制系统都需要用A/D和D/A两种转换器,但要在同一芯片上同时完成A/D和D/A转换是很困难的。MCS-96用脉冲宽度调制PWM的方法来实现D/A转换的功能。其原理如右图所示。其中主要部件有脉宽控制寄存器、比较器和计数器。

  27. 通过设定脉宽寄存器的值PWM可以获得256种不同脉宽的波形,如下图所示(图中给出了5种不同占空比的输出波形)。当脉宽寄存器为0时,输出始终为低电平,当脉宽寄存器为255时,输出基本上为高电平。从图8中看出PWM的输出不是理想的直流模拟信号,还要在外电路中加以平滑。但是很多电机和开关电源可以直接使用PWM的输出信号。

  28. 8.2.6 模拟输入 MCS-96系列的部分产品中有一个逐次逼近型的10位A/D转换器,共有8个通道。当采用12MHz晶振时,每次转换时间为42μs。A/D转换8个通道的模拟电压输入引脚与P0口的8根口线复用,通过写命令寄存器可以控制通道选择和启动A/D转换,命令寄存器如下图所示。每启动一次A/D转换都必须对命令寄存器进行一次写操作。用HSO触发转换时也不例外。

  29. 当一次转换正在进行时,又启动了另一次新的转换,会把正在进行的转换撤销掉,A/D转换结果寄存器的内容也会被消除掉。因此在新的转换开始前,应把原转换结果读走。结果寄存器是16位的,读出时应按字节分两次读出。结果寄存器如下图所示。当一次转换正在进行时,又启动了另一次新的转换,会把正在进行的转换撤销掉,A/D转换结果寄存器的内容也会被消除掉。因此在新的转换开始前,应把原转换结果读走。结果寄存器是16位的,读出时应按字节分两次读出。结果寄存器如下图所示。 8.2.7 其他部件 1.串行口 MCS-96有一个全双工的串行口,能同时收发信息。与MCS-51串行口是兼容的,也有4种工作模式(请参考MCS-51串行口),通过对串行口控制寄存器的编程设定其工作模式。MCS-96有一个单独的波特率发生器专供串行口使用,故HSI,HSO和定时器的功能不受影响,这一点有别于MCS-51。

  30. 2.输入/输出口 MCS-96有5个8位口,有的只作输入,有的只作输出,也有的是输入/输出双向口且有替换功能。5个8位口功能如下: P0口:仅用作输入,与A/D转换器的模拟输入信号复用引脚。 P1口:准双向8位口。 P2口:多功能双向口。其功能如下表所示。 P3口与P4口:P3口与P4口具有两种功能。当访问外部存储器时,用作系统的地址/数据分时复用总线。若引脚接高电平,则它们是漏极开路的双向输入/输出口。 输入/输出口有2个控制寄存器IOC0和IOC1,用来控制I/O口线的功能。IOC0控制定时器2和HSI的4个引脚的功能;IOC1控制其他一些口线的功能。此外,还有2个状态寄存器IOS1和IOS0,用来记录一些口线的当前状态和HSO,HSI的某些状态。

  31. 3.监视定时器WDT和系统复位 监视定时器WDT是一个16位计数器,在启动后,每个状态周期其计数器加1,当计数器溢出时,把引脚电平拉低至少2个状态周期的时间,使系统复位,重新初始化。 监视定时器提供了一种使系统能从瞬间故障中自动恢复的能力,如果出观故障,程序不能正常运行,则WDT没有按时清0而产生超时(溢出)时,WDT溢出就会使系统复位,这样就能保证在非正常工作时间不会超过16ms。

  32. 8.3 MCS-96单片机指令系统简介 MCS-96指令系统的功能是极其丰富的,包括数据传送、算术运算、内外的堆栈操作、转移(无条件转移、条件转移、位测试转移)和调用、循环控制、单寄存器操作、移位、控制和规格化等功能。 8.3.1 操作数类型 MCS-96指令操作数类型有7种:字节Byte、字Word、短整数Short-Integer:、整数Integer、位bit、双字Double-Word、长整数Long-Integer。 与一般单片机不同,在MCS-96指令系统中,所用工作寄存器并不是特定地址的寄存器,是通过用户在编程时把内部RAM中一些单元定义为工作寄存器。指令中的操作数也不是寄存器名,而是广义的符号,它们是:

  33. Breg:内部RAM中的一个字节寄存器。有时,为了区分是目的操作数,还是源操作数,可用前缀“D”或“S”来标志。 ② Wreg:内部RAM中的一个字寄存器。也可在前面加“D”或“S”,以识别它是目的操作数,还是源操作数。 ③ Baop:可用任一种寻址方式的字节操作数。 ④ Waop:可用任一种寻址方式的字操作数。 ⑤ Bitno:操作码中的三位,由这三位选择一个字节中的某一位。 ⑥ Lreg:内部RAM中的一个双字寄存器。 ⑦ Cadd:程序中代码的地址。

  34. 8.3.2 寻址方式 MCS-96指令系统中具有6种基本寻址方式: (1)寄存器直接寻址 直接访问片内256字节的RAM,一条指令中可以有多至3个操作数采用这种寻址方式。 如:ADD AX, BX, CX ; (AX)=(BX)+(CX) MUL AX, BX, ; (AX)=(AX)×(BX) INCB CL ; (CL)=(CL)+1 (2)间接寻址 访问整个存储空间,被访问数的地址应放在一个16位的寄存器中,一条指令中只能有一个操作数采用间接寻址,其他操作数必须采用寄存器直接寻址。 如:ADDB AL, BL, [DX] ; (AL)=(BL)+((DX)) POP [AX]

  35. 在这类寻址方式中还包含自动增量间接寻址,但需根据操作数是字节还是字,指令执行后地址寄存器要自动加1或2。在这类寻址方式中还包含自动增量间接寻址,但需根据操作数是字节还是字,指令执行后地址寄存器要自动加1或2。 如:LD BX, 1234H LDB AX, [BX]+ ; 把1234H单元的内容送AX的地位字节, 执行后 (BX)=1235H (3)立即寻址 操作数直接放在指令中。一条指令中只能有一个立即数,其他操作数必须采用寄存器直接寻址。 如:PUSH #1234H ADD AX, #340H (4)变址寻址 ① 短变址寻址:有效地址是由基地址加偏移量组成的,基址寄存器为内部RAM中的一个16位寄存器,偏移量为一个带符号的8位数。可访问整个存储空间。 如:MULB AX, BL,3[CX] ; (AX)=(BL)×((CX)+3) LD AX, 12 [BX] ; (AX)=((BX)+12)

  36. 长变址寻址:与短变址类似,只是偏移量是16位数。 如:AND AX, BX, TABLE[CX] ; (AX)=(BX)∧((CX)+TABLE) 其中:TABLE是一个16位的地址变量。 (5)零寄存器寻址方式 硬件把内部RAM的00H和01H单元固定为零,故称为零寄存器。除了在一些计算和比较运算中用来做常数零外,还可用在长变址寻址中,从而可以直接访问整个存储空间。 如:ADD AX, 1234[0] ; (AX)←((寄存器0)+1234) (6)堆栈指针寄存器寻址 堆栈指针也可以当做一般的寄存器用,因此可做短变址寻址中的地址寄存器. 如:LD AX, [SP] ; (AX)←(SP)(SP+1)

  37. 8.3.3 MCS-96指令系统简介 教材P310表8.3.1中列出了全部指令的助记符、操作数、操作码、寻址方式、执行时间、字节数等。下面通过典型指令进行概述。 (1)ADD dwreg, swreg, waop 功能:两个源操作数swrge, waop相加后,存于目的操作数dwreg。 目的码格式:[010001aa] [waop] [wreg] [dwreg] 字节:3+BEA 执行时间:3+CEA 其中:BEA表示对所选择的寻址方式不同而需要附加的代码字节数。CEA表示对所选择的寻址方式不同而需要附加的状态周期数。 (2)ANDB brag, baop 功能:两个字节操作数对应位相与,结果存入目的操作数。 目的码格式:[011100aa] [baop] [breg] 字节:2+BEA 执行时间:4+CEA

  38. (3)EXT lreg 功能:操作数的低位字的符号位扩展到高位字,即当低位字<8000H时,0000H送高位字;否则,FFFFH送高位字。 目的码格式:[00000110] [lreg] 字节:2 执行时间:4 (4)JBC brag, bltno, cadd 功能:被测试的指定位为0时,把此指令结束处至目标标号的偏移加到PC值上,造成跳转。此偏移量的取值范围为—128~+127,若被测试位为1,则顺序执行下一条指令。 目的码格式:[00110bbb] [brag] [bltno] 其中:bbb是指令寄存器内的位号 字节:3 执行时间:不跳转时为5,跳转时为9 (5)LDB breg, baop 功能:源字节操作数的值存入目的操作数。 目的码格式:[101100aa] [baop] [breg] 字节:2+BEA 执行时间:4+CEA

  39. (6)SHRAB breg, #count或SHRAB breg, breg 功能:一个字节寄存器的8位右移n次,n由COUUNT或另一字节寄存器的内容确定。当最高位初始为0时,每次右移都以0填入最高位;当最高位初始为1,则把1填入。这样可以保持数的符号。这种移位称为算术右移。 目的码格式:[00011010] [cut/ breg] [breg] 字节:3 执行时间:7+移位次数 注:BEA----对所选择的寻址方式不同而需要附加的代码字节数。 CEA----对所选择的寻址方式不同而需要附加的T状态数。

  40. 作业与练习: 8.2 8.3 8.4 8.6 8.9

More Related