浙江省2004年1月高等教育自学考试汇编语言程序设计试题作者名:不详 来源:网友提供 06年6月8日
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 16 分 ) 1. 指令 MOV BYTE PTR [ BX+SI ], 0 目的操作数的寻址方式是 ( ) 。 A. 立即寻址 B. 寄存器寻址 C. 寄存器间接寻址 D. 基址变址寻址 2. 已知 DS=12A0H , ES=22A0H , SS=33A0H , BP=0174H ,指令 MOV AX , DS :[ BP ]源操作数的物理地址是 ( ) 。 A.12A074H B.22B74H C.33B74H D.12B74H 3. 某数组共有 4 个字,第一个字的物理地址是 1F100H ,则第 4 个字的物理地址是 ( ) 。 A.1F105H B.1F106H C.1F107H D.1F108H 4. 循环指令 Loop 规定循环次数必定在 ( ) 寄存器中。 A.DX B.DL C.CX D.CL 5. 指令 LODSB 操作数的段地址一定在 ( ) 寄存器中。 A.CS B.DS C.ES D.SS 6. 有数据定义 LIST DB 45H , 36H , 18H , 76H ,执行 MOV AX , WORD PTR LIST+2 ,则 AX=( ) 。 A.3600H B.0036H C.1876H D.7618H 7. 下列数据定义语句错误的是 ( ) 。 A.ERR DW ‘ ERROR !' B.BUF DB 9 DUP (?) C.FLAG DB 1 D.DAT1 DW ? 8.8086 的存储器是分段的,定义一个段的伪指令是 ( ) 。 A.PROC 和 ENDP B.NAME 和 END C.SEGMENT 和 ENDS D.SEGMENT 和 ASSUME 9. 已知 AX=1200H ,能使 CF 置' 1 '的指令是 ( ) 。 A.OR AX,AX B.NEG AX C.NOT AX D.DEC AL 10. 已知 SP=12EH ,执行段间返回指令 RET 后, SP 的值是 ( ) 。 A.12AH B.12CH C.130H D.132H 11. 已知 AX=0139H , BL=36H ,执行下列指令序列,则 AX=( ) 。 ADD AL,BL AAA A.016FH B.0175H C.0205H D.0115H 12. 将 AX 中有符号数除以 4 的正确指令序列是 ( ) 。 A.SHR AX , 1 B.SAR AX , 1 C.IDIV 4 D.DIV 4 SHR AX , 1 SAR AX , 1 13. 已知 CS=2300H , DS=2400H ,执行下列指令序列后, CS 和 DS 值是 ( ) 。 PUSH CS POP DS A.CS=0 B.CS=2400H C.CS=2400H D.CS=2300H DS=2300H DS=2300H DS=2400H DS=2300H 14. 用转移表法的多分支程序设计,分支表是建在 ( ) 中。 A. 代码段 B. 数据段 C. 附加段 D. 堆栈段 15. 扩展名是 EXE 的汇编语言可执行程序用 DOS 功能调用返回操作系统指令是 ( ) 。 A.MOV AX,4CH B.MOV AX,4C00H C.MOV AL,4CH D.MOV AH,2CH 16. 串比较指令 REPE CMPSB 重复比较执行的条件是 ( ) 。 A.CX ≠ 0 并且 ZF=0 B.CX ≠ 0 并且 ZF=1 C.CX ≠ 0 或者 ZF=0 D.CX ≠ 0 或者 ZF=1 二、填空题 ( 每空 1 分,共 16 分 ) 1. 汇编语言是一种面向 ____________ 的语言,把汇编语言源程序翻译成机器语言目标程序是由 ____________ 完成的。 2.8086/8088 指令系统可分为六大类,其中 ____________ 指令执行后,不会影响状态标志。 3. 在 8086/8088CPU 控制寄存器中, ____________ 寄存器内容始终指向下一条指令的首地址,此时该指令物理地址计算式是 ____________ 。 4. 已知 DS=2000H , BX=0D00H ,( 20D00H ) =0 ,( 20D01H ) =92H , ( 1 )执行 DEC BYTE PTR [ BX ] ( 20D00H ) =____________ , ( 2 )执行 ROL WORD PTR [ BX ] ( 20D00H ) =____________ ,( 20D02H ) =____________ 。 5. 已知 AX=1A08H , BX=20F8H ,执行 IMUL BL ,积为 ____________ 。 6. 已知 DS=1A00H , ES=2D00H , SS=1B80H , BX=100H , BP=40H , DI=20H , 计算下列源操作数物理地址。 ( 1 ) OR AX, [ BP ] 物理地址 ____________ ; ( 2 ) SUB AX,ES :[ BX+DI ] 物理地址 ____________ 。 7. 已知 X1 DW 0ABCDH ,若要将 X1 用 DB 定义,原来数据区中的内容保持不变,则 X1 DB____________ , ____________. 8. 已知 BX=1000H ,执行: MOV AX,BX NEG AX ADD BX,AX 则程序执行后, AX=____________ , BX=____________ , CF=____________ 。 三、简答题 ( 每小题 4 分,共 12 分 ) 1. 有两条无条件转移指令 JMP WORD PTR [ SI ] JMP DWORD PTR [ SI ] ( 1 )说明两条指令的区别 ( 2 )已知 DS=2000H , CS=4000H , SI=1000H , ( 21000H ) =78H ,( 21001H ) =01H ,( 21002H ) =00H ,( 21003H ) =12H 分别计算这两条转移指令转移目标的物理地址。(要有计算式) 2. 在 8086/8088 指令系统中,按寻址方式分类,指令操作数分成哪几类?各举一例说明。 3. 假设程序中的数据定义如下: FLD1 DB 10DUP (?) FLD2 DW 100H , 200H , 300H FLD3 DB 4 , 5 , 7 , 9 按要求写出合适的指令,每小题只能写一条指令。 ( 1 )将 FLD2 的第 4 个字节送入 AL 。 ( 2 )用伪指令写出 FLD1 和 FLD2 两者总字节数 COUNT 。 四、程序分析题 ( 每小题 6 分,共 24 分 ) 1. TEST SI , 1 JZ NEXT INC SI JMP EXIT NEXT: SUB SI,2 EXIT: 例如, SI=05H ,程序段执行后, SI=____________ SI=08H ,程序段执行后, SI=____________ 该程序段的功能是 ____________ 。 2.MOV AL,0FH MOV BL,0FEH XOR AL,BL 上述指令序列执行后, AL=____________ , BL=____________ 3.ARY DB 10H , 20H , 30H , 40H , 50H , 60H , 70H CLD LEA SI , ARY+2 LODSW 程序执行后 AH=____________AL=____________ 4. 设寄存器 AL=12H , BL=7AH , CL=0FEH CMP AL,BL JAE NEXT XCHG AL,BL NEXT: CMP AL,CL JAE EXIT XCHG AL,CL EXIT: HLT 上述程序段执行后 ,AL=____________ 程序的功能是 ____________ 五、程序填空题 ( 每小题 6 分,共 12 分,每空格只能填一条指令 ) 1. 下面程序段判断 CX 和 BX 中的符号位是否相同。如相同, AL 置 0 ,否则 AL 置 -1 。试在空白处填上合适的指令。 ____________ AND CX , 8000H ____________ MOV AL , 0FFH JMP EXIT ZERO : MOV AL , 0 EXIT : 2. 已知存储器中有一个首地址为 BUF 的 COUNT 个字节数据区。下列程序段把数据区中的每一项加 1 (不考虑溢出),请将程序填写完整。 BUF DB 45H , 79H , 0ABH , ...86H COUNT EQU____________________ LEA BX,BUF MOV CX,COUNT AGN:____________________ INC BX LOOP AGN HLT 六、程序设计题 ( 第 1 小题 6 分,第 2 小题 14 分,共 20 分 ) 1. 以二进制位串的形式,从高位到底位,在屏幕上显示 AL 中值,例如, AL=6AH ,显示: 01101010 。编写此程序段。 2. 已知在以 BUF 为首地址的数据区中,存放 10 个八位无符号 数,编程求出最大偶数存入 BIG 单元,并将它的偏移地址存入 ADDR 中。 要求源程序格式完整。
|
||
| |