当前位置:文档之家› 微机原理作业及参考答案

微机原理作业及参考答案

第一章计算机基础(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,试计算下列各式。

(字长8位)(1)[x1+y1]补(2)[x1-y2]补(3)[x2-y2]补(4)[x2+y2]补(5)[x1+2*y2]补(6)[x2+y2/8]补答案:(1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101(2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101(3)[x2-y2]补=[x2]补+[-y2]补=11101100+00100001=00001101(4)[x2+y2]补=[x2]补+[y2]补=11101100+11011111=11001011(5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+10111110=11010010(6)[x2+y2/8]补=11101100+[y2/8]补=11101100+11111100=111010001-7 用补码来完成下列运算,并判断有无溢出产生(字长为8位):(1)85+60 (2)-85+60(3)85-60 (4)-85-60答案:(1)[x]补+[y]补=01010101+00111100=10010001 = -111,有溢出(2)[x]补+[y]补=10101011+00111100=11100111 =-25,无溢出(3)[x]补+[y]补= 01010101+11000100=00011001 =25,无溢出(4)[x]补+[y]补=10101011+11000100=01101111 =111,有溢出1-8在微型计算机中存放的两个补码数,试用补码加法完成计算,并判断有无溢出产生。

(1)[x]补+[y]补=01001010+01100001=10101011有溢出(2)[x]补-[y]补=01101100-01010110 = 01101100+10101010=00010110 无溢出注:[ X]补-[Y]补=[X]补+[-Y]补[-Y]补的算法:将[Y]补连同符号位一起按位取反加11-9 试将下列各数转换成BCD码:(1)(30)10 (2)(127)10(3)00100010B (4)74H答案:(1)(30)10 = (0011 0000)BCD(2)(127)10 = (0001 0010 0111)BCD(3)00100010B = 34 = (0011 0100)BCD(4)74H = (116)10 = (0001 0001 0110)BCD1-10 下列各数代表什么ASCII字符:(1)41H (2) 72H(3) 65H (4) 20H答案:(1)41H =(0100 0001)2,代表字符A。

(2)72H = (0111 0010)2,代表字符r。

(3)65H = (0110 0101)2,代表字符e。

(4)20H = (32)10 = (0010 0000)2, 代表SP。

1-11 写出下列字符的ASCII码:9,*,=,!,$答案: 9 0011 1001* 0010 1010= 0011 1101! 0010 0001$ 0010 00011-19 地址总线:传递地址信息的总线数据总线:传输数据控制总线:传输控制信号,时序信号和状态信息1-20 指令:人们规定计算机执行特定操作(加、减、乘、除、移位……)的命令。

指令系统:计算机全部指令的集合第二章80X86/Pentium微处理器(P90)2-7 8086/8088有几位状态位?有几位控制位?其含义分别是什么?答:8086/8088有6位状态位,3位控制位。

状态位:CF进位标志;PF奇偶标志;AF辅助进位标志;ZF零标志;SF符号标志,OF溢出标志。

控制位:IF 允许中断标志;DF方向标志;TF陷阱标志2-15物理地址:存储区域的某一单元地址,地址信息是20位二进制代码. CPU 是以物理地址访问存储器.逻辑地址:编程时采用,由段基址和偏移量组成.8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示。

同一物理地址可对应多个逻辑地址2-16 段寄存器指示的存储区域的起始地址称为段基址,偏移量是在某段内指定存储单元到段基址的距离。

段基址和偏移量共同组成物理地址,物理地址PA=段基地址×16 + 偏移量2-17 A0000H-AFFFFh2-18 B000H2-20 已知堆栈段寄存器SS=A000H,堆栈指示器SP=0100H,试将数据1234ABCDH 推入堆栈,画出进栈示意图。

最后栈顶SP=?答: SP=00FCH物理地址 0A00FCH---0A00FFH的内容依次为CD,AB,34,12.注:SP:堆栈栈顶指示器,16位寄存器,存放栈顶的偏移地址。

2-21 试求出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别。

(1)1278H+3469H(2)54E3H-27A0H(3)3881H+3597H(4)01E3H-01E3H解:(1) 0001 0010 0111 1000+ 0011 0100 0110 10010100 0110 1110 0001CF=0 PF=1 AF=1 ZF=0 SF=0 OF=0(2) 0101 0100 1110 0011+ 1101 1000 0110 00001 0010 1101 0100 0011CF=0 PF=0 AF=0 ZF=0 SF=0 OF=0(3) 0011 1000 1000 0001+ 0011 0101 1001 01110110 1110 0001 1000CF=0 PF=1 AF=0 ZF=0 SF=0 OF=0(4) 0000 0001 1110 0011+ 1111 1110 0001 11011 0000 0000 0000 0000CF=0 PF=1 AF=0 ZF=1 SF=0 OF=0注:16位操作数的最低二进制位:b0、最高二进制位:b15 AF:看b3是否向b4有进(借)位:辅助进借位对减法运算,若采用补码的加法进行,则CF取反。

第三章 80X86/Pentium指令系统(P135)3-4 (1) 7237H (2) D5B4H (3)637DH寻址方式:(1)MOV SI,2100H (2)MOV CX,DISP[BX](3)MOV [SI],AX (4)ADC AX,[BX][SI](5)AND AX,DX (6)MOV AX,[BX+10H](7)MOV AX,ES:[BX] (8)MOV AX,[BX+SI+20H](9)MOV [BP],CX (10)PUSH DS地址表达式:标号/变量/常量+基址寄存器+变址寄存器[地址表达式]:存储器操作数,以地址表达式的值为偏移地址3-7 (4) (10) (14)正确。

(1)AX=3355H, SP=1FFFEH(2) AX=3355H, DX=4466H, SP=1FFFEH3-12 (1) CL=0F6H(2) CX=5678h(3)BX=0056H, AX=1E40H(4)SI=00F6H, [SI]=0024H(5)AX=5678H, [09226H]=1234H3-14 (1)MOV AX,0 XOR AX,AX SUB AX, AX (2)MOV CL,4ROR BL,CL(3) MOV AX,N1MOV BX,N1CWD ;对被除数进行符号扩展IDIV BXMOV M1,AX ;商放在AX中MOV M2,DX ;余数放在DX中(4) AND BX,0F7AFH 或OR 0850H(5) XOR AX 4020H(6) TEST DX,0201H(7) OR CX,13-17NUM1 DW 4148H,2816HNUM2 DW 2258H,8452H(1) MOV AX,NUM2ADD NUM1,AXMOV AX,NUM2+2ADD NUM1+2,AX(2) RES DB 2DUP(?)MOV AL,BYTE PTR NUM1ADD AL,BYTE PTR NUM1+1ADD AL,BYTE PTR NUM1+2ADD AL,BYTE PTR NUM1+3MOV RES,AL(3) 假设存放的数据为无符号数MOV SI,OFFSET NUM1XOR AX,AXMOV CX,8LP:ADD AL,[SI]ADC AH,0INC SILOOP LPMOV RES,ALMOV RES+1,AH假设存放的数据为带符号数MOV SI,OFFSET NUM1XOR BX,BXMOV CX,8LP:MOV AL,[SI]CBWADD BX,AXINC SILOOP LPMOV RES,ALMOV RES+1,AH(4) MOV AX,NUM1ADD NUM2,AXMOV AX,NUM1+2ADC NUM2+2,AX3-18(1) XOR AX, AX ;AX清零LEA SI, NUM1MOV CX, 8LOP: ADD AL, [SI]DAAADC AH, 0 ;AF清零INC SILOOP LOPMOV RES, ALMOV RES+1, AHMOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H;CF=13-21(1)BX=9AH (2)BX=61H (3)BX=8071H(4)BX=10F7H (5)BX=0FF1CH3-223-23(1)将自FIRST开始的存储区中的连续10个字节传送到从SECOND开始的存储区中。

相关主题