汇编语言程序设计期末大作业。
《汇编语言程序设计》期末考试-试卷及答案

《汇编语言程序设计》期末考试-试卷及答案一、 选择题(每题1分,共20分)1、下面存储器中属于辅助存储器的是:(、下面存储器中属于辅助存储器的是:(CDE CDE CDE)) A. RAM B. ROM C.C.磁盘磁盘 D.D.光盘光盘 E. 硬盘2、通常说计算机的内存为32M 32M、、64M 或128M 指的是:(指的是:(C C )A. RAM 的容量B. ROM 的容量C. RAM 和ROM 的容量D.硬盘的容量3、下面的说法正确的是:(、下面的说法正确的是:(AE AE AE))A. 存储器是计算机中存放程序和数据的记忆部件。
存储器是计算机中存放程序和数据的记忆部件。
B. 存储器中的信息被读出后即从存储器中消失。
存储器中的信息被读出后即从存储器中消失。
C. 存储器中如果已经存有数据,则不能再向其中写入新的数据。
D. 半导体存储器的存取速度比CD-ROM 的存取速度要慢。
的存取速度要慢。
E. 辅助存储器需要CPU 通过I/O 接口访问,因而速度较慢。
4、下面属于系统软件的有(、下面属于系统软件的有(A A )A. WINDOWS A. WINDOWSB. MASMC. Visual C++D. WORD 5. 5. 汇编语言的优点不包括汇编语言的优点不包括汇编语言的优点不包括__D_____D_____D___。
A A 直接有效地控制硬件直接有效地控制硬件直接有效地控制硬件B B B 生成的代码序列短小生成的代码序列短小生成的代码序列短小C C 运行速度快运行速度快运行速度快D D 编程容易6. 6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB) A 、AX AX,,BX BX,,CX CX,,DX B 、BX BX,,BP BP,,SI SI,,DI C 、SP SP,,IP IP,,BP BP,,DX D 、CS CS,,DS DS,,ES ES,,SS7. 7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D D))。
大工《汇编语言程序设计》大作业参考题目及要求【内容仅供参考】686

题目:题目五:信息检索系统1.谈谈你对本课程学习过程中的心得体会与建议?在接触这门课程初始,就感到汇编语言并不是很容易就可以弄懂的。
相比较以前学过的程序语言如C、C++等,电脑等于在迁就人的思维方式,但汇编却是接近机器语言的一门语言,我们学习和编写程序时必须要去迁就电脑的思维方式,要设身处地地用电脑的角度去思考问题,这就是我学习汇编语言时感受最深的地方,想起来很简单,写起来相当的不易。
汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。
其中遇到很多新的概念,名字。
如寄存器、中断、寻址方式等。
这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。
我们在学习之前都需要明确什么是汇编语言。
计算机能够直接识别的数据是由二进制数0和1组成的代码。
机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。
为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。
经过一个学期的学习,我也慢慢摸出了汇编学习的规律。
首先,学习这门语言时如果能联系上以前学过的其他高级语言的知识,最重要的是一些思考问题,实现功能的逻辑的思考,会帮助我们很快的找到编写程序的思路和方向。
例如C语言程序的运行逻辑结构有顺序(按语句依次执行)、分支结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构,也通过C语言了解并掌握了什么是子程序,什么是调用。
事实上,汇编语言中有关程序结构,子程序等等的知识都是跟C语言十分相似的,只是在编程时用到的语言不同:汇编语言完全面向机器,需要指明数据在寄存器、内存中的流向。
第二,学习汇编语言,首要问题是学习80X86指令系统。
如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。
指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。
汇编语言程序设计期末考试-试卷及参考答案

汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。
A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。
6.串指令中的目的操作数地址一定是由____A_ _提供。
()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。
7.将DX的内容除以2,正确的指令是( C )。
A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。
8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。
A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。
9.用一条指令仅实现将AX←BX+SI的方法是( D )。
A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。
10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。
A.1FFFH; B.1998H;C.1FFEH; D.2002H。
2. C二、指出下列指令的出错原因,并改正。
(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。
汇编语言程序设计期末考试题

汇编语言程序设计期末考试题学院(系):学号: 姓名:计分:一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共10分)1.CPU发出的访问存储器的地址是( )A.物理地址 B。
偏移地址 C.逻辑地址 D。
段地址2.将高级语言的程序翻译成机器码程序的实用程序是()A。
编译程序 B.汇编程序 C。
解释程序 D。
目标程序3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( )A.字 B。
双字 C。
字节 D。
四字4.在下列语句中,BUFFER称为()BUFFER DB 01H,0AHA.符号B.变量 C。
助记符 D.标号5.串操作指令中,源串操作数的段地址一定在( )寄存器中。
A. CSB. SS C。
DS D. ES6.使计算机执行某种操作的命令是( )A。
伪指令 B。
指令 C.标号 D。
助记符7.将数据5618H存放在存储单元中的伪指令是( )A. DATA1 DW 1856H B。
DATA1 DB 18H,56HC。
DATA1 EQU 5618H D。
DATA1 DB 18H,00H,56H,00H8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )A。
1400H B。
77F8H C. 0000H D. 0FFFFH9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。
目前,微机中普遍采用的是( )码。
A. BCD码 B。
二进制码 C。
ASCII码 D。
十六进制码10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为()A。
汇编语言 B。
高级语言 C.机器语言 D。
低级语言二、填空题(每空1分,共20分)1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______.2.通常所说的计算机系统包括________和________两大部分。
《汇编语言程序设计》期末复习题和答案.doc

《汇编语言程序设计》期末复习题及答案一、选择(30题)1.下列是8位带符号二进制数的补码,其中最大的是(B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现(C )C、占内存空间大,但速度快3.数据定义为:EE DB 3, 4CC DW 3456H, 6789H执行指令“MOV CX, WORD PTR EE+1” 后,(CX) = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL, CL上述指令序列执行后,AL的内容是(D )D、0E5H5.设A=186m B=273R,C=0BB E把这三个数看成无符号数,则它们之间的关系是(D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX] [SI]7.要从端口1234H中读入8位数据,其指令应是(C )C、MOV DX, 1234HIN AL, DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B )B、CX尹。
且ZF=O9.8088/8086存储器分段,每个段不超过(D )D、64K个字节10.表示过程定义结束的伪指令是(A )A、ENDP11.用来存放下一条将要执行的指令代码段地址的段寄存器是(D )D、CS12.假定(SS) =1000H, (SP) =0100H, (AX) =5609H,执行指令PUSH AX 后,存放数据56H的物理地址是(D )D、100FFH13.执行“SUB AX, [BP] [DI] ”指令,取源操作数时,使用的物理地址表达式是(A )A、16*SS+BP+DI14.设AX中有一带符号数8520H,执行“SA R AX, 1”指令后,AX中的值是(C )C、0C290H15.设(BX) =1234H, (DS) =2000H, (21234H) =5678H,则指令“LEA SI, [BX] ” 执行后的结果是:(B )B、SI=1234H16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为(A )A、JNE17.设DF=O, (SI) =20H, (CX) =10,执行“REP LODSW"指令后,SI 中的内容是(C )C、34H18.在程序执行过程中,IP寄存器中始终保存的是(B )B、下一条指令的首地址19.设SP初值为2000H,执行指令“POP AX”后,SP的值是(A )A、2002H20.若AX=3500H, CX=56B8H,当AND AX, CX 指令执行后,AX= ( A )A、1400H21.汇编源程序时,出现语法错误的语句是(A )A、MOV DS, 1200H22.将数据1234H存放在存储单元中的伪指令是(C )C、DATA1 DB 34H, 12H23.下面指令执行后,可能改变AL寄存器内容的指令是(D )D、AND AL, BL24.操作数地址存放在寄存器的寻址方式称为(B )B、寄存器间接寻址25.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B )B、汇编语言程序26.用DOS功能调用时,子功能调用的编号应放在(C )C、AH27.提供串指令中目的操作数地址的是(C )C、ES: [DI]28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有(B )B、BX, BP, SI, DI29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(A )A、2025 : 0F2A30.中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节二、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS 中。
四川大学汇编语言程序设计期末试题附答案

四川大学期末考试试题(闭卷)考生承诺我已认真阅读并知晓《四川大学考场规则》和《四川大学本科学生考试违纪作弊处分规定(修 订)»,郑重承诺:1、 已按要求将考试禁止携带的文具用品或与考试有关的物品放置在指定地点;2、 不带手机进入考场;3、 考试期间遵守以上两项规定,若有违规行为,同意按照有关条款接受处理。
考生签名:2.以下标志位中,哪一个不属于状态标志位?((A ) CF ( B ) OF ( C IF ( D ) AF 3. 以下寄存器中,哪一个用于指示堆栈的栈顶位置? (A ) IP ( B ) SI ( C SP (D ) BX 4. 以下寄存器中,哪一个用于提供代码段的段基值? (A ) SS ( B ) DS ( C CS ( D ) AX 5.以下指令中,不影响标志位的是哪一条?( D (A ) INC ( B ) AND ( C ) SUB ( D ) XCHG第 1 页,共10页 试卷编号:)一、 单项选择题(本大题共20小题,每小题1分,共20分)提 示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下面的表格中。
错选、多选或未选均无分。
(20152016学年第 1学期)课程号: 适用专业年级:课序号: 学生人数:课程名称: 印题份数:任课教师: 学号:成绩: 姓名:1.以下寄存器中,哪一个不属于地址指针寄存器?( (A ) AX ( B ) BX ( C ) SI ( D ) DI13.假设(AL) =05H,执行指令 ADD AL,0 后,(A) 0(B) 1(C) 2( D)6.SF 标志位的含义是如下哪一个?( A )(A)符号标志(B)零值标志 (C)补码溢出标志 (D) 进位标志7.LOOP 指令隐含使用如下哪一个寄存器作为计数器?( (A) AX(B) BX (C CX (D) DX 8.以下指令中,哪一条一定会访问堆栈段? ( D (A) DEC (B) ADD (C) MOV (D) CALL 9.以下伪指令中,用于结束一个段定义的是哪一个?( (A) END (B) SEGMENT ( C) ENDP D (D) ENDS 10.以下伪指令中,用于分配 一个字节空间的是哪一个? ( B (A) DB(B) DW (C) DD (D) EQU11.假设(AL) (A) 3FH =354 执行指令 AND AL,0FH 后, (AL) = ( D (B)F5H (C) 30H ( D) 05H12.假设(AL)(A) 0 =02H,执行指令 INC AL 后,CF = ( D )与执行INC 指令前一致 (B) 1 (C) 2 (D) 14.假设(AL) =88H,执行指令 SUB AL,90H 后,OF = ( A (A) 0 (B) 1(C) 2 ) (D)与执行ADD 旨令前一致 15.假设(AL) (A) 0 =68H (B) 1执行指令 ADD AL,08H 后, AF =( B ) (C) 2 ( D)与执行ADD 旨令前一致 16.假设(AL) (A) 80H =81H, (B) 18H (C) 03H 执行指令 ROL AL,1 后,(AL) = ( C )(D) 0C0H 17.假设(AL) (A) 0 =93H 执行指令SHL AL,1 (B) 1(C) 2后,OF= ( b(D) )与执行ADD 旨令前一致18.假设(SF) (A) 0058H =0060H 执行指令 pUSH AX 后, (B) 005EH (C) 0062H (D)(SP =( b 0060H19.假设CF=1,以下哪一条转移指令一定会转移至目标地址?( (A) JC(B) JNC (C) JS (D) JNZ 20.假设(BL) (A) 00H=04IH 执行指令 XOR BL,0FH 后,(BL) = ( D (B) 0FH (C) 04H ( D) 0BH 第2页,共10页PF = ( B ) 与执行SUB旨令前一致'在下表中。
烟台大学《汇编语言程序设计》期末考试复习题及参考答案

B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)
07级1-2班《汇编语言程序设计》期末考试卷(A卷,彭玄璋)

2008-2009学年第二学期 计算机科学学院07级(1)(2)班《汇编语言程序设计》期末考试卷 (A 卷)2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共20分) 1、已知存储器某单元地址表示为2314H :4132H ,则它的偏移地址= ,物理地址= 。
2、8086有 根地址线,可寻址存储空间为 。
3、一个字存入堆栈时,堆栈指针SP 修正;从堆栈中取出一个字时,SP 修正,SP 总是指向 。
4、由汇编程序在汇编过程中执行的指令为 。
5、下面是对DOS 功能调用方法的简单说明: (1)在AH 寄存器中存入所要调用功能的 ;(2)根据所调用功能的规定设置 ;(3)用 指令转入子程序入口。
(4)相应的子程序运行完后,可以按规定取得 。
6、与LEA BX ,TAB 等效的指令语句是 。
7、汇编语言程序设计有 、 和 等三种基本——————————————装————————————————订————————————————线————————————————————————————————结构形式。
8、设字节单元(01001H)=12H, (01002H)=45H, (01003H)=78H, 则字单元(01002H)= 。
9、当标志位____ _=1时表示无符号数运算产生溢出;而当标志位______=1是表示带符号数运算产生溢出。
10、宏定义开始用的伪指令是______________。
二、选择题(本题共10小题,每题1分,共10分)1.MOV SI , ES:[DI+BX]指令,源操作数的寻址方式是()A、寄存器相对寻址B、寄存器间接寻址C、基址加变址寻址D、相对的基址加变址寻址2.指令指针寄存器是()。
A、 IPB、 SPC、 BPD、 PSW3.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。
A、AX,BX,CX,DXB、DS,ES,CS,SSC、SP,BP,IP,BXD、SI,DI,BP,BX4.完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
call ShowStu mov ah,4ch int 21h
取student的首地址给si
输出循环结束
(2)按照各科成绩总分先高后低的顺序输出全部学生记录和排名顺序;
(3)输出总分高于班平均总分的全部学生记录。
要求:元月4日前提交一份纸质报告(班长统一收齐)。
大作业格式:
1.标题:汇编语言程序设计期末大作业
2.作业题目:(上述)
3.算法分析(流程图)
4.实现代码(必须含注释)
5.实验结果(汇编、连接、运行的截图)
Chi neseScore db 10 dup⑺
生语文成绩的十进制数
MathScore db10dup⑺生数学成绩的十进制数
Average
Buf db6dup⑺SumScore dw记录每个学生总分
NumbersOfStude nt
Stu stude nt 10 dup(<>)
dw?
10dup⑺
db0
stude nt ends
;数据段
data segme nt
messMe nu
db
'TheHomework
of
Assembler
----$'
messMe nu1
db
'Name:TU
LIN
No:8000110028------
$'
messNext
db
$'
messName db 'Please in put the stude nt n ame(<11):$' messNum db 'Please in put the stude nt nu mber(<11):$' messE nglish db 'Please in put the En glish score:$' messChi nese db 'Please in put the Chin ese score:$' messMath db 'Please in put the Math score:$' mess1db 'n ame:$'
6.总结
代码实现
stude nt struct;定义结构
Snu mber db 11,0,11 dup⑺
Sn ame db 11,0,11 dup⑺
En glish db 4,0, 4 dup⑺
Chinese db 4,0, 4 dup⑺
Math db 4,0, 4 dup⑺
Sum db 4,0ห้องสมุดไป่ตู้ 4 dup⑺
程序运行停止一下,按回车键继续执行
程序运行暂停一下,按回车键,继续执
;子程序名:GetStudent
;功能:录入学生信息
GetStude nt proc n ear
push si
push dx
push ax
push cx;子程序保护现场
lea dx,messName
mov ah,9
int 21h
lea dx,[si].S name
mov ah,0Ah
int 21h call En dli ne lea dx,messNum mov ah,9 int 21h lea dx,[si].S nu mber mov ah,OAh int 21h call En dli ne lea dx,messE nglish mov ah,9 int 21h lea dx,[si].E nglish mov ah,0Ah int 21h call En dli ne lea dx,messCh in ese mov ah,9 int 21h
lea dx,[si].Ch in ese mov ah,0Ah int 21h call En dli ne lea dx,messMath mov ah,9 int 21h lea dx,[si].Math mov ah,0Ah int 21h call En dli ne pop cx pop ax pop dx pop si ret
汇编语言程序设计期末大作业:
编写一完整的汇编语言源程序, 实现从键盘输入一个班(不少于10人)的学生记录(学号:8位数字、姓名:不多余10个英文字符,语文:0-100的整数、数学:0-100的整数、英语:0-100的整数)后,
(1)将输入的记录保存在C盘根目录下名为stuscore.dat的文件中;
mov ss,ax;
mov sp,0 call En dli ne lea dx,messMe nu mov ah,09h int 21h
将数据段首地址传给ds
将堆栈段首地址传给ss
call En dli ne lea dx,messMe nu1 mov ah,09h int 21h call En dli ne lea si,Stu;
FileSpace
db ""
i ends
data
;堆栈段
stack segme nt
db 100h dup⑺
stack ends
;代码段
code segme nt
assume cs:code,ds:data,ss:stack start: mov ax,data
mov ds,ax;
mov ax,stack
;Tab
用于排列对
;存各学生的偏移地址
存学
存学
存学
用于
SumRa nk
db 0, 1,2, 3, 4, 5, 6, 7, 8, 9
FName
db 'C:\StuScore.dat', 0;文件
FileHa ndle
dw ?;文件句柄
En dOfFile
dw 0ffh
OtherLi ne
db 0ah, 0dh, '$'
mov cx,10
In putStu:
call GetStude nt lea dx,messNext mov ah,09h int 21h add si,50 loop In putStu lea si,Stu call GetE nglishScore call GetCh in eseScore call GetMathScore call Stop;
mess2db 'nu mber:$'
db 'En glish:$' db 'Chi nese:$' db 'Math:$'
mess3
mess4
mess5 messSumScore db 'SumScore:$' MessTabdb 09,'$'
齐
StudAddress dw 10 dup⑺
En glishScore db 10 dup⑺生英语成绩的十进制数