大工21春《汇编语言程序设计》大作业题目及要求[答案]满分答案
学习中心:专 业:
年 级: 年 春/秋 季
学 号:
学 生:
题 目:
1.谈谈你对本课程学习过程中的心得体会与建议?
2. 《汇编语言程序设计》课程设计, 从以下5个题目中任选其一作答。
《汇编语言程序设计》课程设计
注意:从以下5个题目中任选其一作答。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言
作业提交:
大作业上交时文件名写法为:[姓名 奥鹏卡号 学习中心](如:戴卫东101410013979浙江台州奥鹏学习中心[1]VIP)
以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。
注意事项:
独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计!
题目一:十进制转换十六进制程序设计
要 求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:设计十进制转化十六进制的算法,简单介绍该算法的基本思想,100字左右即可。
(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:列出算法的具体代码。
(5)列出算法中使用指令的含义,比如解释MOV指令的含义,ADD指令的含义,至少撰写十个指令。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言!
题目二:折半查找算法
要 求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:简单介绍折半查找算法的基本思想,至少100字。
(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:列出算法的具体代码,如讲一个首地址为A的N字数组,编制程序将该数组中的数据按照从大到小排序。
(5)列出算法中使用指令的含义,比如解释MOV指令的含义,CMP指令的含义,至少撰写十个指令。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言!
题目三:设立标志位算法
要 求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:试编制一个程序,从键盘中输入一行字符,要求第一个字符必须是空格,如果不是,则退出程序。如果是,开始接受键入的字符并顺序存放在首地址为BUFFER的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。简单介绍该算法的基本思想,至少100字。
(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:列出算法的具体代码。
(5)列出算法中使用指令的含义,比如解释MOV指令的含义,CMP指令的含义,至少撰写十个指令。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言!
题目四:子程序调用
要 求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:试编制一个程序,主程序MAIN和过程PROADD在同一个源文件中,要求用过程PROADD累加数组中的所有元素,并把和(不考虑溢出)送到指定的存储单元中。简单介绍该调用的基本思想,至少100字。
(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:列出算法的具体代码。
(5)列出算法中使用指令的含义,比如解释PUSH指令的含义,ADD指令的含义,至少撰写十个指令。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言!
题目五:信息检索系统
要 求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:在数据区里,有10个不同的信息,编号0-9,每个信息包含30个字符。要求程序,从键盘中接收0-9之间的一个编号,然后再屏幕上显示出相应编号的信息内容。介绍该算法的基本思想,至少100字。
(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:列出算法的具体代码。
(5)列出算法中使用指令的含义,比如解释detarea segment的设置情况,PUSH指令的含义,至少撰写十个指令。
总 则:只能使用汇编语言进行编制,不能选用C/C++等高级语言!
大工21春《汇编语言程序设计》大作业题目及要求[答案]历年参考题目如下:
《汇编语言程序设计2238》21春在线作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.已知(AL)=35H, (BL)=57H,执行指令 ADD AL, BL DAA 后,AL的值为()。
A.92H
B.8CH
C.92
D.5CH
2.指令DIV BX执行后,商和余数分别在寄存器()中。
A.AX和DX
B.DX和BX
C.DX和AX
D.AL和AH
3.将汇编语言源程序翻译成机器语言目标程序的系统程序叫做()。
A.连接程序
B.汇编程序
C.编译程序
D.调试程序
4.循环控制指令LOOPNE/LOOPNZ结束循环的条件是( )。
A.(CX)=0或ZF=1
B.(CX)=0或ZF=0
C.(CX)≠0且ZF=0
D.(CX)≠0或ZF=1
5.保存堆栈段段基值的寄存器是( )。
A.CS
B.SP
C.ES
D.SS
6.设(SS)=0913H,堆栈的深度为40H个字节,则栈底字单元的物理地址是(C,难)。
A.0916FH
B.09170H
C.0916EH
D.0953H
7.指令“OUT DX,AL”中DX的作用是( )。
A.目的寄存器
B.数据寄存器
C.存放端口地址的地址指针寄存器
D.存放一个操作数
8.指令DIV BX,表示( )。
A.被除数(DX)(AX),除数(BX),运算后商送AX,余数送DX
B.被除数(AX)(DX),除数(BX),运算后商送AX,余数送DX
C.被除数(BX),除数(AX),运算后商送AH,余数送AL
D.被除数(DX)(AX),除数(BX),运算后商送DX,余数送AX
9.可以将AL寄存器中的数据变为奇数的指令是( )。
A.INC AL
B.MOV AL, 0FH
C.SHL AL, 1
D.OR AL, 01H
10.题面如下:
{图}
A.a
B.b
C.c
D.d
11.将附加段中偏移量值为DI的存储单元中的内容送入BX寄存器的指令是( )。
A.MOV BX, [DI]
B.MOV BX, DI
C.MOV BX, ES:[DI]
D.LODSW
12.指令IMUL CL,表示( )。
A.(AL)*(CL)→(AX)
B.(AX)*(CL)→(DX)
C.(AX)/(CL)→(AL)
D.(CL)*(AL)→(AL)
13.设堆栈指针(SP)=4EH, 执行下面两条指令,当刚进入子程序P1执行时,SP的值是()。 PUSHF CALL FAR PTR P1
A.48H
B.4CH
C.52H
D.54H
14.语句 DA DB 4 DUP(2 DUP(8),6)表示重复的数据序列和次数是()。
A.数据序列2,8,6重复4次
B.数据序列4,8,6重复2次
C.数据序列4,2,6重复2次
D.数据序列8,8,6重复4次
15.有伪指令SS DW ‘AB’,则SS+1单元中的内容是()。
A.’B’
B.’A’
C.不确定
D.’AB’
16.将堆栈段中偏移量值为BX的存储单元中的内容送入AX寄存器的指令是()。
A.MOV AX, BX
B.MOV AX, [BX]
C.POP AX
D.MOV AX, SS:[BX]
17.已知(AX)=1111H,执行指令“XOR AX,AX”后,AX的值是( )。
A.0FFFFH
B.0H
C.1111H
D.不确定
18.将数据1234H存放在存储单元中的伪指令是( )。
A.TT DB 12H, 34H
B.TT EQU 1234H
C.TT DB ‘1234H’
D.TT DW 1234H
19.指令MOV BX, ES:[BP]中,源操作数的物理地址是()。
A.(ES)*16+(BP)
B.(SS)*16+(BP)
C.(ES)+(BP)
D.(BP)
20.将BX中内容送到地址为3FH的端口中去的方法是()。
A.MOV 3FH,BX
B.OUT 3FH,BX
C.MOV AX,BX OUT 3FH,AX
D.MOV AX,BX IN AX,3FH
二、多选题 (共 10 道试题,共 30 分)
21.下列寄存器中是16位寄存器的有()。
A.BX
B.A
C.DH
D.BP
E.CH
22.下面关于宏指令的描述,正确的是( )。
A.宏指令的使用,并不能够简化目标程序
B.宏定义中不能使用形式参数
C.宏指令和子程序都可以简化源程序的书写
D.宏指令和子程序目标代码的执行方式相同
E.宏指令执行时,不需要保护和恢复断点
23.物理地址1117AH的逻辑地址可以是()。
A.1000H:117AH
B.11000H:17AH
C.1025H:0F2AH
D.1109H:00EAH
E.1117AH:0H
24.下面语句中,是伪指令语句的有( )。
A.CMP AX, CX
B.DB ?
C.IDIV CX
D.ORG 30H
E.DATA SEGMENT
25.标号的类型可以是( )。
A.NEAR
B.WORD
C.DWORD
D.FAR
E.DW
26.下面指令中,可以将BX寄存器清0的指令是( )。
A.CMP BX, BX
B.XOR BX, BX
C.MOV BX, 0
D.MOV BX, 1 EQ 0
27.分支程序的功能部分包括()。
A.循环参数初始化
B.产生条件
C.测试
D.定向
E.标号
28.下列寄存器中是段寄存器的有( )。
A.BX
B.CS
C.DS
D.ES
E.SP
29.下面的寻址方式属于存储器操作数的寻址方式的有( )。
A.直接寻址
B.基址变址寻址
C.寄存器寻址
D.立即数寻址
E.寄存器间接寻址
30.实现堆栈留空100H个字节单元,可选用的语句有( )。
A.DB 25H DUP(4)
B.DD 50H DUP(0)
C.DB 100H DUP(0)
D.DW 50H DUP(0)
E.DW 80H DUP(0)
三、判断题 (共 15 道试题,共 30 分)
31.逻辑右移1位和算术右移1位的效果是一样的。
32.指令TEST AL,0执行后AL的内容一定是全零。
33.指令MOV AL,255是合法的数据传送指令。
34.在变量定义时,可以通过使用ORG伪指令指定变量在段中存储时的偏移量。
35.PF位可以用来表示运算结果中1的个数的奇偶性。
36.逻辑左移1位和算术左移1位的效果是一样的。
37.指令SHR AX,4可以将AX的内容逻辑右移4位。
38.SP的内容可以不指向堆栈的栈顶。
39.PUSH、POP指令的操作数必须是字操作数。
40.内存中字单元的地址必须是偶数地址。
41.在汇编语言源程序中,伪指令语句必须放在数据段中。
42.指令IN AL,DX是合法的指令。
43.逻辑运算符AND、OR、XOR或NOT,只能用于数字表达式。
44.只能使用PUSH、POP类的指令对堆栈段内的内容进行操作。
45.CF位可以用来表示无符号数的溢出。