1、18086 指令系统测试题(重修)说明:8086 的指令系统测试题共有 85 条指令,测试的目的是让学生熟记指令且能运用指令完成指定任务,为第四章的程序设计打下基础。最后,对本章中的寻址方式进行测试和考查。一、请在每个括号内填入一条适当的指令,使之能完成该括号前的题目所指定的任务。 (1 空 1 分)数据传送指令(14 条)1. 将 AX 的内容送 BX。 ( MOV BX,AX )2. 将 CX 的内容压入堆栈。 ( PUSH CX )3. 将堆栈的栈顶内容弹出送至 DX。 ( POP DX )4. 对 DX 的内容和数据段中偏移地址为 200H 的内容进行交换。 ( XCHG DX,020
2、0H )5. 对 TABLE 表使用表转换指令。 ( XLAT TABLE )6. 将端口 80H 的内容送至 AL。 ( IN AL,80H )7. 将 AX 的内容写入 60H 端口。 ( OUT 60H,AX )8. 取 TABLE 表的偏移地址送 BX。 ( MOV BX,OFFSET TABLE 或 LEA BX,TABLE )9. 从地址为 450H 的存储单元内容取出 4 个字节,分别送至 SI 和 DS 寄存器。 (LDS SI,0450H )10. 从地址为 450H 的存储单元内容取出 4 个字节,分别送至 DI 和 ES 寄存器。 ( LES DI,0450H )算术运算
3、指令(20 条)1. 将 AX 的内容和地址为 2233H 的存储单元内容相加,结果放在 AX 中。 ( ADD AX,2233H )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. 做 CX 和 0FFH 的大小比较。 ( CMP CX,0FFH )8. 将 AL 中的无符号数
4、和数据段中地址为 10H 的存储单元内容相乘。 ( MUL BYTE PTR 0010H )9. 将 AX 中的有符号数和数据段中地址为 10H 的存储单元内容相乘。 (IMUL WORD PTR 0010H )10. 将 AX 中的无符号数除以 BL 的内容。 ( DIV BL )11. 将 AX 中的有符号数除以 BL 的内容。 ( IDIV BL )12. 把字节扩展成字的指令。 ( CBW )13. 把字扩展成双字的指令。 ( CWD )逻辑运算和移位指令(13 条)逻辑运算指令:21. 将 AL 和 0FFH 相与。 ( AND AL,0FFH )2. 将 AX 和 3030H 相或
5、。 ( OR AX,3030H )3. 对 BX 的内容取反。 ( NOT BX )4. 将 BX 的内容和 0FFH 相异或。 ( XOR BX,0FFH )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
6、,1 )6. 对 CX 的内容循环右移 1 位。 ( ROR CX,1 )7. 带 CF 标志,对 CX 的内容循环左移 1 位。 ( RCL CX,1 )8. 带 CF 标志,对 CX 的内容循环右移 1 位。 ( RCR CX,1 )控制转移指令(24 条)1. 无条件跳转到 PROG_S 处执行。 ( JMP PROG_S )2. 当 ZF=0 时,程序跳转到 NEXT 标号处执行。 ( JNZ NEXT )3. 当 ZF=1 时,程序跳转到 NEXT 标号处执行。 ( JZ NEXT )4. 当 SF=0 时,程序跳转到 NEXT 标号处执行。 ( JNS NEXT )5. 当 SF=
7、1 时,程序跳转到 NEXT 标号处执行。 ( JS NEXT )6. 当 CF=0 时,程序跳转到 NEXT 标号处执行。 ( JNC NEXT )7. 当 CF=1 时,程序跳转到 NEXT 标号处执行。 ( JC NEXT )8. 当 CX=0 时,程序跳转到 NEXT 标号处执行。 ( JCXZ NEXT )1. 无符号数比较,当高于的时候转移到 NEXT 标号处执行。 ( JA NEXT )2. 无符号数比较,当高于等于的时候转移到 NEXT 标号处执行。 ( JAE NEXT )3. 无符号数比较,当低于的时候转移到 NEXT 标号处执行。 ( JB NEXT )4. 无符号数比较
8、,当低于等于的时候转移到 NEXT 标号处执行。 ( JBE NEXT )5. 有符号数比较,当大于的时候转移到 NEXT 标号处执行。 ( JG NEXT )6. 有符号数比较,当大于等于的时候转移到 NEXT 标号处执行。 ( JGE NEXT )7. 有符号数比较,当小于的时候转移到 NEXT 标号处执行。 ( JL NEXT )8. 有符号数比较,当小于等于的时候转移到 NEXT 标号处执行。 ( JLE NEXT )1. 无条件跳转到 NEXT 标号处执行。 ( JMP NEXT )二、寻址方式测试,请指出下列指令中,源操作数的物理地址计算公式,答案请写入括号中。31. MOV AX, 100H ;( 无 )2. MOV AX, 100H ;( DS16+100H )3. MOV AX, VAL ; (DS16+VAL ) (说明:VAL 是符号地址)4. MOV AX, BX ;( 无 )5. MOV AX, BX ;( DS16+BX )6. MOV AX, BX+10H ;( DS16+BX+10H )7. MOV AX, BXSI ;( DS16+BX+SI )8. MOV AX, BXSICOUNT ;( DS16+BX+SI+COUNT ) (说明:COUNT 是个偏移量)