《汇编语言程序设计》第3次作业.docx
- 文档编号:5150469
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:20
- 大小:20.55KB
《汇编语言程序设计》第3次作业.docx
《《汇编语言程序设计》第3次作业.docx》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》第3次作业.docx(20页珍藏版)》请在冰豆网上搜索。
《汇编语言程序设计》第3次作业
一、单项选择题(只有一个选项正确,共8道小题)
1.
下面的数据传送指令中,错误的操作是()。
(A)MOVSS:
[BX+DI],1000H
(B)MOVDX,1000H
(C)MOVWORDPTR[BX],1000H
(D)MOVDS,2000H
你选择的答案:
D[正确]
正确答案:
D
解答参考:
2.
设AH=0,AL=06H,BL=09H,执行指令
ADDAL,BL
AAA
之后,其结果应是()。
(A)AH=01,AL=05
(B)AH=1AL=15
(C)AH=0,AL=0FH
(D)AH=0AL=05
你选择的答案:
A[正确]
正确答案:
A
解答参考:
3.
BUFAEQUTHISWORD
BUFBDB80DUP(0)
对以上两条语句而言,下列说法不正确的是()。
(A)BUFA与BUFB对应同一存储单元地址。
(B)BUFA与BUFA具有相同的偏移属性。
(C)BUFA与BUFB具有相同的类型属型。
(D)BUFA与BUFB具有相同的段属性。
你选择的答案:
C[正确]
正确答案:
C
解答参考:
4.
已定义数据:
FEESDW100DUP(0,2DUP(?
)),执行指令MOVAL,LENGTHFEES后AL寄存器内容为()。
(A)1
(B)100
(C)200
(D)2
你选择的答案:
[前面作业中已经做正确][正确]
正确答案:
B
解答参考:
5.
09号中断的中断向量所处内存中相应单元的物理地址为()。
(A)00009H
(B)00012H
(C)00024H
(D)00036H
你选择的答案:
[前面作业中已经做正确][正确]
正确答案:
C
解答参考:
6.
在VAR单元中存放着数据2010H的地址2000H。
MOVBX,VAR
MOVAX,[BX]
执行上述指令AX和BX寄存器的内容分别是()。
(A)AX=2000H,BX=2010H
(B)AX=2010H,BX=2000H
(C)AX=22010H,BX=22100H
(D)AX=22100H,BX=22010H
你选择的答案:
B[正确]
正确答案:
B
解答参考:
7.
下列指令中能实现把AX,BX寄存器内容进行交换的是()。
(A)XCHGCX,BX
(B)MOVCL,AX
(C)PUSHAX
(D)
MOVAX,BX
XCHGAX,CXMOVAX,BXPUSHBXMOVBX,AX
MOVBX,CLPOPAX
POPBX
你选择的答案:
C[正确]
正确答案:
C
解答参考:
8.
数据段定义如下:
DATASEGMENT
0RG0074H
ARRAYDW1,2,
DATAENDS
则执行指令MOVAX,ARRAY[4]后,AX寄存器的内容是()。
(A)0002H
(B)0082H
(C)007CH
(D)0003H
你选择的答案:
C[正确]
正确答案:
C
解答参考:
(注意:
若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。
在线只需提交客观题答案。
)
二、主观题(共32道小题)
9.INT21H的键盘输入功能1和功能8有什么区别?
参考答案:
键盘输入功能1:
输入字符并回显(回送显示器显示)(检测Ctrl_Break);
键盘输入功能8:
输入字符但不回显(也检测Ctrl_Break)。
10.对应黑白显示器屏幕上40列最下边一个象素的存储单元地址是什么?
参考答案:
对应黑白显示器屏幕上40列最下边一个象素的存储单元地址是:
B000:
0F78H
11.写出把光标置在第12行,第8列的指令。
参考答案:
指令如下:
MOVDH,0BH;0BH=12-1
MOVDL,07H;07H=8-1
MOVBH,0
MOVAH,2;置光标功能调用
INT10H
12.
如何使用INT10H的功能调用改变显示方式?
参考答案:
在AH中设置功能号00H,在AL中设置显示方式值,调用INT10H即可。
13.
VGA独有的一种显示方式是什么?
参考答案:
像素值为640×480,可同时显示16种颜色,这种显示方式(12H)是VGA独有的。
14.
对于EGA和VGA显示适配器,使用显示方式13H时(只有VGA有),显示数据存在哪里?
参考答案:
显示数据存在显示存储器里。
15.
对于VGA的显示方式13H时存放一屏信息需要多少字节的显存?
参考答案:
需要64000个字节
16.
写出文件代号式磁盘存取操作的错误代码:
(1)非法文件代号
(2)路径未发现(3)写保护磁盘
参考答案:
错误代码为:
(1)06
(2)03(4)19
17.8088/8086CPU的存储器采用分段方式管理,每个段最多可以有______字节,全部存储空间可以分成______个这样大小且互相不重叠的段。
参考答案:
64K16
18.
已知[X-Y]补=7001H,[X+Y]补=0001H,则[2X]补=H。
参考答案:
7002H
19.从缓冲区写信息到一个文件,如果没有关闭文件,可能会出现什么问题?
参考答案:
文件结尾的部分信息就没有被写入磁盘,从而造成写入的文件不完整。
20.
下面的ASCIZ串有什么错误?
PATH_NAMEDB‘C:
\PROGRAMS\TEST.DAT’
参考答案:
此ASCIZ串的最后少了一个全0字节,应改为:
PATH_NAMEDB‘C:
\PROGRAMS\TEST.DAT’,0
21.
据定义如下:
X1DB10H,100,-1
X2DW10H,100,-1
X3DD?
COUNTEQUX3-X1
变量COUNT的值是,其表示的意义是。
参考答案:
9X1和X2两个变量所占内存字节单元的个数。
(写为内存单元的个数也正确。
如果写为字单元则为错误)
22.
执行指令
MOVAX,0
MOVAL,09H
ADDAL,4
若要获得结果AX=0103H,则在ADD指令之后,加一条指令,若要获得结果AL=13H,在ADD指令之后加一条指令。
参考答案:
DAAAAA
23.
实现AL中高四位置1的指令为。
实现AL中高四位取反的指令为。
参考答案:
ORAL,0F0HXORAL,0F0H
24.存贮器的地址区域___________为中断向量区。
参考答案:
◎最低1K字节◎(0-3FFH)◎0000开始的1K字节
以上三个答案都正确
25.
X、Y、Z是双精度数,他们分别存放在X、X+2、Y、Y+2、Z、Z+2的内存单元中,高位字存放在高位地址中,低位字存放在低位地址中,下列指令序列实现X+Y+24-ZW。
并且用W和W+2单元存放运算结果:
MOVAX,X
MOVDX,X+2
ADDAX,Y
ADCDX,Y+2
ADDAX,24
SUBAX,Z
SUBDX,Z+2
MOVW,AX
MOVW+2,DX
分析以上指令序列,指出程序中出现的错误:
;
。
参考答案:
在ADD和SUB两条指令之间加上ADCDX,0(仅仅写出这条指令就正确)
把SUBDX,Z+2改成SBBDX,Z+2(仅仅写出这条指令就正确)
26.
在数据段中有一个字符串,其长度是17,要求把他们传送到附加段中的一个缓冲区。
DATASEGMENT
MESS1DB‘PERSONALCOMPUTER’
DATAENDS
EXTRASEGMENT
MESS2DB17DUP(?
)
EXTRAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATA,ES:
EXTRA
START:
PUSHDS
SUBAX,AX
PUSHAX
LEASI,MESS1
LEADI,MESS2
CLD
REPMOVSB
RET
MAINENDP
CODEENDS
ENDSTART
以上是完整的程序段,请分析主过程,修改主过程中的错误。
1、;
2、;
3、;
4、;
5、。
参考答案:
MOVAX,DATA
MOVDS,AX
MOVAX,EXTRA
MOVES,AX
MOVCX,17只要写出以上5条指令就给分,每条指令1分。
评分标准:
指令中没有写出逗号、没有写对相应数据、写错操作码都视为错误答案。
27.
对于以下宏定义BRANCHMACROXIF(JMPNEARPTRXELSEJMPSHORTXENDIFENDM现有以下代码…LOOP0:
MOVAX,BXBRANCHLOOP0…其中的宏调用展开为:
。
参考答案:
MOVAX,BX
JMPSHORTLOOP0
28.
已知主程序和子程序之间的调用如下:
STACKSEGMENT
DB100DUP(0)
STACKENDS
CODE1SEGMENT
ASSUMECS:
CODE1,SS:
STACK
BEG:
MOVAX,0A3BH
MOVCX,1234H
CALLFARPTRAA;断点(IP)=1110H,(CS)=0200H
CODE1ENDS
CODE2SEGMENT
ASSUMECS:
CODE2
AAPROCFAR
PUSHAX
PUSHCX
BB:
RET
AAENDP
CODE2ENDS
ENDBEG
画出执行到标号BB时,堆栈的情况图。
参考答案:
1234H
0A3BH
1110H
0200H
29.试编写一个程序把BX寄存器的二进制数用十六进制数的形式在屏幕上显示出来。
参考答案:
1、CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE
START:
PUSHDS
SUBAX,AX
PUSHAX
MOVCH,4
ROTATE:
MOVCL,4
ROLBX,CL
MOVAL,BL
ANDAL,0FH
ADDAL,30H
CMPAL,3AH
JLPRINTIT
ADDAL,07H
PRINTIT:
MOVDL,AL
MOVAH,2
INT21H
DECCH
JNZROTATE
RET
MAINENDP
CODEENDS
ENDSTART
30.
写出一段子程序,完成输出空行的功能。
空出的行数在AX寄存器中。
参考答案:
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE
START:
PUSHDS
SUBAX,AX
PUSHAX
MOVAX,5
OUTPUT:
PUSHAX
CALLDISP
POPAX
DECAX
31.
假定(DS)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H则
MOVAX,[BX+10]的寻址方式是;操作数的物理地址是。
MOVAX,[BP][SI]的寻址方式是;操作数的物理地址是。
参考答案:
寄存器相对寻址物理地址:
20110H
基址变址寻址物理地址:
150B0H
32.
如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行MOVAX,TABLE后AX寄存器的内容是;执行LEAAX,TABLE后AX寄存器的内容是。
参考答案:
1234H0032H
33.
如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行MOVAX,TABLE后AX寄存器的内容是;执行LEAAX,TABLE后AX寄存器的内容是。
参考答案:
1234H0032H
34.
如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,则执行MOVAX,TABLE后AX寄存器的内容是;执行LEAAX,TABLE后AX寄存器的内容是。
参考答案:
1234H0032H
35.
1、汇编语言程序上机操作的步骤是;
;;
。
参考答案:
用编辑器编写汇编源程序ASM文件
用MASM命令编译ASM文件为OBJ文件
用LINK命令连接OBJ文件为EXE文件
在DOS下运行程序查看结果或者进入DEBUG查看结果
36.
假设X和X+2单元的内容为双精度数P,Y和Y+2单元的内容为双精度数Q(X,Y为低位字),试说明下列程序段做什么工作?
MOVDX,X+2
MOVAX,X
ADDAX,X
ADCDX,X+2
CMPDX,Y+2
JLL2
JGL1
CMPAX,Y
JBEL2
L1:
MOVAX,1
JMPEXIT
L2:
MOVAX,2
EXIT:
…
分析以上程序段。
写出该程序段实现的功能:
。
参考答案:
程序功能:
AX=1(2P>Q)
=2(2P≤Q)用语言描述也正确。
37.
MOVCL,4
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
分析以上程序段。
写出该程序段实现的功能:
。
参考答案:
程序功能:
把DXAX构成的双精度数左移四位
38.
以下程序段实现从键盘输入一个十进制数并转换成二进制数,试分析程序并填写恰当的指令使程序完整。
MOVBX,0
NEWCHAR:
INT21H
SUBAL,30H
JLEXIT
CMPAL,9D
JGEXIT
XCHGAX,BX
MOVCX,10D
XCHGAX,BX
ADDBX,AX
JMPNEWCHAR
EXIT:
RET
参考答案:
MOVAH,1
CBW
MULCX
39.
下列程序段实现计算(V-(X*Y+Z-540))/X,并把结果的商存入AX,余数存入DX,其中X,Y,Z,V都是16位带符号数,已经分别装入了X,Y,Z,V单元中。
试分析程序并填写恰当的指令使程序完整。
MOVAX,X
IMULY
MOVCX,AX
MOVBX,DX
MOVAX,Z
CWD
ADDCX,AX
SUBCX,540
MOVAX,V
SUBAX,CX
SBBDX,BX
IDIVX
参考答案:
ADCBX,DX
SBBDX,0
CWD
平分标准:
有写错指令操作码的不给分。
40.
设有5个学生的成绩分别是76,69,84,90,55。
试编写程序统计成绩在80~100,60~79以及60分以下人数的个数分别存放在COUNT开始的三个字节单元中。
参考答案:
DATASEGMENT
ARRAYDB76,69,84,90,55
COUNTDB3DUP(0)
DATAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:
CODE,DS:
DATA
START:
PUSHDS
SUBAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVCX,5
MOVSI,0
LOOP1:
MOVAL,ARRAY[SI]
CMPAL,80
JGEG80
CMPAL,60
JLL60
INCCOUNT[1]
JMPL1
G80:
INCCOUNT[0]
JMPL1
L60:
INCCOUNT[2]
L1:
INCSI
LOOPLOOP1
RET
MAINENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 汇编语言 程序设计 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)