微机原理与汇编习题答案

第一章                   微型计算机概论

1. 单项选择题

1  C     2  A 3 B   4  D    5  C

2.填空题

1 1946  ;(2)硬件系统,软件系统 3)二进制数 4)执行程序

5 只读存储器

3.名词解释

1  主机:在硬件系统中,CPU、内存、输入输出接口统称为主机。

2  微处理器:把CPU集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路被称为微处理器。

3  总线:总线是一组连接计算机各部件的公共通信线路,此时各部件之间的通信关系是面向总线的单一关系。

4  存贮器:用于存放数据的部件。计算机存贮器可分为两大类:内存和外存。内存是CPU能直接寻址的地址空间。外存是辅助存贮设备。

4简答题

1)计算机采用存储程序的方式工作,程序由指令和数据组成。将编好的程序送入计算机的内存贮器中,然后启动计算机工作,计算机无需操作人员干预,能自动逐条取出指令,分析指令和执行指令。计算机的工作过程就是执行程序的过程。

2)微型计算机通常由微处理器、存贮器、输入输出接口、总线以及其它支持逻辑电路组成。

3)衡量微型计算机系统的主要技术指标有:字长、运算速度、存贮器容量、总线类型与总线速度、主板与芯片组类型、外设配置、软件配置。

  第二章   计算机中的信息表示方法

1解:(1

  2

  3

  4

 

2解:(1

原码是在数N的最高位增加一个符号位,“1”表示正,“0”表示负。

       

正数的反码与原码相同,负数的反码符号位为“1”,数值为原码按位取反。

       

正数的补码与原码相同,负数的补码符号位为“1”,数值为原码按位取反加一。

   2          

                  

        

0作为有符号数时,0在原码和补码中各有两种不同的表示形式,而在补码表示法中,0的形式是唯一的。

   3

3解:已知补码求原码时,正数的原码、反码和补码都相同;如为负数,则符号位保持“1”不变,数值部分为补码的数值部分取反加一。

   

小数的原码、反码和补码中,最高位为符号位,而小数的整数部分0不表示出来。

4.解:原码运算时符号位不参加运算,参加运算的只是数值部分,而反码和补码的符号位和数值位一样参加运算。

   1

    

    

    

     结果为负数的补码,再求出原码

       

    

     结果为负数的反码,再求出原码

       

   2

    

    

    

       

   

       

5解:8421BCD码不能直接转换为二进制数,先把BCD码按规则转换为十进制数,再进行十进制到二进制的转换。

     1

     2

十进制数0.9不能用有限位二进制小数表示,按误差要求取足够的位数即可。

第三章  80X86微处理器

1选择题

1 D 2 D 3 C 4 A 5 B

2填空题

1204,状态信息 ;(2FFFF0H,内存储器,无条件转移 ;(364K16字节

4)线性地址,物理地址 5)多媒体

3名词解释

1)指令队列:指令队列是总线接口部件预先从内存读取的几条指令。指令队列的存在使总线接口部件(BIU)和执行部件(EU)并行工作,减少了CPU为取指令而等待的时间,从而加快运行速度。

2) 逻辑地址:段地址与偏移地址的合称,用“段地址:偏移地址”表示。是程序员在编程时使用的地址。

3)物理地址:物理地址是存储器的实际地址,对应于CPU的地址线引脚的信号。

4)段描述符:段描述符是保护方式下为寻址存储器而引入的一种数据结构,它用来描述数据段、堆栈段以及代码段在存储器中的起始位置、段的界限值和访问权限。

5 CISCCISC是指复杂指令集。基本特点为:复杂指令;多种内存寻址方式;微程序结构。

4简答题

1)答:8086/8088分为总线接口部件(BIU)和执行部件(EU)两部分。

总线接口部件(BIU)包括416位的段寄存器、116位指令指针寄存器,先入先出的指令队列、20位地址加法器及总线控制逻辑。

执行部件(EU)包括816位的通用寄存器、116位的标志寄存器、ALUEU控制电路。

2)解:数据段的物理地址范围:021F0H121EFH

         扩展段的物理地址范围:0A320H1A31FH

         代码段的物理地址范围:234E0H334DFH

3)解:CPU访问存贮器时或I/O端口的信号主要是M/IOALERDWRDT/RDEN等。当HOLD信号有效并得到相应时,地址/数据引脚、地址/状态引脚、控制信号引脚M/IOALERDWRDT/RINTA都处于高阻。

4)解:堆栈段在存贮器中的物理地址范围为 25800H26000H若当前堆栈中已存有10个字节的数据,那么SP的值应为07F6H

5)答:分段部件将逻辑地址通过描述符的数据结构行程32位的线性地址,分页部件接受到线性地址后,通过两次页转换将其变换为32位物理地址。CR0 寄存器的PG=1时,启动分页。段的大小在4G内可变,页的大小为4K。如果一个页面的首地址为ABC05000H,则下一个页面的首地址为ABC06000H

第四章  指令系统寻址方式

11)立即数寻址                2)变址寻址

 3)寄存器寻址                4)基址加变址寻址

2.(1)不合法,原操作数与目的操作数不匹配

2)不合法,立即数不能与CS直接传送。

3不合法,I/O端口的地址超过255时,要用间址的方式。

4不合法,立即数不能为目的操作数。

3.(1),(SP=1FFEH

  2)(AX=3355H,(DX=4466H,(SP=1FFEH

4             MOV  SI1000H  SI指向第一个数据

                MOV  DI2000H  DI指向第二个数据

                MOV  CX8      ;共有8字节长

                CLC               ;清除进位标志

         LOOPMOV  AL[SI]    ;取第一个数据的一个字节

                ADC  AL [DI]   ;加第二个数据的相应字节

                DAA              ;十进制调整

                MOV  [DI]AL    ;存到指定的内存区域

                INC   SI           ;指向下一个字节

                INC   DI           ;指向下一个字节

                DEC  CX           ;计数器减一

                JNZ   LOOP        ;未算完,继续

                  …….

5           CLD                     ;清除方向标志

                LEA  DI[0404]          ;将目的地址0404HDI

                MOV  CX0080H        ;共有128个字

                XOR   AXAX          AX0

                REP  STOSW          ;将256个字节清0

6           MOV  CX28H       ;数组长度为28H,即40个元素。

                MOV  SI0FFH       ;数组元素号从0开始,先设为FFH

       NEXT  INC   SI             ;当前数组序号放在SI

                CMP  BYTE  PTR [SI]0   ;判断此元素是否为0

                JOOPZ  NEXT             ;当Z=1,且CX不等于0时,即当前元素为0且未找完,则继续找

                JNZ  OKK                ;当找到一个非0元素时,转OKK

                CALL  DISPLAY1         ;若未找到任何一个非0元素,显示出错信息

                RET

       OKK   CALL  DISPLAY2         ;若找到非0元素,显示此元素。

                RET