浙江省2002年1月高等教育自学考试汇编语言程序设计试题作者名:不详 来源:网友提供 06年6月8日
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 10 分 ) 1.CPU 发出的访问存储器的地址是 ( ) A. 物理地址 B. 偏移地址 C. 逻辑地址 D. 段地址 2. 将高级语言的程序翻译成机器码程序的实用程序是 ( ) A. 编译程序 B. 汇编程序 C. 解释程序 D. 目标程序 3.DEC BYTE PTR [ BX ]指令中的操作数的数据类型是 ( ) A. 字 B. 双字 C. 字节 D. 四字 4. 在下列语句中, BUFFER 称为 ( ) BUFFER DB 01H , 0AH A. 符号 B. 变量 C. 助记符 D. 标号 5. 串操作指令中,源串操作数的段地址一定在 ( ) 寄存器中。 A. CS B. SS C. DS D. ES 6. 使计算机执行某种操作的命令是 ( ) A. 伪指令 B. 指令 C. 标号 D. 助记符 7. 将数据 5618H 存放在存储单元中的伪指令是 ( ) A. DATA1 DW 1856H B. DATA1 DB 18H , 56H C. DATA1 EQU 5618H D. DATA1 DB 18H , 00H , 56H , 00H 8. 若 AX=3500H,CX=56B8H ,当 AND AX , CX 指令执行后, AX=( ) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 9. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是 ( ) 码。 A. BCD 码 B. 二进制码 C.ASCII 码 D. 十六进制码 10. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为 ( ) A. 汇编语言 B. 高级语言 C. 机器语言 D. 低级语言 二、填空题 ( 每空 1 分,共 20 分 ) 1. 在 8086/8088 汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是 ______ 。 2. 通常所说的计算机系统包括 ________ 和 ________ 两大部分。 3.8086/8088 存储器分四个段,这四个段的段名所对应的段寄存器分别是 ________ 、 ________ 、 ________ 、 ________ 。 4. 现有 AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)= 40H, 请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位 ZF 、 CF 的值。 A.ADD AX , 1200H ;问 AX=________H ZF=________ B.SUB AX , BX ;问 AX=________H ZF=________ C.MOV AX ,[ BX ] ; 问 AX=________H CF=________ D.NEG WORD PTR [ 1200H ];问 (31200H)=________H CF=________ 5. 设 DS=2200H,BX=1000H,SI=0100H ,偏移量 D=0A2B1H , 试计算出下列各种寻址方式下的有效地址,填入括号中。 A. 使用 D 的直接寻址 ( ) B. 使用 BX 的寄存器间接寻址 ( ) C. 使用 BX 和 D 的寄存器相对寻址 ( ) D. 使用 BX 、 SI 和 D 的相对基址变址寻址 ( ) E. 使用 BX 、 SI 的基址变址寻址 ( ) 三、简答题 ( 共 20 分 ) 1. 程序在数据段中定义的数组如下: (4 分 ) ARRAY DB ‘ YES IS ' DB 20 ┇ DB ‘ DO NOT ' 请指出下列指令是否正确 ? 若不正确,错在哪里 ? A.MOV BX , OFFSET ARRAY MOV AX ,[ BX+8 ] B.MOV AX , ARRAY C.MOV BX , 2 MOV SI , 3 MOV AX , ARRAY [ BX ][ SI ] D.MOV BX , 2*2 MOV SI , 3 MOV AX , OFFSET ARRAY [ BX ][ SI ] INC [ AX ] 2. 如 TABLE 为数据段中 0100 单元的符号名,其中存放的内容为 0FF00H ,试问以下两条指令有什么区别 ? 指令执行后, AX 寄存器的内容是什么 ?(3 分 ) MOV AX , TABLE MOV AX , OFFSET TABLE 3. 对于下面的数据定义,三条 MOV 指令分别汇编成什么 ?(3 分 ) TAB1 DW 10 DUP(?) TAB2 DB 10 DUP(?) TAB3 DB ‘ 1234 ' ┇ MOV AX , LENGTH TAB1 MOV BL , LENGTH TAB2 MOV CL , LENGTH TAB3 4. 子程序的说明文件中应包括哪几方面的内容 ?(5 分 ) 5. 分别指出下列指令中源操作数的寻址方式: (5 分 ) A.MOV SI , 100 B.MOV CX , DATA [ SI ] C.MOV [ SI ], AX D.ADD AX ,[ BX ][ DI ] E.POPHF 四、程序分析 ( 每小题 5 分,共 20 分 ) 1. 下列程序段完成什么工作 ? DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) ┇ MOV CX , 10 MOV BX , 20 MOV SI , 0 MOV DI , 0 NEXT : MOV AL , DAT1 [ BX ][ SI ] MOV DAT2 [ DI ], AL INC SI INC DI LOOP NEXT 2. 执行下列指令后, AX 寄存器中的内容是什么 ? START DW 10H , 20H , 30H , 40H , 50H EE1 DW 3 ┇ MOV BX , OFFSET START ADD BX , EE1 MOV AX ,[ BX ] 3. 试分析下面程序段的功能是什么 ? CMP AL ,‘ A ' JC OTHER CMP AL ,‘ Z ' +1 JNC OTHER JMP LETTER ┇ OTHER : ┇ LETTER : ┇ 4. 下面程序段执行完以后, AL 的内容是什么 ? MOV BX , 00FFH AND BX , 0FFFH OR BX , 0F0FH XOR BX , 00FFH 五、程序设计 ( 每小题 10 分,共 30 分 ) 1. 试编写出把 DX 、 AX 中的双字右移四位的程序段。 2. 定义一个数据区,它包含有 23H , 24H , 25H 和 26H 四个字符数据,把这个数据区复制 20 次,并显示出复制结果。 3. 内存自 BUF 单元开始的缓冲区连续存放着 100 个学生的英文分数,编程序统计其中 90 ~ 100 , 60 ~ 89 , 60 以下者各有多少人 ? 并把结果连续存放到自 RESUT 开始的单元中, ( 要求画出程序流程图,各段定义完整 ) 浙江省 2002 年 1 月高等教育自学考试 汇编语言程序设计试题参考答案 课程代码: 02321 一、单项选择题 ( 每小题 1 分,共 10 分 ) 1.A 2.A 3.C 4.B 5.C 6.B 7.B 8.A 9.C 10.A 二、填空题 ( 每空 1 分,共 20 分 ) 1.SCAS 2. 硬件 软件 3.CS DS ES SS 4.A.3200H 0 B.0E00H 0 C.0250H 不影响 D.0B0H 1 5.A.0A2B1H B.1000H C.0B2B1H D.0B3B1H E.1100H 三、简答题 ( 共 20 分 ) 1. A. 正确 B. 数据类型不匹配错 C. 前两条指令正确,第三条数据类型不匹配 D. 前两条正确,后两条不正确,在汇编过程中, OFFSET 操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。第四条指令中, AX 不能作为基址寄存器用。 2. 第一条指令传送的是 0100H 单元中的内容 AX=0FF00H 第二条指令传送的是地址 0100H AX=0100H 3.MOV AX , 10 MOV BL , 10 MOV CL , 1 4. A. 子程序名 B. 子程序的功能 C. 子程序所用到的寄存器、工作单元的情况 D. 子程序的输入参数 E. 子程序的输出参数 5.A. 立即寻址 B. 寄存器相对寻址 C. 寄存器寻址 D. 基址加变址寻址 E. 寄存器寻址 四、程序分析 ( 每小题 5 分,共 20 分 ) 1. 把 DAT1+20 存储单元开始的 10 个字节搬到 DAT2 开始的连续 10 个存储单元中。 2.3000H 3. 判断 AL 的内容,若为‘ A '~‘ Z '的大写字母时,程序转 LETTER 处理,否则转 OTHER 处理。 4.0F00H 五、程序设计 ( 每小题 10 分,共 30 分 ) 1.MOV CL , 04 SHR AX , CL MOV BL , DL SHR DX , CL SHL BL , CL OR BL , AH 2.DATA SEGMENT PATTERN DB 23H , 24H , 25H , 26H DISPLAY DB 80 DUP( ‘ ' ) ,‘ $ ' DATE ENDS CODE SEGMENT ┇ CLD LEA SI , PATTERN LEA DI , DISPLAY MOV CX , 80 REP MOVSB MOV AH , 09H LEA DX , DISPLAY INT 21H RET CODE ENDS 3.DATA SEGMENT BUF DB 40H , 64H , 51H … RESUT DB 3 DUP(0) DATA ENDS STACK SEGMENT STACK DB 100 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS ∶ DATA , ES ∶ DATA , SS ∶ STACK , CS ∶ CODE START PROC FAR PUSH DS MOV AX , 0 PUSH AX MOV AX , DATA MOV DS , AX MOV ES , AX MOV 、 AX , STACK MOV SS , AX LEA SI , BUF MOV CX , 100 CLD AO : LODSB CMP AL , 5AH JL L60 INC [ RESUT ] JMP COM L60 : CMP AL , 3CH JGE K8960 INC [ RESUT+1 ] JMP COM K8960 : INC [ RESUT+2 ] COM : LOOP AO RET START ENDP CODE ENDS END START
|
||
| |