四川大学汇编考试题及答案1

更新时间:2024-03-23 14:07:01 阅读量: 综合文库 文档下载

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

四川大学期末考试试题(闭卷)

(2006-2007学年第2学期)

课程号:

课程名称: 汇编语言程序设计(B卷)

学号:

任课教师:

姓名:

适用专业年级: 计算机科学与技术05级

考试须知 四川大学学生参加由学校组织或由学校承办的各级各类考试,必须严格执行《四川大学考试工作管理办法》和《四川大学考场规则》。有考试违纪作弊行为的,一律按照《四川大学学生考试违纪作弊处罚条例》进行处理。 四川大学各级各类考试的监考人员,必须严格执行《四川大学考试工作管理办法》、《四川大学考场规则》和《四川大学监考人员职责》。有违反学校有关规定的,严格按照《四川大学教学事故认定及处理办法》进行处理。 题 号 得 分 阅卷教师 阅卷时间 一 二 三 四 五 六 卷面成绩 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要

求的,请将其代码填写在题后的括号内。错选、多选或未选均无分

1.下面的数值表示中,和100相等的是哪一个( ) (A)B (B)100H (C)64H (D)64

2.如果(SP)=30H,执行PUSH BX指令后,(SP)=( ) (A)28H (B)2EH (C)32H (D)31H

3.如果(AL)=35H,执行AND AL,0FFH指令后,CF=( ) (A)0 (B)1 (C)2 (D)和执行AND AL,0FFH指令前的取值保持一致

4.以下指令中,执行后要影响标志位的指令为( ) (A)MOV AL,BL (B)SAHF (C)NOT CL (D)PUSHF

5.对于SAR指令的相关原理,正确的描述为( ) (A)执行SAR指令后,目的操作数最高位补充0 (B)该指令实质上与SHR指令没有区别

(C)如果移位次数大于1,则移位次数必须预先存放在CL寄存器 (D)该指令不影响CF标志位

6.关于SUB指令对OF标志的影响,正确的描述为( )

(A)当程序员把SUB指令的操作数看作无符号数时,SUB指令不影响OF标志

(B)当程序员把SUB指令的操作数看作无符号数时,SUB指令要影响OF标志,但是程序员认为它此时没有意义 (C)SUB指令有时会影响OF标志,但有时不会

(D)程序员使用SUB指令时总是认为它所影响的OF标志是有意义的

7.DEBUG中,T命令的功能为( ) (A)显示当前系统时间 (B)查看指定内存单元的内容 注:试题字迹务必清晰,书写工整。 本题8页,本页为第1页

教务处试题编号:

(C)单步执行下一条指令 (D)修改指定寄存器的内容

8.DEBUG中,R命令的功能为( ) (A)查看内存单元内容 (B)查看或修改指定寄存器的内容 (C)单步执行 (D)连续执行

9.条件转移指令的最大转移范围为( ) (A)没有转移范围的限制 (B)-128到127个字节 (C)-32768到32767个字节 (D)0到255个字节

10.如果(AL)=0DH,执行SUB AL,80H 指令后,正确的结果为哪一个( ) (A)(AL)=8DH,OF=1 (B)(AL)=0DH,OF=0 (C)(AL)=8DH,OF=0 (D)(AL)=0D1H,OF=1

11.如果(SP)=80H,执行指令CALL FAR PTR PR1后(SP)=( ) (A)80H (B)84H (C)7CH (D)7EH

12.如果数据段中一个内存单元对应的物理地址为2F724H,(DS)=2F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元( ) (A)0024H (B)0F724H (C)0724H (D)2724H

13.如果(AL)=B,执行ROL AL,1指令后,正确的结果为( ) (A)(AL)= B (B)(AL)= B (C)(AL)= B (D)(AL)= B

14.以下指令中,没有使用基址寻址的指令是哪一个( ) (A)AND CL,100H[BX] (B)MOV [BP],BX (C)SBB TAB1[BX],AH (D)XOR AX,200H[BP]

15.如果(AL)=66H,执行如下程序片段后,正确的执行结果为( ) STC

OR AL,1 ADC AL,82H

(A)(AL)=0E9H,CF=1 (B)(AL)=0E9H,CF=0 (C)(AL)=0EAH,CF=0 (D)(AL)=0EAH,CF=1

