计算机硬件技术基础习题答案习题一:1-8: 28 Bytes = 256 Bytes;216 Bytes = 210×26Bytes = 64KB;220 Bytes = 210×210Bytes = 1MB;232 Bytes = 210×210×210×22 Bytes = 4GB 。
1-12:指令通常包括操作码和操作数两部分。
操作码表示计算机执行什么具体操作;操作数表示参加操作的数的本身或操作数所在的地址(操作数的地址码)。
1-22:[+89]补= 0 101 1001B;[-89]补= 1 010 0111B;[+67]补= 0 100 0011B;[-67]补= 1 011 1101B。
(1)[-89]补+ [+67]补= 10100111B + 01000011B= 1 110 1010B = eaHV = D7C D6C=00=0 无溢出D7C = 0; D6C = 0(2)[+89]补+ [-(-67)]补= [+89]补+ [+67]补=01011001B + 01000011B= 1 001 1100B = 9cHV = D7C D6C=01=1溢出D7C = 0; D6C = 1(3)[-89]补+ [-67]补= 10100111B + 10111101B= 1, 0 110 0100B = 64HV = D7C D6C=10=1溢出D7C = 1; D6C = 0(4)[-89]补+ [-(-67)]补= [-89]补+ [+67]补=10100111B + 01000011B= 1 110 1010B = eaHV = D7C D6C=00=0 无溢出D7C = 0; D6C = 01-30:(1) 01111001 + 01110000补码竖式:01111001+ 01110000———————11101001V = D7C D6C=01=1 溢出;两正数相加,其结果应为正数;但结果为负数,故产生了溢出,正溢出。
(2)-01111001 – 01110000补码竖式:10000111+ 10010000———————1,00010111V = D7C D6C=10=1 溢出;两负数相加,其结果应为负数;但结果为正数,故产生了溢出,负溢出。
(3)01111100 – 01111111补码竖式:01111100+ 10000001———————11111101V = D7C D6C=00=0 无溢出。
(4)-01010001 + 01110001补码竖式:10101111+ 01110001———————1,00100000V = D7C D6C=11=0 无溢出。
1-31:字长为32位二进制数的补码表示范围:-231~ +(231- 1)负数的最小值为: -231正数的最大值为:+(231- 1)习题二:2-1:CISC称为复杂指令集计算机。
早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。
Intel80x86系列微处理器总体来说使用CISC设计架构。
RISC称为精简指令集计算机。
是从20世纪80年代开始逐渐发展的一种微处理器体系结构,它的设计目的是尽量减少指令的数量和种类,设法降低执行每条指令的时钟频率(降低CPU的复杂性),要求软件来指定各个操作步骤。
(了解各自的特点)2-11:(1)起始地址:10000H;结束地址:1FFFFH。
(2)起始地址:12340H;结束地址:2233FH。
(3)起始地址:E0000H;结束地址:EFFFFH。
(4)起始地址:AB000H;结束地址:BAFFFH。
2-12:(1) CS=1000H和IP=2000H下条指令的存储器地址为:1000H× 16 +2000H=10000H + 2000H=12000H(2) CS=2400H和IP=1A00H下条指令的存储器地址为:2400H× 16 +1A00H=24000H +1A00H=25A00H(3) CS=1A00H和IP=B000H下条指令的存储器地址为:1A00H× 16 +B000H=1A000H + B000H=25000H(4) CS=3456H和IP=ABCDH下条指令的存储器地址为:3456H× 16 +ABCDH=34560H + ABCDH=3F12DH2-15:8086的进位标志由加法类指令和减法类指令(运算类指令)来置位。
2-51:嵌入式系统的特点:(1)将计算机技术、电子技术和半导体技术相结合的技术密集、高度分散、不断创新的集成系统;(2)面向特定应用领域的具有体积小、功耗低、成本低、专业化程度高的系统;(3)必须紧密结合专门应用的需求,与具体产品的换代同步更新,应有较长生命周期的系统;(4)系统软件固化在内存或处理器芯片内部,高效与可靠运行的系统;(5)本身不具备自举开发能力(完成设计后不能任意修改程序)的系统。
嵌入式系统的组成部分:嵌入式处理器、嵌入式外设、嵌入式操作系统和嵌入式应用系统4部分组成。
习题三3-2:指令格式包含哪些部分?什么是寻址方式?8086/8088的寻址方式可分为哪几种类型?指令格式包括操作码和操作数(或操作数地址)两部分;根据操作码所指定的功能去寻找操作数所在地址的方式叫寻找方式;8086/8088的寻址方式分为两种类型:(1)数据寻址方式,是寻址操作数地址,操作数可能在代码段(已取入CPU内)、数据段、附加数据段、堆栈段中;(2)程序存储器寻址方式,是寻址程序地址,在代码段中。
3-3:指出8086/8088下列指令源操作数的寻址方式。
目的操作数,源操作数(1)MOV AX, 1200H立即数寻址(2) MOV BX, [1200H]直接数据寻址(3)MOV BX, [SI]寄存器间接寻址(4)MOV BX, [SI+1200H]寄存器相对寻址(5)MOV [BX+SI], AL寄存器寻址(6)ADD AX,[BX+DI+20H]相对基址加变址寻址(7)MUL BL寄存器寻址(8)XLAT该指令是无操作数指令,其源操作数为[BX+AL],相当于基址加变址寻址(9)IN AL, DX 寄存器间接寻址(10)INC WORD PTR[BP+50H] 寄存器相对寻址此指令的操作数即是源操作数,又是目的操作数。
3-5指出8086/8088下列指令的错误。
(1)MOV [SI], IP --- IP寄存器不可直接访问(2)MOV CS, AX---CS寄存器不可直接访问(3)MOV BL, SI+2---寄存器相对寻址格式错或寄存器寻址类型不匹配(4)MOV 60H, AL---立即数不能为目的操作数(5)PUSH 2400H --- 源操作数不能为立即数(6)INC [BX] ---间接寻址的存储单元加1指令,应该用BYTE PTR、WORD PTR指明是字节加还是字加(7)MUL -60H --- 乘法指令的源操作不能为立即数(8)ADD [2400H], 2AH ---目的操作数[2400H]应指明是BYTE PTR字节操作(9)MOV [BX], [DI] --- 源操作数与目的操作数不能同时为存储器操作数(10)MOV SI, AL --- 源操作数为字节寄存器,目的操作数为字寄存器3-10:若AX=5555H, BX=FF00H,试问在下列程序段执行后,AX=? BX=? CF=?AND AX, BX ------ AX = 5500H,CF = 0XOR AX, AX ------ AX = 0000H,CF = 0NOT BX ------ BX = 00FFH,CF = 0(保持不变)3-14:试选用最少的指令,实现下述功能。
(1)AH的高四位清零。
AND AH,0FH(2) AL的高4位取反XOR AL, 0F0H(3)AL的高4位移到低4位,高4位清零MOV CL, 4SHR AL, CL(4)AH的低4位移到高4位,低4位清零MOV CL, 4SHL AH, CL3-17:设初值AX=6264H, CX=0004H, 在执行下列程序段后,AX = ?AND AX, AX --- AX = 6264HJZ DONE --- ZF = 0 ,顺序执行程序SHL CX, 1 --- CX = 0008HROR AX, CL --- AX = 6462H DONE: OR AX, 1234H --- AX = 7676H习题四4-3:已知一数组语句定义为:ARRAY DW 100 DUP(567H,3DUP(?)),5678H请指出下列指令执行后,各个寄存器中的内容是什么?MOV BX, OFFSET ARRAY --- BX = ARRAY的偏移地址MOV CX, LENGTH ARRAY --- CX = 100MOV SI, 0 --- SI = 0ADD SI, TYPE ARRAY --- SI = 24-5:下列程序段执行后,寄存器AX、BX和CX的内容分别是多少?ORG 0202HDA_WORD DW 20HMOV AX, DA_WORD---- AX=0020HMOV BX, OFFSET DA_WORD---- BX=0202HMOV CL, BYTE PTR DA_WORD----CL=20HMOV CH, TYPE DA_WORD----CH=24-9:某程序设置的数据区如下:DATA SEGMENTDB1 DB 12H,34H,0,56HDW1 DW 78H,90H,0AB46H,1234HADR1 DW DB1ADR2 DW DW1AAA DW $-DB1BUF DB 5 DUP(0)DATA ENDS画出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字节组织)。
DB1DS:0000HDW1ADDR1 ADDR2 AAA BUF4-10:分析下列程序:A1 DB 10 DUP(?)A2 DB 0,1,2,3,4,5,6,7,8,9...MOV CX, LENGTH A1 ------ CX = 10MOV SI, SIZE A1 – TYPE A1 ------ SI = 9LP: MOV AL, A2[SI] ------ AL= 9,8,7,6,5,4,3,2,1,0 MOV A1[SI], AL ------ A1[SI] = 9,8,7,6,5,4,3,2,1,0SUB SI, TYPE A1 ------ SI = 8,7,6,5,4,3,2,1,0DEC CX ----- CX = 9,8,7,6,5,4,3,2,1,0JNZ LPHLT(1)该程序的功能是什么?(2)该程序执行后,A1单元开始的10个字节内容是什么?答:(1)该程序是将数据区A2的数据逆序复制到数据区A1中;(2)该程序执行后,A1单元开始的10个字节内容是:0,1,2,3,4,5,6,7,8,94-11:假设BX=45A7H,变量V ALUE中存放的内容为78H,下列各条指令单独执行后BX=?(1)XOR BX, V ALUE ------ BX=45DFH(2) SUB BX, V ALUE ------ BX=452FH(3) OR BX, V ALUE ------ BX=45FFH(4) XOR BX, 0FFH ------- BX=4558H(5) AND BX, 00H ------- BX=0000H(6) TEST BX, 01H ------ BX=45A7H习题五5-2:常用的地址译码方式有几种?各有哪些特点?答:地址译码方式有两种:(1)单译码方式(字结构)它的全部地址码只用一个地址译码器电路译码,译码输出的字选择线直接选中与输入地址码对应的存储单元。