《微机原理与接口技术》
第一章 习题
一、单项选择题
1、X的8位补码是10110100,则X的16位补码是 。 A)0000000010110100 B)1000000010110100 C)1111111110110100 C)0111111110110100 二、多项选择题
1、8位数11011011B可表示 。
A)无符号数219 B)-37的补码 C)-36的补码 D) -36的反码 E)91的原码 F)-91的原码 三、填空题
1、计算机的硬件由 、 、 、 和 等部分组成。
2、十进制68= B= Q= H。 3、[X]补=78H,则[-X] 补= H。
4、找出下列数中的最大数
(1)(10010101)2 (2)(227)8 (3)(96)16 (4)(145)10 5、设有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y均为无符号数。 (2)X和Y均为带符号数的补码。
第二章 习题
1、8086CPU与8088CPU有哪些相同之处?有哪些不同之处?
4、设字长8位,机器数分别采用纯小数的原码、补码和反码表示时,其对应的真值 范围分别是 、 、 (均用十进制数表示)。
2、8086CPU从功能上分为几个部分?各部分由什么组成?各部分的功能是什么?
5、若机器数为补码,字长16位(含1位符号位),用十六进制写出对应于定点整数 的最大正数补码是 ,最小负数的补码是 。 四、计算题
1、已知[X]原=11001010,求X的反码、补码。
2、用补码求[X+Y]补与[X-Y]补,并判断运算结果是否溢出。 1)已知[X]原=10101100,[Y]补=11000110 2)已知[X]反=01110110,[Y]补=00100110 3、将下列十进制整数转换十六进制数。 (1)783 (2)5327 (3)968
3、CPU有哪些寄存器组成?各有什么用途?其中标志寄存器的各标志位的含义是什么?
4、8086/8088 CPU中有几个段寄存器?其功能是什么?
1
5、什么是逻辑地址、物理地址、物理地址是如何求得的?假如CS=2000H,IP=0100H,1、MOV AX,[BP]的源操作数物理地址为16D ×(DS)+(BP) 其物理地址是多少?
6、什么是8086/8088 CPU最大模式和最小模式?其关键区别是什么?
2、OUT DX,AL指令输出的是16位操作数 3、MOV DS,2000H 4、PUSH AL
5、段内转移指令执行结果要改变IP、CS的值
6、REPE/REPZ是相等/为零时重复操作,其退出条件是:(CX)=0或ZF=0 二、选择题
1、寄存器间接寻址方式中,操作数在 中。 A)通用寄存器 B)堆栈 C)存储器 D)段寄存器
7、在最小模式时CPU访问内存储器,哪些信号有效?什么是总线周期?8086CPU的2、假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH AX后,存储单一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW元 =12H。 等待周期取决于什么因素?
8、在最小模式时,CPU访问I/O接口,哪些信号有效?
A)20014 B)20011H C)20010H D)2000FH
3、若要检查BX寄存器中的D12位是否为1,应该用 指令。 A)OR BX,1000H B)TEST BX,1000H(JNZ YES) C) XOR BX,1000H D)AND BX,1000H(JNZ YES) 4、用BP作基址变址寻址时,操作数所在的段是 。 A)数据段 B)代码段 C)堆栈段 D)附加段
5、含有立即数的指令中,该立即数被存放在 。 A)累加器中 B)指令操作码后的内存单元中
9、什么是中断向量?中断向量表指的是什么?中断向量表放在什么地方?假如中断C)指令操作码前的内存单元中 D)由该立即数所指定的内存单元中 类型为20,它的中断服务入口地址是多少?
6、执行下列指令后:
MOV AX,1234H MOV CL,4 ROL AX,CL
第三章 习题
一、 判断下列问题是否正确,请说明理由。
DEC AX MOV CX,4
2
MUL CX HLT
则(AX)= 。
A)8D00H B)9260H C)8CAOH D)0123H 7、下列程序:
NEXT: MOV AL,[SI]
MOV ES:[DI],AL INC SI INC DI LOOP NEXT
可用指令 来完成该功能。
A)REP LODSB B)REP STOSB C)REPE SCASB D)REP MOVSB 8、设(AL)=-68,(BL)=86,执行SUB AL,BL指令后,正确的结果是 。 A)CF=1 B)SF=1 C)OF=1 D)ZF=1 三、简答题
1、写出下列指令中源操作数和目的操作数的寻址方式的有。 A)MOV BX,[SI] B)ADD [SI+50],BX C)SUB AX,2 D)CMP AX,[DI] E)MUL [BX] F)PUSH CX 2、下列指令中,能将累加器AX清零指令有几个,为什么?
A)CMP AX,AX B)SUB AX,AX C)AND AX,0 D)XOR AX,AX 3、在下列指令中,隐含使用AL寄存器的指令有哪些?
A)SCASB B)XLAT C)MOVSB D)DAA E)NOP F)MUL BH
4、假设(DS)=3000H,(BX)=0808H,(30808H)=012AAH,(3080A)=0BBCCH,当执行指令
“LES DI,[BX]”后,(DI)=?,(ES)=?
5、假设(BX)= 0449H,(BP)= 0200H,(SI)= 0046H,(SS)= 2F00H,(2F246H)
= 7230H则执行XCHG BX,[BP+SI]指令后,(BX)= ? 6、执行下列指令序列后,完成的功能是什么?
MOV CX,4
NEXT: SHR DX,1
RCR AX,1 LOOP NEXT
7、下列指令执行后,BX=?
MOV CL,3 MOV BX,4DABH ROL BX,1 ROR BX,CL
8、执行下列指令序列,AH= ?AL=?
MOV AL,80H MOV BL,08H CBW IDIV BL
第四章 习题
1、阅读程序并回答问题: START:IN AL,20H
MOV BL,AL IN AL,30H MOV CL,AL MOV AX,0 MOV CH,AL
L1:
ADD AL,BL ADC AH,0
3
LOOP L1 HLT
问(1)本程序实现什么功能? (2)结果在哪里?
(3)用乘法指令MUL BL编程并使结果不变。(假设20H、30H端口输入的数据均为无符号数)。
2、读下述程序段,请问:什么情况下,本段程序的执行结果是AH=0? BEGIN:IN AL,5FH
TEST AL,80H JZ NEXT MOV AH,0 JMP STOP
MOV AH,0 MOV AL,XX
方法二、LEA BX,TABLE
MOV AL,XX XLAT
MOV YY,AL HLT
5、符号函数
?1?y??0??1?当X?0X?0X?0(?128?X?127)假设任意给定的X值放在XX单元中,函数Y的值存放在YY单元中。编程实现根据X的不同值给Y赋值的程序:
MOV AL,XX
CMP AL,0 JGE BIGR MOV AL,0FFH MOV YY,AL HLT
NEXT: MOV AH,0FFH STOP: HLT
3、请编写一程序段完成AX×10的任务(要求不准用乘法指令做)。
BIGR: JE EQUL
MOV AL,1 MOV YY,AL HLT
EQUL: MOV YY,AL
HLT
4、内存中自TABLE开始的七个单元连续存放着自然数0至6的立方值(称作立方表)。 任给一数X(0≤X≤6)在XX单元,查表求X的立方值,并把结果存入YY单元中。 方法一、LEA BX,TABLE
6、试编写一程序段,使数据段中偏移地址为0200H开始的128B单元的内容清0。
4