现代微机复习试题答案 下载本文

内容发布更新时间 : 2024/5/4 15:50:00星期一 下面是文章的全部内容请认真阅读。

选信号。

FC000H的地址线状态为: 1111 110 0 0000 0000 0000 FE000H的地址线状态为: 1111 111 0 0000 0000 0000

将A13~A15用作译码输入,其他地址(A16~A19=1111)用作译码控制,可以得到如下译码控制电路,连接如下图所示:

15. 存储周期指的是( )。

A.存储器进行连续读或写操作所允许的最短时间间隔 B.存储器的读出周期

C.存储器进行连续写操作所允许的最短时间间隔 D.存储器的写入周期

16.某一EPROM芯片,其容量为32K×8,除电源和地线外,最小的输入引脚和输出引脚分别为( )。

A. 15和8; B.32和8; C.17和8; D.18和10;

17.掩膜ROM在制造时通过光刻是否连接MOS管来确定0和1,如果对应的某存储单元位没有连接MOS管,则该位信息为( )。 A.不确定; B. 0; C.1; D.可能为0,也可能为1

18. SRAM和DRAM存储原理不同,它们分别靠( )来存储0和1的。

A.双稳态触发器的两个稳态和极间是否有足够的电荷 B.内部熔丝是否断开和双稳态触发器 C.极间电荷和浮置栅是否积累足够的电荷

D.极间是否有足够的电荷和双稳态触发器的两个稳态

第三章

3.1 如果用24b储存一个无符号数,这个数的范围是什么?如果储存的是一个补码表示的有符号数,那么这个数的范围又是什么?

答:如果用24b储存一个无符号数,这个数的范围应为:0~224-1 如果用24b储存一个补码表示的有符号数,这个数的范围应为:-223~223-1

3.2 用符号“>”把下面的数按从大到小的顺序“连接”起来

[X1]补=10110111 [X2]原=10110111 [X3]反=1011011 [X4]补=10110110 [X5]无符号数=10110111 解:X1=-0100 1001B, X2=-011 0111B, X3=-0100 1000B, X4=-0100 1010B, X5=+1011 0111B

因此:X5>X2>X3>X1>X4

3.3 用8位补码完成下列运算,用十进制“真值”的格式给出运算结果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。

(1)127+126 (2)126-127 (3)-100-120 (4)-100-(-120) 解:(1) [127]补=0111 1111,[126]补=0111 1110,

[127+126]补=1111 1101,[127+126]=-0000 0011(溢出)COZSP=01010

(2) [126]补= 0111 1110,[-127]补=1000 0001,

[126-127]补=1111 1111,[126-127]=-000 0001,COZSP=10011 (3)- [-100]补=1001 1100,[-120]补=1000 1000,

[-100-120]补=0010 0100,[-100-120]=+0010 0100(溢出),COZSP=01001

(4) [-100]补=1001 1100,[-120]补=1000 1000,[-100-(-120)]补=0001 0100,[-100-(-120)]=+0001 0100,COZSP=00001

3.4 把二进制代码1001011101011000分别“看作”是:

(1)二进制无符号数 (2)二进制补码 (3)压缩BCD码 (4)非压缩BCD码

哪一种情况下它代表的“值”最大? 答:看做二进制无符号数时,它代表的“值”最大。 分析:看作二进制补码时,它代表一个负数,而其他的情况下,它均正数。因此,看作二进制补码时,它代表的值最小。 把这组代码用十六进制数字形式写出:9758 对于无符号数,它的值等于十六进制的9758H; 对于压缩BCD码,它的值等于十六进制的9758,显然小于9758H; 对于非压缩BCD码,它的值等于十进制的78,显然更小于9758H; 因此,看作二进制无符号数时,它代表的“值”最大。 3.5 某数据段内有如下数据定义: 1EH 0020H 30H X db 30, 30H, ‘ABC’, 2-3, ?, 11001010B 41H 42H dw 0FFH,-2, “CD” 43H Y dd 20 dup(15, 3 dup(?), 0) 0FFH 00H Z db 3 dup(?) 0CAH W dw Z-X 假设变量X的偏移地址为20H。 (1)写出变量X各数据在内存中的具体位置和相关内存单元的值。 (2)写出变量Y,Z的偏移地址。 0FFH 00H (3)写出变量W的值。 0FEH 0FFH 答:(1)变量X各数据在内存中的具体位置和相关内存单元的值44H 如右图。 43H (2)变量Y的偏移地址为002H;变量Z的偏移地址为002EH+4?5?20=01BEH (3)变量W的值等变量Z和X偏002EH 移地址之差01BEH-0020H=019EH 它等于X、Y所占用内存单元的字节数。 3.6 下列指令的源操作数段基址在哪个段寄存器中? (1)MOV AX, [BP][SI] SS (2)MOV AX, CS:8[DI] CS (3)MOV AX, 2[EBP*1] SS (4)MOV AX, FS:4[ESP] FS (5)MOV AX, 2[EBP][EAX] SS (6)MOV AX, [ECX][EBP*4] DS

