微机部分课后练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章
1.3、将下列十进制数转换为八进制和十六进制数:39,99.735,54.625,127,119。

[解] 39→47Q→27H; 99.735→123.5702Q→63.BC28H; 54.625→66.5Q→36.AH
127→177Q→7FH; 119→167Q→77H
1.4、将下列二进制数转换为十进制数:
11 1101.101B, 10 0101.11B, 1001 1001.001B, 110 0110.011B,1101 1010.1101B
[解] 11 1101.101B→61.625; 10 0101.11B→37.75; 1001 1001.001B→153.125
110 0110.011B→102.375; 1101 1010.1101B→218.8125
1.5、完成下列转换:
(1)10 110.10 111B 转换为十六进制数;
(2)34.97H转换为八进制数和十进制数;
(3)0BA.7FH转换为二进制数和八进制数;
(4)43.27Q转换为二进制数和十六进制数;
[解] (1)10 110.10 111B→16.B8H;
(2)34.97H→64.456Q→52.59
(3)0BA.7FH→10111010.01111111B→272.376Q
(4)43.27Q→100011.010111B→23.5CH
1.6、设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码:
+0010101,+1111111,+1000000,-0010101,-1111111,-1000000
[解] +0010101 的原码、补码和反码均为00010101B;
+1111111 的原码、补码和反码均为01111111B;
+1000000 的原码、补码和反码均为01000000B;
-0010101 的原码为10010101B, 补码为11101011B, 反码为11101010B;
-1111111 的原码为11111111B, 补码为10000001B, 反码为10000000B;
-1000000 的原码为11000000B, 补码为11000000B, 反码为10111111B。

1.7、设机器字长为8位,最高位为符号位,用二进制补码运算法则对下列各式进行运算:
(1)17+7;(2)8+18;(3)9+(-7);(4)-26+6;(5)8-18;
(6)19-(-17);(7)-25-6;(8)87-15
[解] (1)17+7 (2)8+18 (3)9+(-7)
[17]补→00010001B [ 8]补→00001000B [ 9]补→00001001B +) [ 7]补→00001111B +) [18]补→00010010B +)[-7]补→11111001B 00011000B→24 00011010B→26 00000010B→2 (4)-26+6 (5)8-18 (6)19-(-17)[-26]补→11100110B [ 8]补→00001000B [ 19]补→00010011B +) [ 6]补→00000110B +) [-18]补→11101110B +) [-(-17)]补→00010001B 11101100B→[-20]补11110110B→[-10]补00100100B→36
(7)-25-6;(8)87-15
[-25]补→11100111B [ 87]补→01010111B
+) [-6]补→11111010B +) [-15]补→11110001B
1┊11100001B→[-31]补1┊01001000B→72
1.8、已知下列各数均为二进制补码:
a=0011 0010B; b=0100 1010B; c=1110 1001B; d=1011 1010B。

试求:(1)a+b; (2) a+c; (3) c+b; (4) c+d; (5) a-b; (6) c-a; (7) d-c; (8) a+d-c;
(9) b+c-d; (10) d-c-a
[解]
(1)a+b=0011 0010B + 0100 1010B=01111100B
(2) a+c=0011 0010B + 1110 1001B=00011011B
(3) c+b=1110 1001B + 0100 1010B=00110011B
(4) c+d=1110 1001B + 1011 1010B=10100011B
(5) a-b=a+[-b]补=0011 0010B + 10110110B=11101000B
(6) c-a=c+[-a]补=1110 1001B + 11001110B=10110111B
(7) d-c=d+[-c]补=1011 1010B + 00010111B=11010001B
(8) a+d-c=a+d+[-c]补=0011 0010B + 1011 1010B + 00010111B=00000011B
(9) b+c-d=b+c+[-d]补=0100 1010B + 1110 1001B + 01000110B=11111010B
(10) d-c-a=d+[-c]补+[-a]补=1011 1010B + 00010111B + 11001110B=10011111B
1.11、将下列十进制数变为8421BCD码:
(1) 8609;(2)5254;(3)2730;(4)1998
[解] (1) 8609→8609H 或1000,0110,0000,1001B
(2) 5254→5254H 或0101,0010,0101,0100B
(3)27302730H 或0010,0111,0011,0000B
(4)1998→1998H 或0001,1001,1001,1000B
1.12、将下列8421BCD码表示成十进制数和二进制数:
(1) 01111001;(2)01010111;(3)10000011;(4)10011001
[解] (1) 01111001→79→01001111B
(2)01010111→57→00111001B
(3)10000011→83→01010011B
(4)10011001→99→01100011B
第二章
2-11画出下列各信息在8086系统存储器中的存储示意图,假设各信息存放的起始地址都为12340H。