16.假设PR1是一个FAR类型的子程序名称,那么CALL PR1指令执行的正确步骤为以下哪一个 ( )

(A)先将CS、IP的内容压栈,再按照PR1对应的逻辑地址修改CS、IP,使程序流程转移至PR1子程序入口 (B)先按照PR1对应的逻辑地址修改CS、IP的内容,使程序流程转移至PR1子程序入口,然后将CS、IP的内容压栈,保存返回点

(C)先将IP的内容压栈,再按照PR1对应的段内偏移量修改IP,使程序流程转移至PR1子程序入口

(D)先将CS、IP、FR的内容压栈,再按照PR1对应的逻辑地址修改CS、IP,使程序流程转至PR1子程序入口

17.如果(AL)=03H,(BL)=05H,执行如下程序片段后,正确的执行结果为以下哪一个( ) SUB AL,BL AAS

(A)(AL)=0FEH,CF=1 (B)(AL)=0F8H,CF=1

课程名称: 任课教师: 学号: 姓名: (C)(AL)=08H,CF=1 (D)(AL)=08H,CF=0

18.在8086/8088汇编语言程序设计中,源程序中能够合法使用的内存单元地址是以下哪一种( ) (A)逻辑地址 (B)物理地址 (C)段基址 (D)位地址

19.如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,正确的执行结果为( ) (A)(DS)=5570H,(SI)=0088H (B)(DS)=0235H,(SI)=0E60H (C)(DS)=0E60H,(SI)=0235H (D)(DS)=0088H,(SI)=5570H

20.如果(BX)=0054H,(SI)=0033H,(DS)=0022H,(SS)=0030H,在指令ADD AL,100H[BX][SI]中,其源操作数的EA为( ) (A)0187H (B)12A7H (C)1387H (D)0087H

二、多项选择题(本大题共5小题,每小题2分,共10分 )在每小题列出的五个备选项中有二个至五个是符合题

目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

1.对于汇编语言中的子程序设计,下列描述正确的有哪些( ) (A)子程序执行的最后一条指令一定是RET指令

(B)子程序可以通过堆栈取得入口参数,并且通常使用BP寄存器从堆栈中获取入口参数 (C)子程序可以通过寄存器取得入口参数 (D)子程序可以分为NEAR和FAR两种类型

(E)RET N (N为整数)这种返回指令格式通常用于清除主程序通过堆栈传递的入口参数

2.以下存储器寻址方式中,哪些可以由BX寄存器提供偏移量或基址分量( ) (A)立即数寻址 (B)基址寻址 (C)基址变址寻址 (D)寄存器间接寻址 (E)直接寻址

3.对于END伪指令,下列功能描述正确的为( ) (A)用于结束整个汇编语言源程序 (B)用于结束一个逻辑段的定义

(C)通常在该伪指令后面需要给出一个标号,用于指出程序中第一条被执行指令的逻辑地址 (D)汇编工具软件MASM.EXE不会处理END伪指令后面的语句 (E)可用于结束子程序定义

4.执行如下程序片段后,正确的运行结果描述有哪些( ) ……

MOV AL,53H MOV AH,92H SUB AL,AH JG L1 JMP L2

L1: MOV AL,0 JMP L3 L2: MOV AL,0FFH L3: ……

(A)(AL)=00H (B)CF=0 (C)OF=1 (D)(AL)=0C1H (E)ZF=0

本题8页,本页为第3页

教务处试题编号:

