计算机硬件基础第三章答案与解析

当前版本非最终版本。如有错误请指出,感谢。(修改了很多,请见谅。)

一. 单项选择题(答案填入上表,每题1分,共35分)
1.在下面四组寄存器中,第(  )组都可用于对存储器间接寻址方式的寄存器。
A. AX,BX,CX,IP; B. BX,SP,DX,SI
C. IP,SP,BP,AX; D. BP,BX,SI,DI

寄存器间接寻址的操作数一定是在存储器中,而存储单元的有效地址 EA 则由寄存器保存,这些寄存器是基址寄存器BX、基址指针寄存器 BP、变址寄存器 SI 和 DI 之一或者他们的某种组合。

2.含有立即数的指令中,该立即数被存放在(  )。
A. 累加器中 ; B. 指令操作码后的内存单元中
C. 指令操作码前的内存单元中; D. 由该立即数所指定的内存单元中

立即寻址是将立即数传送到目标寄存器或存储器中。操作数就在紧跟着指令代码的后续地址单元中。

3.寄存器间接寻址方式中,操作数在(  )中。
A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器

寄存器间接寻址的操作数一定是在存储器中。

4.下列指令中,有语法错误的指令是(  )。
A. MOV AX,[1000H] ; B. ADD AX,1000H
C. MOV [1000H],AL ; D. MOV 1000H,AX

MOV指令源操作数可以是 8 / 16位寄存器、存储器中的某个字节 / 字或者是 8 / 16位立即数;目标操作数不允许为立即数,其他同源操作数,且两者不能同时为存储器操作数。

5.8086/8088中除(  )两种寻址方式外,其它各种寻址方式的操作数均在存储器中。
A.立即寻址和直接寻址 B.寄存器寻址和直接寻址 C.立即寻址和寄存器寻址 D.立即寻址和间接寻址

1、立即寻址的操作数在指令代码的后续地址单元中(就在指令中)。
2、寄存器寻址的操作数在CPU的寄存器中。
3、直接寻址的操作数在存储器当中
4、间接寻址的操作数在存储器当中

6.指令( )的源操作数的寻址方式为直接寻址。
A. MOV [2000H],AL; B. IN AL,DX
C. XOR AL,[2000H]; D. MOV AX,2000H

例子:
立即寻址:MOV AL,12H
寄存器寻址:MOV BX,AX
直接寻址:MOV AX,[1234H]
间接寻址:MOV AX,[BX]

7.下列指令中,执行速度最快的指令是(  )
A. ADD AX,10 ; B. ADD AL,[SI+10H]
C. PUSH AX ; D. ADD AX,[BX]

未知

8.下列指令中,不影响进位的指令是(  )
A. ADD AX,BX B. MUL BL C. INC BX D.SUB AL,BH

A选项:加法指令(此处为寄存器加法)
指令功能:将源操作数与目标操作数相加,结果保留在目标中。显然影响进位。
B选项:无符号乘法指令
指令功能:完成两个无符号的 8 / 16 位二进制相乘的功能。显然影响进位。
对于 8 位二进制乘法,其 16 位的积的高 8 位存于AH,低 8 位存于AL
对于 16 位二进制乘法,其 32 位积的高 16 位存于DX,低 16 位存于AX。
C选项:增量指令
指令功能:将目标操作数当作无符号数,完成加 1 操作后,结果仍保留在目标中。INC指令只影响OF、SF、ZF、AF、PF 5 个标志,而不影响CF标志。
D选项:减法指令
指令功能将目标操作数减去源操作数,将其结果送回目标,并根据运算结果置标志位。

9.执行PUSH AX指令后,堆栈指针SP的内容: (  )
A.减1 ; B. 减2 ; C. 加1 ; D. 加2

PUSH s(字压入堆栈指令)
堆栈是按字操作的。
栈顶是堆栈地址较小的一段。

10.下面对PUSH指令描述正确的是(  )。
A. PUSH只能将字节型数据压入堆栈。 B. PUSH只能将字型数据压入堆栈。
C. PUSH只能将双字节型数据压入堆栈。 D. PUSH可对任何类型数据操作。

PUSH s (字压入堆栈指令)
s 是 16 位的寄存器或存储器的俩相邻单元,以保证堆栈按字操作。

11.若CX=3,AX=1,执行完SHL AX,CL指令后,AX=(  )。
A. 1 B. 2 C.4 D. 8

SHL(左移指令):
功能:将目的操作数顺序左移 1 位或者 CL 寄存器中指定的位数。
左移一位的时候,将操作数最高位移入进位标志 CF 最低位补零。
特点:SHL影响 CF 和 OF俩个标志位,移位一次且移位后符号位发生变化则 OF = 1,否则,OF = 0,移位多次 OF 无效。

12.8086中(  )的源操作数和目的操作数可同时为存储器数。
A. 数据传送指令 B. 算术. 逻辑运算指令 C. 控制转移指令 D. 串操作指令

串操作类指令是唯一能在存储器内的源与目标之间进行操作的指令

13.下列指令中隐含使用寄存器SI的是( )
A HLT B. CMPSB C. XLAT D. NOT

HLT:一条暂停指令,它用于迫使 CPU 暂停执行程序,直到接收到复位或中断信号为止。
CMPS(串比较指令,这里是以字符为单位):
功能:将由 SI 作为指针的源串中的一个元素减去由 DI 作为指针的目标串中的相对应的一个元素,不回送结果,只根据结果改变标志位,并且相应的修改 SI 和 DI 内容指向下一个元素。
串操作指令均采用隐含寻址方式,源数据串一般在当前数据段中,即由DS段寄存器提供段地址,由 SI 源变址寄存器提供其偏移地址;目标串必须在附加段寄存器中,即由 ES 段寄存器提供段地址,由 DI 目标变址寄存器提供其偏移地址。
XLAT(字节翻译指令):
功能:通过查表得方式完成代码的转换。
NOT(按位取反操作):
功能:按位取反。

14.下列指令中,有语法错误的指令是(  )。
A. MOV AX,[BX][SI] B. LEA DI,[2000H] C. OUT DX,AL D. SHL BX,2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值