好文档 - 专业文书写作范文服务资料分享网站

【精选资料】华中科技大学本科汇编试卷 A卷 答案

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸

计算机学院2011-2012学年第二学期

《汇编语言程序设计》考试试卷(A卷)及参考答案

闭卷 考试时间: 2012年5月5日

专业 班级 学号 学生姓名 题号 一 二 三 四 五 六 七 八 总分 核对人 10 10 10 10 20 10 10 20 100 题分 得分 得 分 评卷人

一、改错。(每个小题中只能对一个操作数进行修改。共10分,每小题1分)

;XOR AX, [BX]

;CMP WORD PTR [EDX], 80H ;JMP WORD PTR [BX] ;SUB AX, BP ;MOV CX, 1234H ;PUSH AX

;MOV DX, 255H / IN AL, DX ;SUB BP, 125 ;ADD DI, [EAX] ;MOV AX, CS

1.XOR AX, [CX] 2. CMP [EDX], 80H

3. JMP WORD PTR [BL] 4.SUB EAX, BP 5.MOV CL, 1234H 6. PUSH AL

7. IN AL, 255H 8. SUB 125, BP

9. ADD [DI], DWORD PTR [EAX] 10. MOV CS, AX 得 分 评卷人

二、填空 (共10分,每空1分)

1. 设(CS)=1000H,(DS)=2000H,(SS)=3000H,(DI)=0300H, (IP)=0100H,(20300H)=50H,(20301H)=01H,(20302H)=00H,(20303H)=50H。 实方式下, 指令“ JMP WORD PTR [DI] ”转向

的物理地址是 10150H ,它是一条 段内 转移指令。

2. 依次执行

XOR EAX, EAX DEC AL DEC AL

MOVSX EAX, AL ; 将(AL)的最高位扩展并送入目的操作数地址中

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸

ADD EAX, 3

执行完后, (AX)= 0001H CF = 1 ZF = 0 SF = 0

3. 下列指令序列执行前, (EAX)=0FFFFA015H,(EBX)=1000H。执行下列指令序列

XOR EDX,EDX IDIV EBX IMUL BX

则执行后:

(EDX)= 0000FFFFH , (EAX)= 000FA000H , 对于上述最后一条乘指令,如果乘积的高位不是低位的符号扩展,则CF=1、OF= 1 ,而SF、ZF、AF和PF标志位 未定义 。

三、简答题(共10分)

1. 简述实方式下新增一个中断处理程序的主要步骤。(4分)

得 分 评卷人 (1) 编制新的中断处理程序。

(2) 获取中断号m。若是硬件中断则有相应的中断号,否则查找一个空闲的中断号。 (3) 将新的中断处理程序装入内存或驻留内存,将新的中断处理程序的偏移地址和段地址保存到物理地址4*m和4*m+2处。

2. 设有 (AX)=1000H,执行下列子程序:

TRY PROC NEAR PUSH AX RET TRY ENDP

请画出上述每条指令执行后堆栈示意图,并指出执行该子程序后 IP中的内容为多少?(3分)

00H 10H XXXX XXXX PUSH AX

(SP) (SP)+1

XXXX XXXX

(SP) (SP)+1

RET, 子程序返回后(IP)=1000H

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸

3. 基于窗口的应用程序中,窗口消息处理程序主要完成什么功能?(3分)

Windows系统中,每个基于窗口的应用程序都有消息处理程序。窗口主程序不断地从该应用程序的消息队列中检测消息,若检测到消息,则通知操作系统调用该窗口的消息处理程序去处理该消息。

得 分 评卷人

四、数据段定义如下,按要求回答问题。(共10分)

BUFA A BUFB

0DH 0AH 25 00 06H 00H ‘B’ ‘U’ ‘F’ ‘B’ ‘$’ ‘$’ 偏移地址 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH

DATA SEGMENT USE16 BUFA DB 0DH,0AH A DW 25, BUFB Alen EQU $ - A

BUFB DB ‘BUFB’,2 DUP (‘$’) DATA ENDS

1、 以字节为单位画出它们在存储单元中的存放形式, 在图中标明各变量的偏移地址值。(6分)

2、Alen的值是多少?(1分)

Alen = 6

3、执行下列语句后,屏幕上会显示什么?(3分)

MOV AX,DATA

MOV DS,AX MOV DX,[A+2] MOV AH, 9 INT 21H

显示:BUFB

得 分 评卷人

五、程序填空(共20分,每空2分)

1. 下列程序输入两个串, 比较两个串是否相同, 相同则显示”equal”, 否则显示”not equal”。 .386

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸

IO MACRO A, B LEA DX, B MOV AH, A INT 21H ENDM DATA SEGMENT USE16 STR3 DB 'EQUAL!', 0DH, 0AH,'$' STR4 DB 'NOT EQUAL!', 0DH, 0AH,'$' BUF1 DB 80,0,80 DUP(0) BUF2 DB 80,0,80 DUP(0) DATA ENDS CODE SEGMENT USE16 ASSUME CS: CODE, DS: DATA START: MOV AX, DATA

MOV DS, AX

IO 10,BUF1 IO 10,BUF2

MOV AL, BUF1+1 MOV AH, BUF2+1 CMP AL, AH JNE NOTEQUAL LEA SI, BUF1+2 LEA DI, BUF2+2 MOVZX CX, AL AGAIN: MOV AL,[SI] CMP AL,[DI] JNE NOTEQUAL INC SI INC DI LOOP AGAIN IO 9, STR3 QUIT: MOV AH, 4CH INT 21H NOTEQUAL:

IO 9, STR4

JMP QUIT CODE ENDS END START

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸

2. 下列子程序F2T10将EAX中的有符号数以十进制形式在显示器上输出。

;调用子程序名:RADIX .386

DATA SEGMENT USE16

BUF DB 12 DUP(?) DATA ENDS ... F2T10 PROC

PUSH EBX

PUSH SI LEA SI,BUF B: OR EAX, EAX JNS PLUS

NEG EAX

MOV BYTE PTR [SI],’-’ INC SI

PLUS: MOV EBX, 10 CALL RADIX

MOV BYTE PTR [SI],’$’ LEA DX, BUF MOV AH, 9 INT 21H POP SI

POP EBX RET F2T10 ENDP

RADIX PROC

; 入口参数:EAX——存放待转换的32位无符号二进制数 ; EBX——存放要转换数制的基数

; SI——存放转换后的指定进制数的ASCII码数字串的字节缓冲区首址 ;输出参数: SI——指向字节缓冲区中最后一个ASCII码的下一个字节处

... RADIX ENDP

【精选资料】华中科技大学本科汇编试卷 A卷 答案

计算机学院2011-2012学年第二学期《汇编语言程序设计》考试草稿纸计算机学院2011-2012学年第二学期《汇编语言程序设计》考试试卷(A卷)及参考答案闭卷考试时间:2012年5月5日专业班级学号学生姓
推荐度:
点击下载文档文档为doc格式
1hq4o2phik0mq5e7eayt5nd0e7n2yj017d1
领取福利

微信扫码领取福利

微信扫码分享