西南交大电气复试微机原理习题整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题
例:27=[00100111B]BCD=[27H]BCD 12.34=[00010010.00110100B]BCD=[12.34H]BCD [10000101B]BCD=85 [30.2H]BCD=30.2
例:a=20,则[a]补=00010100B
例:已知X=-30,则[X]补= 11100010 B
例:已知X=-64H,则[X]补= 9C H
例:[a]补= 4DH,则a = +1001101B = +77;
例:[b]补= 8CH,则b = -(1110011B+1) = -116。例:已知[X]补=80H,则X= -128 。例:用8位补码运算求X=20-30,Y=20+30
解:设a=20,b=30,则X=a-b,Y=a+b。
[a]补= 00010100 ,[b]补=00011110
则[X]补= [a]补- [b]补=11110110
[Y]补= [a]补+[b]补=00110010
所以X=-0001010B =-10,Y=+0110010B=+50
例:用8位补码运算求30-20
解:X=30,Y=20,-Y=-20
[X]补=00011110,[-Y]补=11101100,
则[X-Y]补=[X]补+[-Y]补=00001010
所以X-Y=+0001010B = +10
例:已知[X]补=80H,[Y]补=50H,用补码运算规则求X-Y。
解:Y=+80,-Y=-80,[-Y]补=1011000B=B0H
[X-Y]补=[X]补+[-Y]补=80H+B0H
=30H=00110000B
所以X-Y=+48
实际上,X=-128,Y=+80,因此X-Y=-208。
例:X=+80,Y=+50,采用8位运算。用双进位法判断X+Y有无溢出。
解:[X]补=01010000B,[Y]补=00110010B,
[X+Y]补=[X]补+ [Y]补=01010000+00110010
例:X=+80,Y=+50,采用8位运算。用双进位法判断X-Y有无溢出。
解:[X]补=01010000B ,
[Y]补=00110010B,[-Y]补=11001110B ,
[X-Y]补=[X]补+ [-Y]补=01010000+11001110
01010000
+)11001110
00011110 最高两位同时有进位,所以无溢出。
1-1 总结和比较AB、DB、CB的特点及作用。
1-2 简述以下操作的实现过程:
①将3AH写入5CH单元;②从F0H单元读出数据。
1-3 完成下列转换:
9AH= 10011010 B= 154 D
1111011.01B= 7B.4 H= 123.25 D
[0010.0111B]DBCD= 2.7 D= 2.B3…H
49.2= 0409.02 HABCD=
0000010000001000.00000010 BABCD
1-5 已知X=+7AH ,则[X]补= 01111010 B 。 1-6 已知[a]补=8000H ,则a= -32768 D 。
1-7 已知[X]反=11111000B ,则[X]补= F9 H ,X= -7 D 。
1-8 用补码运算规则进行下列8位数据的运算,并判断是否有溢出: ① -128+127 ② -128-127
③ 70H-40H ④ 70H+40H ① -128+127
令 X=-128, Y = +127,则 [X]补=80H , [Y]补=7FH [X+Y]补=FFH ,所以 X+Y=-1。
最高两位同时无进位,所以无溢出。
100110010
第二章习题
2-1分别分析执行完以下运算后各状态标识位的状态。 (1)84H+ACH
CF= 1 ,ZF= 0 ,OF= 1 ,SF= 0 ,PF= 1 ,AF= 1 。 (2)8000H-2DFFH
CF= 0 ,ZF= 0 , OF= 1 , SF= 0 ,PF= 0 ,AF= 1 。
2-3 已知CS=1230H ,求代码段中物理地址为13AC0H 的单元的逻辑地址。
10000000 01111111 11111111 + ② -128-127 令 X=-128, Y = -127,则 [X]补=80H , [Y]补=81H 10000000 10000001 00000001
+ [X+Y]补=01H ,所以 X+Y=+1。 最高两位不同时有进位,所以有溢出。 01110000
11000000 00110000 + ③ 70H-40H 令 [X]补=70H , [Y]补=40H , [-Y]补=C0H [X+Y]补=D0H ,所以 X+Y=48。 最高两位同时有进位,所以无溢出。 ④ 70H+40H [X]补=70H , [Y]补=40H 01110000 01000000 10110000 + [X+Y]补=B0H ,所以 X+Y=-80。
最高两位不同时有进位,所以有溢出。
例:10110011B+01111111B
最高位有进位,所以CF=1;
D3位有进位,所以AF=1;
最高两位同时有进位,所以OF=0;
结果的最高位为0,所以SF=0;
结果中有3个1,所以PF=0;
结果不等于0,所以ZF=0。
10110011 01111111 +)
所以逻辑地址为:1230H:17C0H
2-4 已知DS=21FAH,求数据段中偏移地址为0120H的单元的物理地址。
解:PA=21FAH*16+0120H=220C0H
2-5已知SS=31ABH,SP=0124H,则将AX和BX中的内容推入堆栈后,SP= 0120H 。
2-6已知SS=31ACH,SP=0120H,则从堆栈中弹出数据到SI后,栈顶单元的物理地址为31BE2H 。
2-7将数据2EH、AB1CH和逻辑地址1234H:0100H从数据段中偏移地址为0100H的单元开始依次存放。已知DS=20CDH。画出内存分配图,并标出各单元的逻辑地址和物理地址。
2EH 20CDH:0100H 20DD0H
1CH 20CDH:0101H 20DD1H
ABH 20CDH:0102H 20DD2H
00H 20CDH:0103H 20DD3H
01H 20CDH:0104H 20DD4H
34H 20CDH:0105H 20DD5H
12H 20CDH:0106H 20DD6H
例:某单元的段基值为2500H,偏移地址为0100H,则其物理地址为
2500H×16+0100H=25100H
例:某单元的逻辑地址为1234H:03FEH,则其物理地址为:
1234H×16+03FEH=1273EH
例:将字数据1E0DH、
逻辑地址135BH:002EH和字节数据2CH
依次放入从当前数据段中偏移地址为1000H
开始的单元,画出内存分配图。
例:已知SP=01ACH,AX=1234H,BX=23ABH,堆栈段中各单元内容如图1所示,则将AX和BX 中的内容依次推入堆栈后,堆栈段如图2所示,且
SP=01A8H
接着从堆栈中弹出数据依次放入CX和BX,则SP= 01ACH ,
BX= 1234H ,
CX= 23ABH 。
1006H
2CH
1005H
13H
1004H
5BH
1003H
00H
1002H
2EH
1001H
1EH
1000H
0DH
SP
01ACH
12H
34H
56H
78H
9AH
BCH
EFH
00H
图1
12H
34H
01ACH
56H
12H
34H
23H
SP
ABH
00H
图2