(1)常数123 (2)字符串AB$09
(3)偏移地址2130H (4)逻辑地址1234H : 5678H
解:
(1)常数123 :123=7BH
(2)字符串AB$09 :AB$09的ASCII码为41 42 24 30 39
(3)偏移地址2130H :16位数据在内存中存放时,高8位存放在地址较大的单元,低8位放在地址较小的单元。

(4)逻辑地址1234H : 5678H :32位的地址指针存放时,偏移地址存入地址较小的单元,段基值存入地址较大的单元。

2-15 如果SS=2000H,SP=0100H,在从堆栈中弹出4个字节和压入10个字节后,SS和SP的值是多少?此时栈顶的物理地址是多少?
答:ss的地址是不会变的还是2000H
SP的地址相当于压入了6个字节SP=0100H-0006H=00FAH
物理地址200FAH
第三章
3-2判别下列指令是否有错,并说明理由;有错的加以改正:
(1)MOV [DI], [SI]
错,MOV指令中src和dst不能同时为存贮器寻址,应借助寄存器为桥梁。

改:MOV AL, [SI] 或:MOV AX, [SI]
MOV [DI], AL MOV [DI], AX
(2)MOV CS, AX
错,CS不能做目的操作数。

不能用CS和IP做dst,CS和IP的内容只能了解不能改变。

(3)MUL -25
错,-25为有符号数,应用IMUL指令,此外,乘法指令中不能采用立即寻址。

乘数可以是R/M中的无符号数,但不能为立即数。

改:MOV BL, -25
IMUL BL
(4)MOV 128,CL
错,目的操作数不能用立即寻址。

立即数不能做dst。

(5)MOV DS, CS
错,两个段寄存器之间不能直接进行数据传送。

不允许在段R之间直接传送信息。

改:MOV AX, CS
MOV DS, AX
(6)ADD AX, [SI] [DI]
错,SI和DI不能同时出现在一个操作数的寻址方式中。

基址变址寻址中BX和BP为基址R,SI和DI为变址R。

(7)PUSH FLAG
错,将标志寄存器F的内容推入堆栈,用专门的指令:PUSHF (POPF)
(8)MOV AX, [AX]
错,寄存器间接寻址不能用AX寄存器。

AX不能作为间址R。

改:MOV AX, [BX]
(9)MOV AX, BYTE PTR[SI]
错,操作数位数不匹配。

MOV指令操作数的类型要匹配。

改:MOV AX, WORD PTR[SI]
或:MOV AL, BYTE PTR[SI]
(10)MOV CL, AX
错,MOV指令操作数位数不匹配。

改:MOV CX, AX
或:MOV CL, AL
(11)OUT CX, AL
错,OUT指令中指令用DX提供端口地址。

使用短格式I/O指令时,先将端口地址赋给DX,而且只能赋给DX。

改:OUT DX, AL
(12)MOV AX, DISP [BX] [BP]
错,同一操作数的寻址方式中不能同时出现BX和BP。

基址变址寻址中的BX和BP为基址R,SI和DI为变址R。

(13)IN AL, DX 正确。

(14)LEA BX, 4[BX] 正确。

(15)SAR AX, 5
错,移位次数不为1,不能直接在指令中写出。

移位一次的在指令中直接给出,移位n次的。

需预先将n送入CL中。