X Y

(7)MOC AX, [EDX][EBP] DS (8)MOV AX,ES:10[EBP][EAX*2] ES

3.7 判断下列指令是否正确。若不正确,指出错误原因 (1)MOV AX, [EBX] √

(2)MOV SI, DL ×,两个操作数类型不匹配。 (3)MOV EBP,[ESP][EAX*3] ×,比例因子不能为3。

(4)LEA AX, 3006H ×,LEA指令的源操作数必须为内存操作数。

(5)MOV [BP][DI], 0 ×,操作数类型无法确定。 (6)MOV [SI], [DI]是 ×,不能同时出现两个内存操作数。

(7)MOV ES, 1000H ×,装载段寄存器时,源操作数不能为立即数。 (8)如果“X”是常数表达式定义的符号(例如:X EQU 5+6),或者是“DW”定义的内存变量,指令MOV AX, X+2是正确的。否则这条指令是错误的。

(9)MOV AX, CX+2 ×,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。 (10)指令MOV [EAX][EAX*2], AL √

3.8 现有(DS)=2000H ,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,说明下列指令执行后AX寄存器的内容 (1)MOV AX, 1200H 执行后,(AX)=1200H(立即操作数)。

(2)MOV AX, BX 执行后,(AX)=0100H(寄存器操作数)。

(3)MOV AX, [1200H] 执行后,(AX)=4C2AH(直接地址,EA=1200H)

(4)MOV AX, [BX] 执行后,(AX)=3412H(寄存器间接寻址,EA=0100H)

(5)MOV AX, 1100H[BX] 执行后,(AX)=4C2AH(相对地址,EA=1200H)

(6)MOV AX, [BX][SI] 执行后,(AX)=7856H(基址变址寻址,EA=0102H)

(7)MOV AX, 1100H[BX][SI] 执行后,(AX)=65B7H(相对基址变址寻址EA=1202H)

3.9 下面两条指令的功能有什么区别?

MOV AX, BX:把BX寄存器的内容装入到AX中。

MOV AX, [BX] :把内存储器一个字的内容装入AX寄存器。该字的段基址在DS中,偏移地址在BX中。 3.10 写出执行以下计算的指令序列,各变量均为16位有符号数。 (1) Z←W+(Z-X) (2) Z←W-(X+6)-(R+9) (3) Z←(W*X)/(Y+6), R←余数 (4) Z←(W-X)/(5*Y)*2 解:

ADD AX, BX (1) MOV AX, W

MOV Z, AX MOV BX, Z

SUB BX , X

MOV BX, R (2) MOV AX, W

ADD BX, 9 MOV BX, X

SUB AX, BX ADD BX, 6

MOV Z, AX SUB AX, BX

IDIV BX (3) MOV AX, W

MOV Z, AX IMUL X

MOV R, DX MOV BX, Y

ADD BX, 9

SUB AX, X (4) MOV AX, Y

MOV CX, 2 MOV BX, 5

IMUL CX IMUL BX

IDIV BX MOV BX, AX

MOV Z, AX MOV AX, W

3.11 一个双字长有符号数存放在DX(高位)AX(低位)中,写出求该数相反数的指令序列。结果仍存入DX,AX寄存器。

NOT AX 解:NOT DX