4、一个8位数能表示的最大值和最小值是多少?一个16位数能表示的最大值和最小值是多少?
5、如何实现ASCII码数字字符与BCD码之间的相互转换? 6、简述存储器的逻辑地址、物理地址和有效地址。 7、堆栈操作的原则是什么?堆栈操作的过程是怎样进行的? 8、在8086/8088系统中,内存的逻辑地址是由哪两部分组成的? 9、下列操作可使用哪些寄存器? (1)加法和减法。 (2)循环计数。
(3)乘法和除法。
(4)指示程序已执行到哪条指令的地址。 (5)指示当前从堆栈中弹出数据的地址。 (6)表示运算结果为零。
11、设SS=1200H,堆栈压入10个字节后,SP=00F6H。请指出堆栈底部字单元的物理地址,堆栈顶部字单元的物理地址。
12、设有一个30个字的数据区,它的起始地址是2000H:3000H,请给出这个数据区的首、末字单元的物理地址。 一.单项选择题
1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为(B )。
A.5000H B.5008H C.23008H D.32008H
2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为( A )。
A.13000H B.23000H C.33000H D. 3000H
3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( B )。
A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是( C )。 A.原码 B.反码 C.补码 D.移码 5.用来作为寄存器间接寻址的寄存器有( D )个。 A.8 B.6 C.5 D.4
6.指令MOV [BX+SI],AL中的目的操作数使用( B )段寄存器。
A.CS B.DS C.SS D.ES
7.指令MOV BX,[BP+5]中的源操作数使用( C )段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变( B )中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变( C )中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是( A )。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是( B )。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX
12.两个整数补码9CH和7AH相加运算后,会产生( B )。 A.无溢出且无进位 B.无溢出但有进位 C.有溢出且有进位 D.有溢出但无进位 13.指令JMP WORD PTR [BX]属于(B )寻址。 A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于( D )寻址。 A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址 15.指令( A )不改变CF的内容。 A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL
16.十进制数字74所对应的压缩型BCD码的形式是( B )。 A.74 B.74H C.4AH D.4A
17.十进制数字85所对应的非压缩型BCD码的形式是( D )。 A.0085 B.0085H C.0805 D.0805H 18.设AL=67H,执行―CMP AL,76H‖后,AL=( C )。 A.76H B.0DFH C.67H D.00
19.设AL=65H,BL=29H,执行下列指令后,AL=( C )。 ADD AL,BL DAA
A.8EH B.94 C.94H D.8E 20.压栈操作是( B )位数的操作。
A.8 B.16 C.32 D.任意
21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则( D )。 A.OF=0、CF=0 B.OF=0、CF=1 C.OF=1、CF=0 D.OF=1、CF=1 22.设AX=3762H,CL=5,执行―SHR AX,CL‖后,AX=( B )。 A.0376H B.01BBH C.01BB D.0376
23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用( C)SCASB串操作指令。
A.REPNE B.REP C.REPE D.REPNZ
24.如果―JNC L‖指令的操作码放在0040H,转移后在0020H处取下一条指令的操 作码,那么该条指令的位移量是( C )。
A.20H B.1EH C.0DEH D.0E0H
25.如果―JA P‖指令的操作码放在0050H, 该指令的位移量为34H,执行完此条指 令转移到取下一条指令的偏移地址为( C)
A.0082H B.0084H C.0086H D.0088H
26.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行―ADD AX,[BX]‖指令后,AX=( A )。 A.8856H B.6678H C.8800H D.6600H
27.设AX、BX寄存器中存放的是有符号的二进制数据,若执行―CMP AX,BX‖指 令后,( D )L表示大于则转L。
A.JZ B.JA C.JGE D.JG
28.执行―DIV BX‖指令后,( C )寄存器中存放商。 A.AL B.AH C.AX D.DX
29.执行―( A )AX,BX‖指令不改变AX寄存器中的内容。 A.CMP B.ADD C.XOR D.OR
30.若AX=1000H,执行―NEG AX‖指令后,AX=( C )。 A.1000H B.0E000H C.0F000H D.1001H 二、多项选择题
1.在下列寻址方式中,用来访问内存的寻址方式有( BCD )。
A.寄存器寻址 B.寄存器间接寻址 C.寄存器相对寻址 D.直接寻址 2.用来作为寄存器间接寻址的寄存器有( BC )。
A.AX B.BX C.BP D. CX
3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有( AD )。 A.MOV AX,[DI+4] B.MOV AX,ES:[SI+8] C.MOV AX,[BP+4] D.MOV AX,[BX+4] 4.在下列指令中,源操作数的寻址方式是错误的有( BCD )。 A.MOV AX,[DI+BX] B.MOV AX,[SI+DI] C.MOV AX,[BP+BX] D.MOV AX,[DX] 5.在下列指令中,属于段内转移指令的有( ABD )。 A.JMP SHORT A B.JMP [BX]
C.JMP DWORD PTR [BX] D.JMP NEAR PTR [BX+SI] 6.在下列指令中,错误的指令有( ABCD )。
A.SUB 5,AL B.ADD AL,BX C.INC [BX] D.SHR AX,6
7.执行―CMP AX,8003H‖指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有( AB )。
A.JNB L B.JA L C.JG L D.JNL L 8.可与串操作指令―CMPSW‖指令配合使用的重复前缀有( BCD )。 A.REP B.REPZ C.REPNZ D.REPE 9.在下列的输入/输出指令中,正确的指令有( ABD )。 A.IN AX,80H B.OUT DX,AX C.IN AL,340 D.OUT DX,AL 10.在下列的指令中,错误的指令有( ABCD )。 A.PUSH AL B.MOV AL,BX C.PUSH 1000H D.CALL AX 11.可以用下列指令代替―LOOP L‖指令的有( AC )。 A.DEC CX B.DEC CX JNZ L JNC L C.DEC CX D.DEC CX CMP CX,0 JE L JE L 三.填空题
1.在一条指令中,立即数只能作 源 操作数。
2.8086/8088 CPU形成的内存物理地址有 20 位。
3.指令―MOV AX,[BX+SI]‖的源操作数在内存的 DS(数据) 段。 4.指令―MOV BX,[BP+DI]‖的源操作数在内存的 SS(堆栈) 段。 5.指令―MOV AX,ES:[SI]‖的源操作数在内存的 ES(附加) 段。 6.入栈指令使用的是 SS(堆栈) 段。
7.指令―ADD [BX+SI],AL‖的目的操作数是 基址加变址 寻址方式。 8.指令―SUB BX,A[SI]‖的源操作数是 寄存器相对 寻址方式。 9.指令―JMP DWORD PTR [BX]‖属于 段间间接 寻址方式。 10.可作为寄存器间接寻址的寄存器有 4 个。
11.堆栈是从 目标地址 高 地址向 低 方向生长的。其操作遵循 后进先出(先进后出) 的操作原则。
12.在进行弹栈操作时应该先将弹出的数据送 目标地址 ,然后 SP+2 。 13.在进行多精度加法运算时,一般使用 ADC(带进位加) 指令。 14.通用的数据传送指令不影响 标志位(PSW) 。 15.―INC AL‖ 指令不影响标志位的 CF 位。 16.若AL=11H,执行―NEG AL‖ 后,AL= 0EFH 。 17.JMP指令的执行 不影响 PSW寄存器中的各位。
18.两个无符号数进行比较时,可以根据 CF(SF) 标志位来判断大小。在编写程序时可使用
JA(JB、JC、JNC、JS、JNS) 指令来实现。
19.若执行―DIV BX‖,其被除数的高16位必须放在 DX ,低16位必须放在 AX 。
20.DAA指令只对 AL 寄存器中的内容进行调整。 21.若AL=84H,在执行CBW后,AL= 0FF84H 。 22.十进制数1234的压缩型BCD码为 1234H 。 23.执行 AND AL,0FH JNZ L
指令,是检测AL中的 低4位 位,当它为非零则转移。
24.若移位指令的移位位数大于1时,其移位位数必须放在 CL 中。
25.如果AL=85H,CL=4,执行―SAR AL,CL‖时,AL= 0F8H ,CF= 0 。 26.在串操作指令中,SI指向 源 串,DI指向 目的 串。