改:MOV CL, 5
SAR AX, CL
3-3假设X和X+2单元的内容为双精度数P:Y和Y+2单元的内容为双精度数Q(X、Y为低位字)。

下列程序段使当2P>Q时,AX=2;否则AX=1。

请把程序段填写完整。

解:若P、Q为有符号数:MOV DX, X+2
MOV AX, X
ADD AX, X
ADC DX, X+2
CMP DX, Y+2
( JG ) L2
( JL ) L1
CMP AX, Y
( JG ) L2
L1:MOV AX, 1
JMP EXIT
L2:MOV AX,2
EXIT:HLT
若P、Q为无符号数:MOV DX, X+2
MOV AX, X
ADD AX, X
ADC DX, X+2
CMP DX, Y+2
( JA ) L2
( JB ) L1
CMP AX, Y
( JA ) L2
L1:MOV AX, 1
JMP EXIT
L2:MOV AX,2
EXIT:HLT
3-5写出下列程序段完成的数学计算公式,并画出数据存放的示意图。

MOV AX, X
MOV DX, X+2
ADD AX, Y
ADC DX, Y+2
SUB AX, Z
SBB DX, Z+2
MOV W, AX
MOV W+2,DX
答:完成的数学计算公式:
X+Y-Z →W (X、Y、Z、W都是双字变量)
3-6设有100个字节数据(补码),存放在数据段中EA=2000H开始的存储区内,以下程序段应能从该数据区中找出最大的一个数并存入同一数据段EA=2100H的单元中,请完成该程序(在空白处填入适当的语句)
解:MAX:MOV BX, 2000H
MOV AL, [BX]
MOV CX, 0063H/99
L1:INC BX
CMP AL, [BX]
JGE L2 ; (此处用JG也可以)
MOV AL, [BX]
L2:DEC CX
JNZ L1
MOV [2100H], AL
3-8设AX=4235H,BX=06FAH,CX=0143H,DX=3105H,CF=1。

下列每条指令执行后的结果是什么?CF、ZF、OF等标志位的值各等于多少?
解:
(1)MOV AX, BX;
(2)ADD AL, DH;
(3)ADC BX, CX;
(4)SUB AX, 2710H;
(5)DEC BX;
(6)NEG CX;
(7)INC BL;
(8)MUL BX;
(9)DIV CL。

3-12 已知AX=2508H,BX=0F36H,C=0004H,DX=1864H,求下列每条指令执行后的结果是什么?标志位CF等于什么?
解:(1) AND AH, CL
(2) OR BL, 30H
(3) NOT AX
(4) XOR CX, 0FFF0H
(5) TEST DH, OFH
(6) CMP CX, 00H
(7) SHR DX, CL
(8) SAR AL,1
(9) SHL BH, CL
(10) SAL AX, 1
(11) RCL BX, 1
(12) ROR DX, CL
3-16在如下列程序段的括号中分别填入以下指令:
(1)LOOP NEXT;
(2)LOOPE NEXT;
(3)LOOPNE NEXT。

试说明在这三种情况下,下列程序段执行完后,AX、BX、CX、DX寄存器的内容分别是什么。

START:MOV AX, 01H
MOV BX, 02H
MOV DX, 03H
MOV CX, 04H
NEXT:INC AX
ADD BX, AX
SHR DX, 1
( )
解:
第四章
4-1下边的程序是实现AX←AL *12的操作,请判断其中语句的正误并改正。

XOR AX, AX
SAL AX, 2
MOV BX, AX
SAL AX, 1
ADC AX, BX
解:
XOR AH, AH ;对AX的高八位清零。

-------------------------------------------------------
MOV CL, 2
SAL AX, CL
------------------------------------------------------
MOV BX, AX
SAL AX, 1
ADC AX, BX
4-2对于给定的符号定义,指出下列指令的错误,并说明原因。

A EQU 505
B DB ?
C DB 64H
(1) MOV A, AX
(2) MOV B, AX
(3) MOV AX, B
(4) CMP C, AX
(5) CMP A, C
(6) CMP AX, C
解:
4-22 无4-23 无4-24 无
11 / 11。

相关文档
最新文档