资源描述
系 级 班 姓名 学号
《汇编语言程序设计》试卷A2009.12
题 型
选择题
填空题
简答题
程序设计题
合 计
得 分
阅卷人
一、选择题(每题2分,共20分)
1.能够被计算机直接执行的语言称为( )。
a、高级语言 b、汇编语言
c、自然语言 d、机器语言
2.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( )。
a、AX,BX,CX,DX b、DS,ES,CS,SS
c、SP,BP,IP,BX d、SI,DI,BX,BP
3.FR寄存器的各个标志位中,如果出现ZR,其含义为( )。
A.结果为0 B.结果不为0
C.结果溢出 D.结果没有溢出
4.汇编语言中,存储区的存储原则是( ) 。
A.低低高高 B.高高低低
C.随机 D.以上均错
5.要将汇编语言目标文件生成可执行文件,应该通过( )工具生成。
A.EDIT B.MASM C.LINK D.DEBUG
6.下列哪种寻址方式无法访问存储单元( )。
A.基址+变址 B.直接寻址 C.寄存器寻址 D.寄存器的相对寻址
7.非压缩的BCD码乘法调整指令为( )。
A.AAS B.AAM
C.DAA D.AAD
8.要使一个段从一个节的位置开始存储,应该使用的定位类型为( )
A.PAGE B.PARA C.DWORD D.WORD
9.DOS功能21H号的9号功能其入参为( )
A.DS:DX B.DS:SI C.DS:DI D.ES:DX
10.控制计算机面板扬声器的端口地址为( )。
A.71H B.70H C.16H D.61H
二、填空题(每空2分,共20分)
1. 计算机中的存储基本单位为___(1)____ 。
2. 8086/8088CPU中共有 (2) 个16位通用寄存器。
3. DEBUG命令中,查看内存单元内容的命令为 (3) ,读当前寄存器的命令为 (4) ,执行程序的命令为 (5)。
4. MOV AX,[SI+BP+1234H]该指令的寻址方式为 (6) 。
5. 想要访问CMOS芯片,需要通过___ (7) 端口和 (8) ___端口。
6. 变换键的状态字中,D5和D6位分别代表的是 (9) 以及 (10) 状态变化。
三、简答题(5*6分=30 分)
1、简述汇编语言的编辑于调试步骤。
2、请分析该图中用线框起来的这8个标志分别代表的是什么标志的值?其含义是什么?
NV:
UP:
EI:
PL:
NZ:
NA:
PO:
NC:
3、简述DOS功能的基本调用步骤。
4、简述子程序与主程序之间参数传递的三种方法
5、简述21H号功能的6号功能调用的入口参数及出口参数。
四、程序设计题(共2题,共30 分)
(1)在屏幕上重复显示字符“A”,直到按下CTRL+C或CTRL+B组合键为止(10分)。
(2)编写一个程序,完成如下功能:在屏幕的中间开出一个窗口,随后接收用户按键,并把按键显示在窗口的最底行,当窗口底行显示满时,窗口内容就向上滚动一行。该程序使用CTRL+C键结束。(20分)
系 级 班 姓名 学号
系 级 班 姓名 学号
《汇编语言程序设计》试卷A答题纸2009.12
题 型
选择题
填空题
简答题
程序设计题
合 计
得 分
阅卷人
一、选择题(每题2分,共20分)
得 分
阅卷人
1
2
3
4
5
6
7
8
9
10
D
D
A
B
C
C
B
B
A
D
二、填空题(每空2分,共20分)
得 分
阅卷人
1
字节
2
8
3
D命令
4
R命令
5
G命令
6
相对的基+变
7
70H
8
71H
9
NUM LOCK
10
CAPS LOCK
三、解答题(共30 分)
得 分
阅卷人
1、简述汇编语言的编辑于调试步骤。
(1)用EDIT编辑程序建立汇编语言程序源文件;
(2)用MASM汇编程序把汇编语言源文件汇编成目标文件;
(3)用LINK链接程序把目标文件链接成可执行文件;
(4)使用DEBUG调试结果或直接输入可执行文件名。
2、请分析该图中用线框起来的这8个标志分别代表的是什么标志的值?其含义是什么?
NV:溢出标志,代表没有溢出;
UP:方向标志,代表递增;
EI:中断标志,代表允许中断;
PL:符号标志,代表结果为正;
NZ:零标志,代表结果不为0;
NA:辅助进位标志,代表结果没有辅助进位;
PO:奇偶标志,代表结果为奇数;
NC:进位标志,代表没有进位。
3、简述DOS功能的基本调用步骤。
(1)功能号送AH寄存器
(2)准备入参
(3)发出INT 21H
4、简述子程序与主程序之间参数传递的三种方法
(1)寄存器传递
(2)存储器传递
(3)堆栈传递
5、简述21H号功能的6号功能调用的入口参数及出口参数。
入口参数:如果DL=0FFH,则表示该功能调用是输入;如果DL=XX(非0FFH),则将DL的ASCII码输出;
出口参数:输入时,ZF=1表示无字符可读,ZF=0表示读到字符,AL=输入字符的 ASCII码;输出时,无出口参数。
四、程序设计题(共2题,共30分)
得 分
阅卷人
(1)在屏幕上重复显示字符“A”,直到按下CTRL+C或CTRL+B组合键为止。(10分)
CSEG SEGMENT
ASSUME CS:CSEG
START:
MOV DL,"A"
MOV AH,02H
INT 21H ;显示字符“A”
INC BX
JMP START ;死循环
MOV AH,4CH
INT 21H
CSEG ENDS
END START
(2)编写一个程序,完成如下功能:在屏幕的中间开出一个窗口,随后接收用户按键,并把按键显示在窗口的最底行,当窗口底行显示满时,窗口内容就向上滚动一行。该程序使用CTRL+C键结束。(20分)
WINWIDTH=40 ;窗口宽度
WINTOP=8 ;窗口左上角行号
WINLEFT=20 ;窗口左上角列号
WINBOTTOM= 17 ;窗口右下角行号
WINRIGHT= 59 ;窗口右下角列号
COLOR= 74H ;属性值
PAGEN=0 ;显示页
CTRL_C=03H ;结束符ASCII码
CSEG SEGMENT
ASSUME CS:CSEG
START:
MOV AL,PAGEN ;选择显示页
MOV AH,5
INT 10H
MOV CH,WINTOP ;清窗口
MOV CL,WINLEFT
MOV DH,WINBOTTOM
MOV DL,WINRIGHT
MOV BH,COLOR
MOV AL,0
MOV AH,6
INT 10H
MOV BH,PAGEN ;将光标定位到窗口左下角
MOV DH,WINBOTTOM
MOV DL,WINLEFT
MOV AH,2
INT 10H
NEXT:
MOV AH,0 ;接收一个键
INT 16H
CMP AL,CTRL_C ;判断是否为结束键
JZ EXIT ;是,则转EXIT标号
MOV BH,PAGEN ;否,则显示该按键
MOV CX,1
MOV AH,0AH
INT 10H
INC DL ;准备向右移动光标
CMP DL,WINRIGHT+ 1 ;判断是否超出窗口范围
JNZ SETCUR ;否,则转SETCUR标号
MOV CH, WINTOP ;是,则窗口内容上滚一行
MOV CL,WINLEFT ;空出窗口最底行
MOV DH,WINBOTTOM
MOV DL,WINRIGHT
MOV BH,COLOR
MOV AL,1
MOV AH,6
INT 10H
MOV DL,WINLEFT
SETCUR:
MOV BH,PAGEN ;光标后移
MOV AH,2
INT 10H
JMP NEXT
EXIT:
MOV AH,4CH
INT 21H 返回DOS
CSEG ENDS
END START
9
展开阅读全文