8086指令系统测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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, V AL ; (直接寻)(说明:V AL是符号地址)
4.MOV AX, BX ;(寄存器寻址)
5.MOV AX, [BX] ;(寄存器间接寻址)
6.MOV AX, [BX+10H] ;(寄存器相对寻址)