微机原理1-2
- 格式:doc
- 大小:67.50 KB
- 文档页数:4
80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
习题2参考答案2.1 8086 CPU共有哪些16位寄存器?其中哪些16位寄存器可分为二个8位寄存器来使用?参考答案:8086 CPU共有AX、BX、CX、DX、SI、DI、SP、BP、IP、FLAGS、CS、DS、ES、SS共14个16位的寄存器。
其中AX、BX、CX、DX可分为二个8位寄存器来使用2.2 简述8086 CPU各通用寄存器的主要功能?参考答案:8086 CPU包含AX、BX、CX、DX、SI、DI、SP、BP共8个通用寄存器。
其中AX主要用在字的乘、除法,输入/输出指令中;BX主要在寄存器间接寻址和XLAT指令中作基址寄存器使用;CX主要在串操作指令和LOOP指令中作计数器使用;DX主要在字的乘除法指令和输入/输出指令中使用;SI主要在字符串操作指令中作源变址寄存器使用;DI主要在字符串操作指令中作目的变址寄存器使用;SP主要在堆栈操作中作堆栈指针使用;BP主要在寄存器间接寻址中作基址指针使用。
2.3 8086 CPU的标志寄存器有几个状态标志位?几个控制标志位?它们各自的含义和作用是什么?在Debug环境下,对应的用什么符号来表示之?参考答案:8086 CPU的标志寄存器有6个状态标志位,有3个控制标志位。
其中CF进位标志位主要用来反映运算结果是否产生进位或借位,如果运算结果的最高位向前产生了一个进位(加法)或借位(减法),则其值为1,否则其值为0;PF奇偶标志位用于反映运算结果中低8位含有“1”的个数的奇偶性,如果“1”的个数为偶数,则PF 的值为1,否则为0;AF辅助进位标志位表示加法或减法运算结果中D3位向D4位产生进位或借位的情况,有进位(借位)时AF=1;无进位(借位)时AF=0;ZF零标志位用来反映运算结果是否为0,如果运算结果为0,则其值为1,否则其值为0;SF用来反映运算结果的符号位,当运算结果为负数时,SF的值为1,否则其值为0;OF溢出标志位用于反映带符号数运算所得结果是否溢出,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
第2 章习题参考答案1 8086CPU 由哪两局部构成它们的主要功能是什么?答:8086CPU由两局部组成:指令执行部件(E U,E x e c u t i o n U n i t)和总线接口部件(B I U,B u s I n t e r f a c e U n i t)。
指令执行部件〔EU〕主要由算术逻辑运算单元(A L U),标记存放器F R,通用存放器组和 EU 限制器等 4 个部件组成。
其主要功能是执行指令。
总线接口部件(B I U)主要由地址加法器, 专用存放器组,指令队列和总线限制电路等4 个部件组成。
其主要功能是形成访问存储器的物理地址, 访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参与 EU 运算或存放运算结果等。
2.8086C P U预取指令队列有什么好处?8086CPU 内部的并行操作表达在哪里?答:8086CPU 的预取指令队列由 6 个字节组成。
根据 8086CPU 的设计要求,指令执行部件〔EU〕在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在 CPU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU 内部的并行操作表达在指令执行的同时,待执行的指令也同时从内存中读取并送到指令队列。
3.8086CPU 中有哪些存放器?各有什么用途?答:CPU 有 14 个内部存放器,可分为 3 大类:通用存放器,限制存放器和段存放器。
通用存放器是一种面对存放器的体系构造,操作数可以直接存放在这些存放器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
指令执行部件〔EU〕设有 8 个通用存放器:AX:累加器,一般用来存放参与运算的数据和结果,在乘,除法运算,I/O操作,BCD 数运算中有不可替代的作用BX:基址存放器,除可作数据存放器外,还可放内存的逻辑偏移地址CX:计数存放器,既可作数据存放器,又可在串指令和移位指令中作计数用DX:DX 除可作通用数据存放器外,还在乘, 除法运算,带符号数的扩展指令中有特别用途源变址存放器SI:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 DS 存放器中,也可放数据目标变址存放器D I:多用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 DS 存放器中,也可放数据基址指针 BP:用于存放内存的逻辑偏移地址,隐含的逻辑段地址在 SS 存放器中堆栈指针 SP:用于存放栈顶的逻辑偏移地址,隐含的逻辑段地址在 SS 存放器中限制存放器包括指令指针存放器I P和标记存放器F L A G:I P 用来指示当前指令在代码段的偏移位置。
第一章
一.思考题(略)
二.综合题
1.设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码。
2.下列各数均为十进制数,试用8位二进制补码计算下列各题,将运算结果用两位十六进制数表示。
3. 已知以十六进制数形式给出的补码,求出其相应的真值:
答:
4.下列各数均为十进制数,试用8位二进制补码计算下列各题,判断说明运算结果是否溢出。
5.设机器字长为8位。
根据给出的不同形式的机器数,如下表,计算其对应的十进制表示的真值。
答:
第二章
一.思考题(略)
二.综合题
1.设当前SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则当前栈顶的物理地址是多少?若连续执行PUSH AX,PUSH BX,POP CX 3跳指令后,堆栈的内容发生了什么变化?AX ,BX,CX中的内容是什么?
答:物理地址=C0000H+2000H=C2000H;
执行指令后,地址C000H:2001H内容是23H;
地址C000H:2002H内容是55H;
地址C000H:2003H内容是87H;
地址C000H:2004H内容是88H;
AX=2355H,BX=CX=8788H;
2.假设某CPU的时钟频率是8MHz,如果在进行存储器写操作时插入了一个等待周期,完成该写操作的总线周期所需要的时间是多少ns?
答:
时钟周期=1/8MHz=125ns;
所以所需时间=时钟周期*5=625ns。
3.设存储器内数据段中存放了两个字2FE5H和3EA8H,已知DS=3500H,数据存放的偏移地址为4B25H和3E5AH,画图说明两个字在存储器中的存放情况。
若要读取这两个字,需要对存储进行几次总线读操作?
答:
2个字共需要3次总线操作。
4. 8086中的标志寄存器FR 中有哪些状态标志和控制标志?这些标志位各有什么含义?假设(AH )=03H ,(AL )=82H ,试指出将AL 和AH 中的内容相加和相减后,标志位CF 、AF 、OF 、SF 、IF 和PF 的状态。
答:
6个状态标志: CF :进位标志; PF :奇偶标志;
AF :辅助进位标志; ZF :零标志; SF :符号标志; OF :溢出标志; 3个控制标志:
IF :中断允许标志; DF :方向标志; TF :单步标志。
03H+82H=85H 计算后:CF=0;PF=0;AF=0;ZF=0;SF=0;OF=0。
5. 有一个22个字的数据组成的数据区,起其实地址为6101H :1CE7H 。
试计算出该数据区首末存储单元的物理地址? 答:
起始物理地址为:62CF7H
数据区末的物理地址为:62CF7H+(22*2-1)2 = 62D22H
6. 假设(SS )=20A0H ,(SP )=0032H ,将(CS )=0A5BH ,(IP )=0012H ,(AX )=0FF42H ,(SI )=537AH ,(BL )=5CH 依次压入堆栈保存。
要求: (1)画出堆栈数据存放示意图;
(2)写出压栈完毕后SS 和SP 的值。
答:(1)
(2)
SS=20A0H , SP=0028H
7. 若某存储单元的实际地址为2BC60H ,且该存储单元所在的段首地址为2AF00H ,则该存储单元在段内的偏移地址为多少? 答:
偏移地址=2BC60H-2AF00H=0D60H。