西北民族大学计算机科学与信息工程学院期末考试
汇编语言试卷(B卷)
专业: 课程代码: 学号: 姓 名:
总 分 核分人 复查人 题号 题分 得分 一 20 二 20 三 12 四 14 五 10 六 12 七 12 一、单项选择题(在每小题的四个备选答案中,选出一个正确
得 分 评卷人 的答案,并将其代码填入题干后的括号内。每小题1分,共20
分)
1. n位二进制数可以表示( C )个不同的数
2n
A.2*n B.n C.2 D.n 2. 计算机中存储信息的基本单位是( B )
A.bit B.Byte C.K D.M 3. 表示运算结果是否产生溢出的是( A )
A.OF B.SF C.ZF D.CF
4. Pentium Pro的地址总线宽度为36位,则相应的地址范围为( D )
A.64K B.64M C.64B D.64G 5. 386系列CPU在保护模式下最基本的内存管理模式为( B )
A.段式管理 B.页式管理 C.段页混合管理 D.区段管理 6. 保存当前栈地址的寄存器是( A )
A.SS B.GS C.CS D.ES 7. i86CPU经加电复位后,执行第一条指令的地址是(D )
A. 0FFFFH B. 03FFFH C. 8FFFFH D.FFFF0H 8. MOV指令影响的标志位是( D )
A.SF B.DF C.CF D.不影响标志位 9. 指令MOV AX,[BP]使用的段是( C )
A.DS B.CS C.SS D.ES 10. 以下不是汇编语言合法标识符的是( C )
A.@DATA B.X?Y C.A+B D.$XYZ
汇编语言试卷第1页(共6页)
11. 在medium内存模式中,如果参数采用栈方式传递,在被调用过程中取得最后一个
调用参数可使用( D ) A.[BP] B.[BP+2] C.[BP+4] D.[BP+6] 12. 不改变CF标志的指令有( D )
A.CLD B.STC C.MUL D.INC 13. 可作为汇编语言变量名的有(C )
A.$ B.@DATA C.$_$ D.DB 14. 操作系统2号功能调用要输出的字符放在( D )寄存器中
A.AH B.AL C.DH D.DL 15. 同一字母的大写和小写方式的ASCII编码相差( C )
A.60H B.40H C.20H D.32H 16. 从功能上看,引起非顺序执行的指令有( B )
A.STD B.IRET C.AAD D.CBW 17. 如果CX的值为0,则LOOP指令定义的循环执行( D )次
A.0 B.1 C.无数 D.10000H 18. MOV AX,[DI]使用( B )段寄存器
A.CS B.DS C.ES D.SS 19. MOV AX,[BX+SI]中的加法由( C )执行
A.ALU B.EU C.地址加法器 D.BIU 20. 栈操作的默认地址是( D )
A.CS:IP B.DS:SI C.ES:DI D.SS:SP
二、填空题(每空1分,共20分)
得 分 评卷人
1. 十六进制数21转换为十进制数是 33 ,转换为2进制数是 00100001B 。 2. 86系列CPU在实模式下,物理地址由 16位段地址
和 16位偏移地址 组成。
3. 在实模式下,地址3015:002A存储单元的物理地址是 3017A 。
4. 把字数组LIST中的第6个字存入DX的指令为 MOV
DX,LIST[12] 。
5. 执行SCAS指令时,增1或减1的的变址寄存器是 DI 。 6. “DIV CX”指令中,被除数 32 位。
7. 段定义有 完整段定义 和 简化段定义
两种方式。
8. 若二进制值01000001表示BCD数,则其值为__41_____________。
9. 执行性汇编语句由标号、硬指令助记符、操作数列表和注释四部分组成。
汇编语言试卷第2页(共6页)
10. 结束程序执行是操作系统进程终止功能调用,如__INT
20H_____________________。
11. 不能修改其值的定义符号常量的伪指令是___5TFT5G5T____________伪指令。 12. 程序运行执行第一条指令前SS:SP的值、数据段内容、栈段的内容都已经初始化,
这些功能由_________________________完成。
13. 在_______________内存模式下不需要使用.STACK分配栈空间。
14. 对于8086CPU, 16进制地址0040:0017对应的物理地址为______________。
三、给出能实现指定功能的程序片段。 (每小题1分,共12分)
1. 将寄存器AX的内容压栈
2. 栈顶内容送到字变量VARW中
3. 清除CF标志
4. 将BX+DI地址的字送入AX
5. 将寄存器CX内容算术左移1位
6. 将寄存器AX中的带符号数取负(如:原值为-100则变为100)
7. 将寄存器BL的D6,D5,D4位取反
8. 将寄存器AX的内容除以10
9. 寄存器AL的内容存入ES:DI所指的内存地址
10. 若CX为零则转向短标号SLABEL
11. 将立即数20H送到20H端口
12. 用操作系统功能调用结束当前程序的运行 得 分 评卷人 汇编语言试卷第3页(共6页)
得 分 评卷人 四、判断题(认为对的,在题后的括号内打“√”,
认为错的打“×”。每小题1分,共14分)
1. SUB DX,12 ( ) 2. MOV 100H,AX ( ) 3. CMP DL,‘*’ ( ) 4. ADD DS,1 ( ) 5. DIV BX ( ) 6. POP 2EFH ( ) 7. JMP [BX] ( ) 8. SHR CX,1 ( ) 9. ADD BYTE PTR [BX],[SI] ( ) 10. MOV AX,0B00H[BX][SI] ( ) 11. LOOP SHORTLAB ( ) 12. SUB CX,CS ( ) 13. CALL FAR PTR [200H] ( ) 14. PUSH FLAGS ( )
得 分 评卷人 五、简答题(每小题5分,共10分)
1. 什么是“小端方式”?对字和双字存储单元,什么是对齐地址?
2. 汇编语言调用C语言程序时需要注意哪些问题?
汇编语言试卷第4页(共6页)
得 分 评卷人 六、程序填空题(每空1分,共12分)
设X、Y为WORD型变量。理解以下程序,填写空白。
2
1. 计算F(X,Y)=2X+Y+5,结果为32位(DX,AX)
MOV AX,[X] MOV BX,AX ① SHL AX,1
RCL DX, ② ADD AX, ③ ADC DX,0
④ ⑤
2. 在C语言程序中调用汇编子程序“clearFlags”清除标志寄存器中的所有通用标
志(即FLAGS的低8位),然后从3DAH端口读取一个字节返回,在C语言程序中以16进制方式显示读取字节的值。 C主程序: main() {
int cst;
cst = clearFlags(); ① ; printf(“%X”,cst); }
汇编子程序:
② ③ PROC ④ SAHF
MOV DX,3DAH ⑤ ⑥ ⑦ ENDP
汇编语言试卷第5页(共6页)
得 分 评卷人 七、程序设计题(每题6分,共12分)
1. 编写一个过程,以二进制数形式输出AX;
2. 写一个完整段定义格式的源程序,定义数据段从双字边界开始,其中定义一个200
个字的数组,初值为-1,该段同时作为附加段
汇编语言试卷第6页(共6页)
得 分 评卷人 七、程序设计题(每题6分,共12分)
1. 编写一个过程,以二进制数形式输出AX;
2. 写一个完整段定义格式的源程序,定义数据段从双字边界开始,其中定义一个200
个字的数组,初值为-1,该段同时作为附加段
汇编语言试卷第6页(共6页)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库汇编语言期末试题2在线全文阅读。
相关推荐: