南昌大学2009汇编答案1

更新时间:2023-11-05 23:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南昌大学 2009~2010学年第一学期期末考试试卷

试卷编号: ( )卷 课程编号: 课程名称: 汇编语言程序设计 考试形式: 闭卷 适用班级: 计算机08级 姓名: 学号: 班级: 学院: 信工 专业: 计算机 考试日期: 题号 题分 得分 考生注意事项:1、本试卷共7页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 一 20 二 20 三 18 四 21 五 21 六 七 八 九 十 总分 100 累分人 签名 一、 选择题(小题 2 分,共 20 分) 得分 评阅人 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列指令中错误的是( )。 A.PUSH AX B.PUSH [20H+SI+BX] C.POP CS D.PUSH CS 2..指令SCASB操作数的段地址一定在( )寄存器中。 A.CS B.DS C.ES D.SS 3.下列指令执行后影响CF值的是( )。 A.DEC B.XCHG C.LEA D.SHL 4.设CL=8,AL=80H,执行SAR AL,CL后,AL中的数据是( )。 A.0FFH B.80H C.00H D.0FEH 5.已知BX=028AH,SI=0294H,(DS:051EH)=5432H。执行语句LEA BX,[BX+SI]后,BX中的内容是( )。 A.051EH B.5423H C.1E05H D.3254H 6. ARY DW 6, 9, $+4, 10H, 1,$+4 ┇ MOV AX, ARY+4 设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是( )。 A.0010H B.0009H C.0090H D. 008CH 第 1 页 共 7页

7.地址为0624H的内存中有一条二字节JMP SHORT AGAIN指令,若该指令的代码中位移量为0B6H,则转向地址的值是( ) 。 A.06DAH B.05DCH C.05DAH D.06DCH 8.将数据5618H存放在存储单元中的伪指令是( ) 。 A. DATA1 DW 1856H B. DATA1 DB 18H,00H,56H,00H C. DATA1 EQU 5618H D. DATA1 DB 18H,56H 9.下面指令中,源操作数的寻址方式为立即寻址的是( )。 A.MOV AX,OFFSET A B.MOV AX,A C.MOV AX,A+1 D.MOV AX,A[BX] 10.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是( )。 A.48H B.90H C.120 D.60 二、 填空题(每空1分,共20分) 得分 评阅人 1. 设SS=1200H,SP=0100H,执行指令CALL FAR PTR A_RUTINE指令后,堆栈栈顶物理地址是 。 2. 设BX=1234H,CL=8,指令ROR BX,CL执行后BX=_____, CF=_________。 3.程序数据段定义如下: XX DB 20 DUP(3 DUP(0,1),?),20 YY DW 20, DUP(3 DUP(0,1),?) 则执行指令:(1) MOV AX,SIZE XX 后, AX=_________。 (2) MOV AX,LENGTH YY 后,AX=________。 4.MOV AX,BX NOT AX ADD AX,BX INC AX 上面指令序列执行后,AX=______ ,CF=_____ ,ZF=_____。 5.指令“AND AX, BX”执行后,标志位ZF=1,说明执行指令前AX与BX的关系是 _________。 6.逻辑运算指令中,指令_ _执行后不影响任何标志位,其他指令执行后,标志位_ __和___一定是0。 7.条件转移指令JAE NEXT能转移到标号NEXT的条件是__ ____。 8.已知AX=0304H,BX=0FFF8H,若分别执行指令: (1)MUL BL,则AX=_____ , OF=____。 (2)IMUL BL,则AX=____ , CF=__ __。 9.设DS=2200H,BX=8009H,SI=8000H,偏移量D=2000H,则使用BX、SI和D的相对基址变址寻址方式中的有效地址为 。 第 2 页 共 7页

10. MOV AX,1234H MOV BX,AX NEG BX ADC AX,BX DEC AX 若已知AX=6789H,则上述指令序列执行后,AX=_____,CF=____。 三、简答题(每题6 分,共18分) 得分 评阅人 1.下面各指令是否正确?对正确指令说明其执行的操作,对错误指令进行改正。 (1) MOV BX, OFFSET A[SI] 答: (2) MOV DS,1234H 答: 2.ARY DW 1234H,10 DUP (?),5678H,9ABCH DW 0ABCDH,0BCDEH CNT DW ? (1)用一条指令将ARY的第5个字节单元内容送AL; 答: (2)用一条指令将分配给ARY的字节数保存在CNT字单元中。 答: 3.(1)在当前数据段偏移地址为2000H的单元开始连续存放某字数据的偏移地址和段值,写出将这个字数据的高8位传送到AL寄存器的指令序列。 答: (2)某数据段中有语句 X DB ′ABCDEFGH′ 请用DW伪指令改写X。 答: 第 3 页 共 7页

四、程序分析与填空题(共21分) 得分 评阅人 1.分析下面程序段,回答问题。(3分) AND AL,AL JZ L1 RCR AL,1 JZ L2 RCL AL,1 INC AL JZ L3 要使程序分别转移到L1、L2和L3,上面程序段执行前AL寄存器的内容应分别取什么值? 答: 2.试分析下面的程序段完成什么功能? (3分) XOR CX,CX AGAIN:AND AX,AX JZ EXIT RCL AX,1 JNC AGAIN INC CX JMP AGAIN EXIT: HLT 答: 3.试分析下面的程序段完成什么功能? (3分) MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 答: 第 4 页 共 7页

4.下面是程序段根据键盘输入0~4的不同值,分别转移到子程序R0~R4,。请在横线 处填一条指令以完善程序段。(4分) BRANCH_TAB DW R0,R1,R2,R3,R4 ? ? ? MOV BX,OFFSET BRANCH_TAB MOV AH,1 INT 21H _ _ MOV AH,0 ADD AX,AX ADD BX,AX ___;转到相应分支 5.以下程序段测试AL的位1、3和5,若有一位是1,程序转L1执行;若有两位是 1,则转L2执行;若3位都是1,则转L3执行;若三位全0则转L4执行,请 在横线处填一条指令以完善程序段。(4分) ? AND AL,2AH JZ L4 _ _ _ TEST AL,20H JZ L1 _ JZ L1 JMP L3 ? 6.下面程序段是判AL和BL中的数据是否同号,若是,则把AL中的数据变负后送到 AH中,否则AH清零。请在横线处填一条指令以完善程序段。(4分) _ __ JNS GO MOV AH,0 JMP EXIT GO: ______ MOV AH,AL EXIT: HLT 第 5 页 共 7页

本文来源:https://www.bwwdw.com/article/i2r2.html

Top