好文档 - 专业文书写作范文服务资料分享网站

山东大学2013-2014汇编语言程序设计试题(含答案)

天下 分享 时间: 加入收藏 我要投稿 点赞

………… … … … … … … … 名…姓…… … … … … 密 … … … … …号…学… … … 级…… … 封 … … … 业…专…… … … … … … … 线 … … … 院…学…… … … … … … … … …………山东大学 2013-2014 学年 一 学期 汇编语言 课程试卷 题号 一 二 三 四 五 六 七 八 九 十 总分 阅卷人 得分 阅卷人 二、阅读分析(20分) 得分 阅读分析部分假设已有如下数据段定义: DATA SEGMENG V1 DW 1,2,3 得分 阅卷人 一、填空(30分) V2 DW 10 DUP(4) DATA ENDS 1、如下程序段,每条指令执行后(连续执行),AX寄存器的内容是什么? 1. 80386处理器有3种工作模式,分别是:____实模式_、______保护模式__、____虚86_______。 (1). MOV AX,V1+4 ;(AX)=____0003H____ 2. (AL)=43H,被看作无符号数时,对应的十进制数是:_67__;被看作带ASCII码时,对应的字符(2). XOR AX,AX ;(AX)=_0000H_ 是:___C_____;被看作补码表示的带符号数时,对应的十进制数是: 61___。若[X](3). NOT AX ;(AX)=__0FFFFH_____ 补=43H,则(4). MOV AX,TYPE V2 ;(AX)=_0002H_ [-X]补=_C3H_。 (5). MOV AX,V2-V1 ;(AX)=0006H_ 3. CPU的标志寄存器中标志位可以分为两大类,其中一类称为状态标志位,另一类称为_控制__标 志位。这些标志位中的AF为____辅助进位____标志位,TF为_陷阱_标志位。若(AX)=0E653H,2、下列语句是否正确?错误的说明原因或改正 (BX)=009AH,指令ADD AX, BX执行后,PF___0__,OF=___0_____。 (1). MOV CX,($-V1)/2 ;________________ 4. 对于无进制标记数字,汇编语言默认__十___进制数,DEBUG默认十六_进制数。 (2). ADD CS,BX ;_错,CS不能为目的寄存器_______________ 5. 设CPU正在执行指令MOV AX,02H[BX],此时(CS)=31FFH, (DS)=10E4H, (SS)=21F0H, (3). MOV V1,V2 ;错,两个操作数不能都是存储器操作数_ (4). MOV DS,1000H ;错,立即数不能直接传给段寄存器 (IP)=0120H, (BX)=0002H, (BP)=0000H。这一指令目的操作数的寻址方式为_寄存器寻址_;源操(5). RET 3 ;__正确 作数的寻址方式为寄存器相对寻址,源操作数的段地址为10E4H,偏移地址为_0004H__。下一 条即将执行的指令的逻辑地址为0120H,物理地址为_32110H_。 3、设下面是一个程序段,请填充其中的空白。功能:设在ADDR单元存放着Y的地址,下面程序统6. 80x86系统的I/O地址总线宽度是20位的,所以寻址范围是_1M_,写入端口61H一个字的指令计Y中“1”的个数,并存入COUNT单元中。(有问题) 为_IN AX,61H_。 MOV CX,0 7. 指令REP MOVSW执行过程中,使用了两个段寄存器DS和ES_,还使用了标志位__DF______MOV BX,ADDR ;① 确定字符串处理方向,另外,寄存器__CX__作为计数器。 MOV AX,[BX] REP1: TEST AX, 0001H ;② 8. 对于RET指令来说,如果其属于NEAR属性的子程序,则从栈顶弹出一个字到寄存器_IP_;如JZ EEIT ;③ 果其属于FAR属性的子程序,则还需要从堆栈弹出一个字到寄存器_CS__。对于IRET指令来说, JMP SHIFT ;④ 除了需要恢复前面两个寄存器,还需要从堆栈弹出一个字到寄存器FLAGS。 INC CX SHIFT: SHR AX,1 ;⑤ JMP REP1 EEIT: MOV COUNT,CX RET 第 1 页 共 2 页 ……… … … … … … … …名…姓…… … … … … … 密 … … … 号……学… … …级… … … … 封 … …业…专… … … … … … … … … 线 … …院…学…… … … … … … … … ……………山东大学 2013-2014 学年 一 学期 汇编语言 课程试卷 4、阅读下面程序 MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 该程序段完成的功能是: 0or0 得分 阅卷人 三、简答(20分) 1. 简述子程序和宏之间的异同。 2. 在实模式下,类型1CH的中断向量存放在存储器的哪些单元?其中 偏移量在哪些单元?段地址在哪些单元? 得分 阅卷人 四、编程(30分) 3. 对于IBM-PC系统而言,CPU与外设之间的信息交换通常包括哪些方式?简要说明这些方 1. 写完整格式程序,功能:输入单个字符,如果是数字字符(0~9),式的特点。 则显示字符串“numeric”,否则显示字符串“nonnumeric”。 4. 简述汇编试验中用DEBUG显示、修改内存内容的方法。 2. 写子程序,功能:十进制显示BL寄存器中的无符号数。 1. 子程序: 3. 写宏定义,功能:对数组求和。数组名称BUFFER,COUNT单元存放元素个数,结果存入优点:模块化,节省内存,可被多次调用,编程效率高。 SUM单元。注:COUNT、BUFFER和SUM作为宏参数,不考虑溢出。 缺点:额外开销(保存返回地址,计算转向地址,传递参 data segment 数等)大,增加了执行时间。适用于子功能代码较 mess1 db ‘numeric’,13,10,’$’ 长、调用比较频繁的情况。 mess1 db ‘nonumeric’,13,10,’$’ 宏调用: data ends 优点:参数传送简单,执行效率高。 code segment 缺点:不节省空间,适用于子功能代码较短、传参较多的 assume cs:code,ds:data 情况。 main proc far 2.70H,71H,72H,73H;70H,71H放偏移量;72H,73H放段地址; start: 3.程序直接方式,程序中断方式,DMA方式 push ds 4.-u -r sub ax,ax push ax mov ax,data mov ds,ax mov ah,01h int 21h sub al,0 jb exit sub al,9 ja exit mov dx,mess1 mov ah,09h int 21h exit:

Add ax,buffer[bx] mov dx,mess2 Inc bx mov ah,09h Loop arr_sum int 21h Mov sum,ax

ret

Endm main endp code ends end start

4. 十进制显示BL的无符号数

Binidec proc near Mov cx,100d Call dec_div Mov cx,10d Call dec_div

Mov cx,1d Call dec_div Ret Endp

Dec_div Mov al,bl cbw Div cx Mov bx,dx Mov dl,al Add dl,30h Mov ah,02h Int 21h Ret

Dec_div endp

5. 宏定义

Sum_array marco buffer,count,sum Local arr_sum Mov ax,0 Mov bx,0 Mov cx,count

Arr_sum:

第 2 页共 2 页

山东大学2013-2014汇编语言程序设计试题(含答案)

……………………………名…姓………………密……………号…学………级………封………业…专……………………线………院…学…………………………………山东大学2013-2014学年一学期汇编语言课程试卷题号一二三四五
推荐度:
点击下载文档文档为doc格式
14iw57kyci37lyd0yjbf83hrt8bf1m008su
领取福利

微信扫码领取福利

微信扫码分享