东北大学2019—2020学年第2学期大一计算机专业《汇编语言程序设计》考试试卷(附答案)

举报
资源描述
欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 1 页 共 8 页 东北大学 20192020 学年第 2 学期 汇编语言程序设计考试试卷(A 卷)(闭卷 时间 120 分钟)院/系 年级 专业 姓名 学号 1、宏定义在程序中的位置有何规定?宏调用是否一定放在代码段?2、汇编语言源程序的文件扩展名是什么?把它改为.EXE 扩展名后,可以认为是可执行程序吗?3、已知 8086 系统某存储单元物理地址为:52506H,你认为段基址的最大值、最小值分别是多少?8086 微机最多可以有多少个不同的段基址?4、作下列十六进制数的运算,并转换为十进制数校核。(1)5A+64 (2)86-49 (3)123-9A (4)432B 5、举例说明何为中断类型号,何为中断向量,何为中断向量表。对于 INT 8 指令,中断向量存放的内存地址是多少?6、V 是变量,指出下列错误的指令,说出错误原因,并给出合适的修改。(1)MOV AX,DX (2)MOV DS,DATA (3)MOV CS,AX (4)MOV AX,DL (5)PUSH AL (6)ADD BX,DI (7)LEA BX,V (8)MOV DX,OFFSET V (9)MOV SI,2 (10)MUL BX,CX (11)DIV 5 (12)MOV BYTESI,AX (13)MOV AX,SI+DI (14)SHR AX,4 (15)CMP 6,AX (16)MOV FFFF,AX 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 2 页 共 8 页(17)MOV AX,BX+4 (18)JMP FAR PRO 7、用 16 位指令编写完整程序,并上机调试,计算 V=(X+Y)*R,其中所有变量均为 32 位变量,X、Y、R 的具体数值由你自己确定,变量定义格式如下:X DW?,?Y DW?,?R DW?,?V DW 4 dup(?)8、分别用 LOOP 循环和条件转移指令实现 1+2+3+100,并将结果存入 AX。9、主程序从键盘(连续)输入两个四位的十六进制数 A 和 B,用子程序作十六进制计算 A+B,并显示计算结果(二进制)。10、编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字母。欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 3 页 共 8 页 东北大学 2019-2020 学年第 2 学期 汇编语言程序设计考试试卷(A 卷)参考答案 1、宏定义在程序中的位置没有严格要求,可以写在某一段内,也可以不在段内。2、源程序的文件扩展名为*.asm,改扩展名不可以执行。3、52506=50000+2506,=52500+0006,基地址最大为 5250,最小为 5000(4251).段地址取值范围:0000FFFF。既 65536 个。4、(1)BE (2)3D (3)89 (4)B41 5、在实际的系统中,中断源有多个,需要给每个中断源编一个号,以便于识别。在执行软件中断指令 INT n 时,n 就是中断类型号。我们把中断处理程序的起始地址称为中断向量。在存储器的最低 1KB(地址从 00003FFH)集中存放 256 种中断类型的中断向量,每个中断向量为四个字节,其中前两个字节是偏移地址,后两个字节是段地址。这个集中存放中断向量的存储区称为中断向量表。INT 8 对应中断向量存放的内存地址是 00020H 6、(1)MOV AX,BX (2)MOV DS,BX (3)MOV ES,AX(4)MOV AL,DL(5)PUSH AX(6)ADD BX,DI(7)LEA BX,V(8)MOV DX,OFFSET V (9)MOV WORD PTR SI,AX(10)MUL BX(11)DIV BX(12)MOV BYTE PTR SI,2(13)MOV AX,BX+SI(14)SHR AX,1(15)CMP AX,6 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 4 页 共 8 页(16)MOV FFFE,AX(17)MOV AX,BX+4(18)JMP FAR PTR PRO 7、(32 位指令)data segment x dw 1 y dw 2 r dw 3 v dw 4 dup(?)data ends code segment assume cs:code,ds:data.386p start:mov ax,data mov ds,ax mov eax,x add eax,y mov ebx,r imul ebx mov v,eax mov v+4,edx mov dl,al add dl,30h mov ah,2 int 21h mov ah,4ch int 21h code ends end start 8、(1)code segment assume cs:code 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 5 页 共 8 页 main proc far push ds sub ax,ax push ax mov bx,1 mov ax,0 mov cx,99 a:add ax,bx inc bx loop a exit:ret code ends end main (2)code segment assume cs:code main proc far push ds sub ax,ax push ax mov bx,1 mov ax,0 mov cx,99 a:add ax,bx inc bx cmp bx,101 jnz a exit:ret main endp code ends end main 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 6 页 共 8 页 9、data segment A dw?B dw?data ends Code segment Assume cs:code,ds:data Main proc far Push ds Xor ax,ax Push ax Mov ax,data Mov ds,ax Call INH;输入十六进制数到 BX 寄存器 Mov A,bx Call INH;输入十六进制数到 BX 寄存器 Mov B,bx Call ad Ret Main endp INH proc near mov bx,0 ;初始化 mov ch,4 mov cl,4 inchr:mov ah,1 ;键盘输入 int 21h cmp al,30h jl exit ;非法输入 cmp al,39h jle dig ;输入是数字 09 cmp al,41h jl exit ;非法输入 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 7 页 共 8 页 cmp al,46h jg exit ;非法输入 sub al,37h ;输入是大写 af jmp ls4 dig:sub al,30h ls4:shl bx,cl add bl,al dec ch jnz inchr exit:ret INH endp Ad proc near Mov ax,a Mov bx,b Add bx,ax Call disp Ret Ad endp disp proc near mov cx,16 ls1:shl bx,1 jnc l30 mov dl,31h jmp outb l30;mov dl,30h outb:mov ah,2 int 21h loop ls1 ret disp endp Code ends End main 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!第 8 页 共 8 页 10、code segment assume cs:code main proc far push ds sub ax,ax push ax mov ah,1 int 21h cmp al,61h jb exit cmp al,7ah ja exit mov bx,ax sub al,1h ;输出前一字符 mov dl,al mov ah,2 int 21h mov dl,bl ;输出当前字符 mov ah,2 int 21h add dl,1h ;输出后一字符 mov ah,2 int 21h exit:ret main endp code ends end main
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号