8086指令系统测试题
- 格式:doc
- 大小:43.00 KB
- 文档页数:4
8086指令系统测试题
说明:8086的指令系统测试题共有85条指令,测试的目的是让学生熟记指令且能运用指令完成指定任务,
为第四章的程序设计打下基础。最后,对本章中的寻址方式进行测试和考查。
一、请在每个括号内填入一条适当的指令,使之能完成该括号前的题目所指定的任务。(1空1分)
数据传送指令(14条)
1. 将AX的内容送BX。 ( MOV BX,AX )
2. 将CX的内容压入堆栈。 ( PUSH CX )
3. 将堆栈的栈顶内容弹出送至DX。 ( POP DX )
4. 对DX的内容和数据段中偏移地址为200H的内容进行交换。( XCHG
DX,200H )
5. 对TABLE表使用表转换指令。 ( XLAT TABLE )
6. 将端口80H的内容送至AL。 ( IN AL,80H )
7. 将AX的内容写入60H端口。 ( OUT AX,60H )
8. 取TABLE表的偏移地址送BX。 ( LEA BX,TABLE )
9. 从地址为450H的存储单元内容取出4个字节,分别送至SI和DS寄存器。(LDS SI,[450H] )
10. 从地址为450H的存储单元内容取出4个字节,分别送至DI和ES寄存器。(LES DI[450H] )
11. 将标志位送AH指令。 ( LAHF )
12. AH送标志位指令。 ( SAHF )
13. 标志进栈指令。 ( PUSHF )
14. 标志出栈指令。 ( POPF )
算术运算指令(20条)
1. 将AX的内容和地址为2233H的存储单元内容相加,结果放在AX中( MOV CX ,2233H;ADD AX,CX )
2. 对BL、CL、以及CF的内容相加。结果放在BL中。 ( ADC BL,CL )
3. 对CX的内容做增1的操作。 ( INC CX )
4. 做减法BX-DX,结果放在BX中。 ( SUB BX,DX )
5. 做减法BX-DX-CF,结果放在BX中。 ( SBB BX,DX )
6. 做CX的减1操作。 ( DEC CX )
7. 对BL的内容取负。 ( BEG BL )
8. 做CX和0FFH的大小比较。 ( CMP CX,0FFH )
9. 将AL中的无符号数和数据段中地址为10H的存储单元内容相乘。 ( MUL
10H )
10. 将AX中的有符号数和数据段中地址为10H的存储单元内容相乘。 ( IMUL
10H )
11. 将AX中的无符号数除以BL的内容。 ( DIV BL )
12. 将AX中的有符号数除以BL的内容。 ( IDIV BL )
13. 把字节扩展成字的指令。 ( CBW )
14. 把字扩展成双字的指令。 ( CWD )
15. 把两个压缩BCD码相加的结果调整为正确的BCD码。 ( DAA )
16. 把两个压缩BCD码相减的结果调整为正确的BCD码。 ( DAS )
17. 把两个非压缩BCD码相加的结果调整为正确的BCD码。 ( AAA )
18. 把两个非压缩BCD码相减的结果调整为正确的BCD码。 ( AAS )
19. 把两个非压缩BCD码相乘的结果调整为正确的BCD码。 ( AAM )
20. 在除法之前,将BCD码转换为二进制数。 ( AAD )
逻辑运算和移位指令(13条)
逻辑运算指令:
1. 将AL和0FFH相与。 ( AND AL,OFFH )
2. 将AX和3030H相或。 ( OR AX,3030H )
3. 对BX的内容取反。 ( NOT BX )
4. 将BX的内容和0FFH相异或。 ( XOR BX,OFFH )
5. 对AL中的最高位进行测试,判断其是否为1。 ( TEST AL,80H )
算术逻辑移位指令和循环移位指令:
1. 对BX的内容算术左移1位。 ( SAL BX,1 )
2. 对BX的内容算术右移1位。 ( SAR BX,1 )
3. 对BX的内容逻辑左移1位。 ( SHL BX,1 )
4. 对BX的内容逻辑右移1位。 ( SHR BX,1 )
5. 对CX的内容循环左移1位。 ( ROL CX,1 )
6. 对CX的内容循环右移1位。 ( ROR CX,1 )
7. 带CF标志,对CX的内容循环左移1位。 ( RCL CX,1 )
8. 带CF标志,对CX的内容循环右移1位。 ( RCR CX,1 )
字符串处理指令(5条)
1. 字类型的字符串传送指令。 ( MOVS )
2. 字节类型的字符串比较指令。 ( CMPS )
3. 字类型的字符串扫描指令。 ( SCAS )
4. 将以SI为串指针的源串字符送入AX。 ( LODS AX,SI )
5. 将AL的内容传送到以DI为指针的目的串。 ( STOS DI,AL )
控制转移指令(24条)
1. 无条件跳转到PROG_S处执行。 ( JMP )
2. 当ZF=0时,程序跳转到NEXT标号处执行。 ( JNZ/JNE )
3. 当ZF=1时,程序跳转到NEXT标号处执行。 ( JZ/JE )
4. 当SF=0时,程序跳转到NEXT标号处执行。 ( JNS )
5. 当SF=1时,程序跳转到NEXT标号处执行。 ( JS )
6. 当CF=0时,程序跳转到NEXT标号处执行。 ( JNC )
7. 当CF=1时,程序跳转到NEXT标号处执行。 ( JC )
8. 当OF=0时,程序跳转到NEXT标号处执行。 ( JNC )
9. 当OF=1时,程序跳转到NEXT标号处执行。 ( JO )
10. 当PF=0时,程序跳转到NEXT标号处执行。 ( JNO )
11. 当PF=1时,程序跳转到NEXT标号处执行。 ( JP/JPE )
12. 当CX=0时,程序跳转到NEXT标号处执行。 ( )
1. 无符号数比较,当高于的时候转移到NEXT标号处执行。 ( JA/JNBE )
2. 无符号数比较,当高于等于的时候转移到NEXT标号处执行。 ( JAE/JNB )
3. 无符号数比较,当低于的时候转移到NEXT标号处执行。 ( JB/JNAE )
4. 无符号数比较,当低于等于的时候转移到NEXT标号处执行。 ( JBE/JNA )
5. 有符号数比较,当大于的时候转移到NEXT标号处执行。 ( JG/JNLE )
6. 有符号数比较,当大于等于的时候转移到NEXT标号处执行。 ( JGE/JNL )
7. 有符号数比较,当小于的时候转移到NEXT标号处执行。 ( JL/JNGE )
8. 有符号数比较,当小于等于的时候转移到NEXT标号处执行。 ( JLE/JNG )
1. 调用子程序SUB_PROG的指令。 ( )
2. 从子程序返回的指令。 ( )
3. 执行软件中断,中断类型为21H. ( INT n 21H )
4. 从中断返回的指令。 ( )
处理机指令(9条)
1. 进位位清零。 ( CLC )
2. 进位位置1。 ( STC )
3. 进位位取反。 ( CMC )
4. 设置方向标志为1。( STD )
5. 方向标志位清零。 ( CLD )
6. 设置中断标志位为1。 ( STI )
7. 中断标志位清零。 ( CLI )
8. 停机指令。 ( HLT )
9. 空操作指令。 ( NOP )
二、寻址方式测试,请指出下列指令中,源操作数的寻址方式,答案请写入括号中。(每题2分)
1. MOV AX, 100H ;( 立即数 )
2. MOV AX, [100H] ;( 直接寻址 )
3. MOV AX, VAL ; ( 直接寻 ) (说明:VAL是符号地址)
4. MOV AX, BX ;( 寄存器寻址 )
5. MOV AX, [BX] ;( 寄存器间接寻址 )
6. MOV AX, [BX+10H] ;( 寄存器相对寻址 )
7. MOV AX, [BX][SI] ;( 基址变址寻址 )
8. MOV AX, [BX][SI]COUNT ;( 相对基址变址寻址 )(说明:COUNT
是个偏移量)
9. IN AX, 0FFH ;( I/O端口直接寻址 )