课程名称: 汇编语言 考试时间: 年 月 日
题 号 一 二 三 四 五 六 总分 评卷人 评卷得分 一、单项选择题(2分x10=20分) 得分 01.C 02.D 03.C 04.C 05.B 06.C 07.D 08.B 09.C 10.D
C01. CPU要访问的某一存储单元的实际地址称( )。 A.段地址 B.偏移地址 C.物理地址 D.逻辑地址
D02. 设(BL)=0AH,要使结果(BL)=05H,应执行指令是( )。 A.AND BL,0FH
B.NOT BL
C.OR BL,0FH D.XOR BL,0FH
C03. 设SP初值为3050H,执行指令POP BX后,SP的值是( ) A.304FH B.304EH C.3052H D.3051H
C04. 在IN AL,PORT指令中,PORT称为( )。 A.立即数 B.有效地址 C.端口地址
D.寄存器名
B05.若要使BH中原有的数(奇数或偶数)变为为奇数,应执行的指令是( )。 A.ADD BH,01H B.OR BH,01H
C.XOR BH,01H D.TEST BH,01H C06. 下列哪个寄存器是指令指针寄存器( )。 A.SI B.DX C.IP D.ES
D07.表示宏定义结束的伪指令是( )。
A.ENDP B.ENDS
共5页,第1页
C.END D.ENDM
B08. 下列标志位中,可以用来判断计算结果正负的是( )。 A.PF C.DF A.立即方式
C.寄存器间接寻址方式 A.10110100B
B.SF
D.OF
B.寄存器寻址方式 D.直接寻址方式 B.10110000B
D.10101000B
C09. 指令MOV AX,[BX] 的源操作数的寻址方式是( )。
D10. 十进制数168转为二进制数为( )。 C.10100100B 二、填空题 (1分x10=10分) 得分 01. 有符号数-128的补码为 。10000000
02. 8086采用分段的方法管理和使用存储器,其中存放数据的区域称为 ,存放程序运行时临时信息的区域称为 。02. 数据段、堆栈段
03. FLAGS称为标志寄存器,其中表示进位的是 ,表示溢出的是 。03. CF、OF
04. 逻辑左移指令为 ,循环右移指令为 。04. SHL、ROR
05. 条件转移指令中,有符号数大于时转移的指令为 ,无符号数小于时转移的指令 为 。05. JG、JB
06.子程序返回指令为 。06. RETURN
三、简答题 (4分x5=20分) 得分 01. 汇编语言比较高级语言有什么特点? 02. 如何将逻辑地址转换计算为物理地址? 03. 什么是中断? 04. 调试汇编程序的过程。 05. 什么是宏?
01. 汇编语言是低级语言,面向机器,与机器语言一一对应,生成代码短,执行速度快。 02. 物理地址=10H*段地址+段内偏移地址(BX,SI,DI对应的是DS[数据段],BP对应SS[堆栈段])
共5页,第2页
03. 由于某事件的发生,CPU中断正在执行的程序而转去执行该事件的处理程序,该事件服务结束后,继续执行原来被中断的程序,这个过程称为中断。 04. 调试汇编程序的过程。
首先新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再通过汇编程序编译成机器指令(有错误纠正后再汇编),然后连接成可执行文件(有错误纠正后再连接),即exe文件,就可以运行了。
05. 指一组指令或伪指令,用来完成某项功能。
共5页,第3页
:名 姓线 : 号 学 订 : 级 装班 :别 系四、程序分析题(4分x5=共20分)
得分 01.下列语句在存储器中分别为变量分配多少字节? (1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?) 01. 答:(1)22;(2)400 02. 答:AL=0BH,AH=03H 03. 答:AX=3412H,CX=0078H
04. 答:AL=12H, CL=03H 05. 答:AL=69H, BL=06H, CL=7FH
02.设AX=58H,BL=05H,执行指令DIV BL后,寄存器AL,AH内容分别是什么?03.已知数据段中定义有
DAT1 DB 12H,34H,56H,78H
当下面程序段执行完后,AX,CX的内容分别是多少? MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 04. 已知数据段中定义有
DA1 DB 83H,72H,61H,94H,5AH ┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL
上述指令序列执行后, AL,CL的内容分别是多少? 05. 设寄存器AL,BL,CL中内容均为76H,
XOR AL,0FH AND BL,0FH OR CL,0FH
执行上述指令序列后,AL,BL,CL的内容分别是多少。 五、综合题:(5分x4=共20分) 得分 01.定义一个数据段DATA_SEG,段中的数据按下列要求依次存储:
(1)第一个字是整数0E85H;
(2)变量X,大小为20个字节,初值全为10;
共5页,第4页
(3)变量Y,类型为字,初值为8912H,6556H,7854H,0A66H
02.已知BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。 (1)MOV AL,[BX] (2)MOV CS:[BX+DI],AH
03.定义一个宏,求两个无符号数中的较大者。
04.分析如下程序
MOV BL,64H MOV CL,03H XOR AX,AX
AGAIN: ADD AL,BL ADC AH,0
DEC CL JNZ AGAIN
试回答:(1)该程序段完成的功能是什么?
(2)此程序段执行后AX的值是多少?
六、编程题:(共1小题,总计10分) 得分 判断变量X的值是否为偶数。
说明:定义数据段,X 为字节类型,初值为?;定义 YES,“It is an even number”,定义NO,“It is an odd number”;写出完整的程序段。
共5页,第5页
因篇幅问题不能全部显示,请点此查看更多更全内容