5.以下指令中,不影响任何标志位的有哪些( (A)MOV指令 (B)ADD指令 (D)JC指令

(E)LOOP指令

(C)AND指令

三、判断分析题(本大题共5小题,每小题5分,共25分 )每小题列出的语句在语法上可能是正确的,也可能是

错误的,请判断各小题所给语句在语法上是否正确,如果是错误的,则需要分析其错误原因。对于所给语句正确的小题,只要做出正确判断即给5分,如果做出错误判断则无分;对于所给语句错误的小题,做出正确判断给2分,做出正确的错误分析再给3分,如果做出错误判断则无分。

1.MOV IP,0890H 2.POP AH 3.SUB [SI],64 4.SHL AX,BL 5.MUL CL,DL

四、名词解释题(本大题共3小题,每小题3分,共9分),解释每小题所给名词的含义,若解释正确则给分,若

解释错误则无分,若解释不准确或不全面,则酌情扣分。

1.立即数寻址 2.寄存器间接寻址 3.BCD码

五、程序分析题(本大题共3小题,每小题5分,共15分),每小题给出了一个程序片段,这些程序片段在语法和

逻辑上都是正确的,请按照各小题给出的分析要求,分析程序片段的执行结果或总结程序片段的功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。 1.阅读下面的程序片段,并分析执行结果。(共5分) MOV AX,723AH MOV BX,0C86BH SUB AL,BL SBB AH,BH XOR AL,01H ADC AX,0

执行该程序片段后:

(AX)= (2分) CF = (2分) OF = (1分)

2.阅读下面的程序片段,并分析执行结果。(共5分)

MOV AL,0B6H MOV CX,0402H

课程名称: 任课教师: 学号: XOR BL,BL L1: ROL AL,CL ADC BL,0 DEC CH JNZ L1 执行该程序片段后:

(AL)= (2分) CF = (2分) ZF = (1分)

3.阅读下面的程序片段,并分析执行结果 MOV AL,0A5H MOV CX,8 LOP1: SHR AL,1 L0: JNC L1 XOR AL,AL L1: LOOP LOP1

执行上面的程序片段后:

对于L0标号处的JNC指令,在整个循环过程中,转移成功的次数为 (2分) (AL)= (2分) (CX)= (1分)

姓名:

六、程序设计题(本大题共2小题,第1小题8分,第2小题13分,共21分 ),每小题给出了一个程序设计要求,

请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。

1.请设计一个子程序,其功能如下:

(1)主程序向它提供一个字符串在数据段中的起始偏移量和该字符串的长度 (2)子程序统计该字符串中字符‘Q’的个数,统计结果返回给主程序

仅要求写出与子程序相关的源程序代码,并用文字说明参数传递方式。(8分)

2.请设计一个完整程序,该程序的功能如下:

(1)从键盘接收一个字符串输入,把接收到的字符串存放于一个缓冲区中,最大允许输入20个字符,输入字符数不够20个时可以回车键结束字符串的输入

(2)将所输入字符串中的小写字母转换为大写字母 (3)在新的一行上显示处理后的字符串

例如:输入aBcD,则在新的一行输出ABCD

要求写出完整的源程序代码。(13分)

本题8页,本页为第5页

教务处试题编号:

答案:CBABC BCBBA CCABB ACACA 多选 1.ABCDE2.BCD 3.AC 4.ACE 5.AD 判断 1.错,MOV指令不能直接对IP进行操作 2.错,POP的目的操作数必须要有16位,而AH只有8位 3.错,位长不明确,应该在[SI]前面加上位长限制 4.错,位移大于1时,位移数应放在CL中,而不是BL 5.错,MUL指令只需要源操作数 名词解释 立即数寻址:将一个立即数当作偏移量配合上相应段基值进行寻址 寄存器间接寻址:将寄存器中的数据当作地址的偏移量配合上相应段基值进行寻址 BCD码:一种编码方式,分别把0~9编码为4位0~9对于的二进制数

程序分析题 1.0A9CEH 0 0 2.0D9H 0 0 (ZF==0因为ADC指令的影响) 3.7 0 0

程序设计一 说明 用寄存器传递参数 起始偏移量在bx,长度在cx中 结果保存在ax中

subcode proc xor ax,ax

lop: cmp [bx],'Q' jnz l1 inc ax

l1: inc bx loop lop ret

subcode endp

程序设计二 data segment

len db 20

课程名称:

var db 22 dup('$')

data ends

stack segment stack

dw 20 dup()

stack ends

code segment

assume cs:code,ds:data,ss:stack

Main: mov ax,data mov ds,ax lea dx,len mov ah,0ah int 21h xor cx,cx mov cl,var lea bx,var+1

lop: cmp [bx],'a' jb l1 cmp [bx],'z' ja l1 add [bx],'A'-'a'

l1: inc bx

任课教师: 学号: 姓名:

本题8页,本页为第7页

教务处试题编号:

loop lop mov ah,02h mov al,0ah int 21h mov al,0dh int 21h lea dx,var+1 mov ah,09h int 21h mov ah,4ch int 21h

code ends

end Main qw4990 :)

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

Top