汇编试题Word下载.docx
- 文档编号:17662314
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:34
- 大小:34.17KB
汇编试题Word下载.docx
《汇编试题Word下载.docx》由会员分享,可在线阅读,更多相关《汇编试题Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
MESG2DB'
IT'
SREVERSEIS:
'
BUFDBMAXNO,?
MAXNODUP(?
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
START:
________________
MOVDS,AX
MOVDX,OFFSETMESG1
MOVAH,9
INT21H
MOVDX,OFFSETBUF
__________________
XORAX,AX
__________________;
取实际读入字符个数
LEADI,BUF+2
MOVSI,DI
ADDSI,AX
MOVBYTEPTR[SI],'
DECSI
CONT:
CMPDI,SI
_______________
MOVAL,[SI]
XCHGAL,[DI]
________________;
调整DI
JMPCONT
FINISHD:
LEADX,BUF+2
MOVAH,9
MOVAX,4C00H
CSEGENDS
ENDSTART
2、设num1,num2都为字变量,各存贮一个有符号数,请指出下面语句序列的功能
MOVAX,num1
XORDX,DX
ORAX,AX
JNSSKIP
MOVDX,OFFFFH
SKIP:
IDIVnum2
五、判断正误,若判断为错,请说明理由
1、MOVDS,0
2、MOVAX,[SI][DI]
3、MOVBYTEPTR[BX],10H
4、每个汇编语言源程序模块都必须以END伪指令结束。
END伪指令用于向汇编程序指示源程序的结束;
在需要时,还可以用于程序入口地址。
5、设AX寄存器中为一个有符号数,用如下语句序列完成:
CMPAX,0
JEDONE
MOVAX,-1
JLDONE
MOVAX,1
DONE:
附:
99年北京市汇编语言自考上机题:
要求:
从键盘输入一组四位的十进制数,每组数中间以空格分割,以回车作为输入结束标志,后将这组数按升序输出。
用汇编语言实现,方法不限。
时间:
三小时。
下面给出此题一解法:
(注:
实现方法很多,这里只供参考)
方法:
在内存中开辟一串以字为单位的内存单元,为了存放输入的四位十进制数,由于从键盘输入的每一次数均为0-9的一位十进制数,它的输入编码为30H-39H的八位二进制数,将它的高四位置0,就可以得到一个四位二进制数,将第一次输入的数暂存由一个寄存器中,等第二次输入并处理为一个高四位为0的十进制数后,将寄存器左移四位后与新输入的数相加,依次输入完四位十进制数,可以得到一个十六位的BCD码,将寄存器内的数放入内存单元(一个字),待全部数输入完后就可将内存单元中的乱序BCD码排序,然后将排序后的BCD码输出,就为升序的十进制数。
datasegment;
设置数据段
in_dispdb'
input:
out_dispdb'
output:
numbdw100dup(0)
dataends
codesegment;
设置代码段
assumecs:
code,ds:
data
start:
movax,data;
将数据段段寄存器DS置为实际地址
movds,ax
leadx,in_disp;
显示提示信息
movah,9
int21h
subbx,bx
subcx,cx
subdi,di
subsi,si
r1:
;
输入数组到内存
movah,1
cmpal,0dh
jzexit1
cmpal,'
'
jznub_mem
subal,30h
movcl,4
shlbx,cl
addbl,al
jmpr2
nub_mem:
movnumb[si],bx
addsi,2
incdi;
累计输入个数
r2:
jmpr1
exit1:
incdi
movdl,0ah;
显示换行、回车
movah,2
movdl,0dh
movcx,di;
进行排序
deccx
px:
movax,numb[bx]
movsi,2
movdx,cx
px1:
cmpax,numb[bx+si]
jcpxx
xchgax,numb[bx+si]
movnumb[bx],ax
pxx:
decdx
jnzpx1
addbx,2
looppx
leadx,out_disp;
显示输出提示
subsi,si;
输出排序后的数组
r3:
movbx,numb[si]
movdl,bh
shrdl,cl
adddl,30h
anddl,0fh
movdl,bl
movdl,'
decdi
jnzr3
movah,4ch;
调用DOS21H的4C子功能返回DOS
codeends
endstart
汇编语言自测试题
(2)
1.指令MOVTABLE[SI],DX中,源操作数寻址方式是,目的操作数寻址方式是。
2.已知(AX)=0D765H,(SI)=0400H,(DS)=1000H,(CX)=2305H,(10400H)=67H,(10401H)=0A8H,(10402H)=0D2H,写出下列各条指令独立执行后有关寄存器和标志位的值。
(1)MOVDX,SI(DX)=H
(2)MOVBX,[SI](BX)=H
(3)RORAX,CL(AX)=H,CF=
3.设(SS)=00A8H,(SP)=000CH,POPBX指令执行后,栈顶物理地址是H。
4.写出具有下列功能的伪指令语句:
(1)在BETA为首地址的存储单元中连续存放字节数据:
2个24,5个'
A'
,10个(1,2)
(2)将字数据2965H,5612H存放在定义为字节变量ALPHA的存储单元中,并且不改变数据按字存储的次序
5.按下列要求写出指令或指令序列:
(1)将立即数0A4H与符号地址为NUMBER的存储器字节单元内容相加。
(2)测试CX的b9位是否为1,若是,则转DONE执行。
(3)将首地址为ARRAY字数组的第3个字清0。
(4)设有数据定义如下:
BUFDW1234H,5678H,将第3个字节数据送入AL。
(5)设X、Y、Z均为16位有符号数,计算Z<
--(X-1)/(Y+6)
1.MOVBH,AL
ANDBH,0FH
MOVCL,4
SHRAL,CL
MOVBL,AL
问题:
设(AL)=57H,上述指令执行后,(BH)=H,(BL)=H。
2.N1DW'
AB'
N2DB16DUP(?
CTEQU$-S1
MOVCX,CT
MOVAX,N1
上述指令执行后,(CX)=H,(AX)=H。
3.DAT1DB0,1,2,3,4,5,6,7,8,9
DAT2DB10DUP(?
...
MOVCX,5
MOVBX,5
MOVSI,0
MOVDI0
N1:
MOVAL,DAT1[BX+SI]
MOVDAT2[DI],AL
INCSI
INCDI
LOOPN1
上述指令执行后,DAT2中前5个数据是。
4.MOVCX,NUM
XORAL,AL
L1:
JCXZL2
SHLCX,1
JNCL1
INCAL
JMPL1
L2:
MOVRESULT,AL
问题:
(1)该程序段的功能是。
(2)若NUM中数据是0E5A6H,则运行后RESULT中数据为。
5.DATASEGMENT
BUFDB'
ABCDEFGH'
FLAGDB?
DATAENDS
LEADI,BUF
MOVAL,'
E'
CLD
MOVCX,8
REPNZSCANS
JZOK
MOVFLAG,-1
JMPDONE
OK:
DECDI
MOVFLAG,1
DONE:
...
上述指令执行后,(DI)=,(FLAG)=
下面程序段的功能是将输入的2位十进数(ASCII码)转换成BCD码存入DL。
例如:
输入数据为'
1'
'
2'
则DL中应为21。
请完善之。
MOVAH,
ANDAL,
MOVDL,AL
MOVCL,
INT21H
AL,CL
ADDDL,AL
(必须写完整的程序)
将一个包含有50个字数据的数组ARRAY分成两部分:
正数数组P和负数数组N,并将正数的个数和负数的个数分别存放在相应数组的第一字中。
汇编语言自测试题(3)
一.单选题(每小题1分,共10分)
在四个备选的答案中,选出一个正确答案,请将其序号填在题中的括号内
1.能被计算机直接识别的语言是()
A.C语言B.汇编语言C.机器语言D.面向对象语言
2.唯一代表存储空间中每个字节单元地址的是()
A.段地址B.偏移地址C.有效地址D.物理地址
3.在8086中,存储器是分段组织,每段最大长度是()
A.16KBB.32KBC.64KBD.128KB
4.下列四组寄存器中,属于通用寄存器的是()
A.AX,BX,CX,DXB.SP,BP,IP
C.SI,DI,FLAGSD.上属三者都是
5.VAR是数据段中定义的变量,指令MOVAX,VAR源操作数的寻址方式是()
A.立即寻址B.直接寻址C.相对寻址D.寄存器寻址
6.下列指令执行后,不影响标志位的指令是()
A.PUSHAXB.ADDDX,CXC.XORAX,AXD.CMPAX,5
7.下列指令执行后,一定能使CF=0的指令是()
A.NOTAXB.ORAX,AXC.SUBBX,SID.ROLAX,1
8.设(DS)=8260H(DI)=3500H,指令DECWORDPTR[DI]操作数的物理地址是()
A.11760HB.85B00HC.86100HD.以上都不时
9.循环指令LOOPAGAIN终止循环的条件是()
A.(AX)=0B.(BX)=0C.(CX)=0D.(DX)=0
10.对寄存器AX中的值除以2正确的指令序列是()
A.MOVAX,-51B.MOVAX,-51
SHRAX,1RORAX,1
C.MOVAX,-51D.以上都不是
SARAX,1
二.填空题(每空格1分,共15分)
1.在8086/8088系统中,存储器是分段组织的,存储器物理地址计算公式是⑴。
2.在程序执行过程中,指令的段地址存放在⑵寄存器中,偏移地址存放在⑶寄存器中。
3.下列六条指令语句正确的是⑷⑸二句。
A.PUSHCSB.ADDCX,[SI+DI]C.ANDAX,0FH
D.MOVCL,256E..MOVAX,[BL]F.ADDDS,AX
4.已知(DS)=2F00H(ES)=3F00H(SS)=1A80H(BX)=0800H
(SI)=0010H(DI)=0A00H(BP)=0040H计算下列指令源操作数的物理地
址,指出寻址方式
(1)MOVAX,[BP+6]物理地址⑹寻址方式⑺
(2)ADDAX,ES:
[BX]物理地址⑻寻址方式⑼
5.。
加减运算中,一字节有符号数能表达的数值范围是⑽,运算结果超出
范围称为⑾,此时标志位⑿。
6.乘法指令IMULBX一个乘数在BX中,另一个乘数一定在⒀中,乘积在⒁中。
.
7.与LEABX,VAR指令完全等效的指令是⒂。
三.简答题(每题8分,共24分)
1.按题意写出合适的指令语句,每小题写一条指令
(1)把DX寄存器和CX寄存器的内容相减,结果存入DX寄存器中。
(2)用BX和SI的基址变址寻址,将存储器中的一个字传送到CX寄存器中。
(3)取数组ARRAY的起始地址到BX寄存器中。
(4)将DX寄存器的高四位置1
2.执行下列指令语句,把执行结果填在空格中
(1)已知(AL)=0FFH,(BL)=10H
执行MULBL则(AH)=⑴(AL)=⑵
(2)已知(DS)=2500H(SI)=00A0H(250A0H)=01H(250A1H)=96H
执行ROLWORDPTR[SI],1则(250A0H)=⑶,(250A1H)=⑷,
CF=⑸
(3)已知(SS)=3000H(SP)=200H(AX)=785AH(BX)=1234H,
先执行PUSHAX,再执行PUSHBX,此时(SS)=⑹(SP)=⑺
数12H存放的物理地址是⑻.
3.已知数据段定义如下:
DATASEGMENT
VADB10H
VBDW3*20
MSGDB‘HELLO!
’
COUNTEQU15
BUFDWCOUNTDUP(5,3DUP(1,2),0)
DATAENDS
(1)执行MOVBX,0FFSETVA后,(BX)=
(2)执行MOVCX,TYPEBUF后,(CX)=
(3)用一条指令将字母’O’取到AL中.
(4)经汇编后,BUF占有的存储空间是字节
四.程序分析题(每题7分,共21分)
1.MOVAX,0
MOVBX,1
MOVCX,5
LOP:
ADDAX,BX
ADDBX,2
LOOPLOP
HLT
(1)程序的功能是什么(可用算式表示)?
(2)运行后,(AX)=.
2.已知(AX)=3200H,(DX)=0A000H,执行下列程序段:
NOTAX
NOTDX
ADDAX,1
ADCDX,0
(1)程序执行后,(AX)=(DX)=.
(2)程序功能是什么?
3.执行下列程序:
MOVAX,9B47H
MOVBX,0B568H
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
问:
程序执行后,(AX)=,程序转向
五.程序填空(每题5分,共10分)
1.下列程序段将AX中值乘以9,请将程序填写完整
⑴__________
MOVCL,3
⑵____________
POPBX
2.设AX,BX。
CX中的数是数带符号,下列程序求AX、BX、CX中的最小值,
结果在AX中.请将程序填写完整。
CMPAX,BX
⑴_________________
XCHGAX,BX
NEXT:
CMPCX,AX
⑵___________________
XCHGAX,CX
EXIT:
六.按要求编程(每题10分,共20分)
1.测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX减去BX;
否则将AL清0,同时清CF和OF标志。
写出程序段.
2.设X、Y、Z、W为十六位有符号数编程计算:
W←((X+Y*Z)/8)-Y除法余数丢弃
若ZF=1,程序转EQ;
否则转NOT_EQ。
标准答案
一.单选题(每小题1分,共10分)
1.C2.D3.C4.A5.B
6.A7.B8.B9.C10C.
二.填空题(每空格1分,共15分)
(1)段地址*16+偏移地址
(2)CS(3)IP(4)(5)A,C(次序无关)
(6)1A846H(7)寄存器相对寻址
(8)3F800H(9)寄存器间接寻址
(10)-128~+127(11)溢出(12)OF=1
(13)AX(14)DX,AX(15)MOVBX,OFFSETVAR
三.简答题(每题8分,共24分)
1.
(1)SUBDX,CX
(2)MOVCX,[BX+SI]
(3)LEABX,ARRAY或MOVBX,OFFSETARRAY
(4)ORDX,0F000H
2.
(1)0FH
(2)0F0H(3)03H(4)2CH(5)1
(6)3000H(7)1FCH(8)1FDH
3.
(1)0
(2)2(3)MOVAL,MSG+4
(4)240
四.程序分析题(每小题7分,共21分)
1.
(1)1+3+5+7+9
(2)25
2.
(1)0CE00H5FFFH
(2)双字长数DX,AX求补
3.
(1)9B47H
(2)L5
五.程序填空(每小题5分,共10分)
1.
(1)PUSHAX
(2)SHLAX,CL
2.
(1)JLENEXT
(2)JGEEXIT
六..按要求编程(每题10分,共20分)
1.TESTAL,00100001B
JZZERO
SUBAX,AX
JMPSTOP
ZERO:
SUBAX,BX
STOP:
HLT
2.MOVAX,Y
IMULZ
MOVBX,DX
MOVCX,AX
MOVAX,X
CBW
ADDAX,CX
ADCDX,BX
MOVCX,8
IDIVCX
SUBAX,Y
MOVW,AX
JZEQ
NOT_EQ:
汇编试题(4)
一、选择题
1.说明下列伪操作的功能:
〖A〗PTR〖B〗OFFSET〖C〗SEGMENT
〖D〗ASSUME〖E〗PROC
〖A〗END〖B〗ENDS〖C〗ENDP
〖D〗ENDM〖E〗ORG
〖A〗EQU〖B〗PTR〖C〗MACRO
〖D〗DD〖E〗ORG
供选择的答案:
1)过程定义语句2)内存变量的偏移地址3)子程序结束语句。
4)段寄存器分配语句5)逻辑段定义语句6)修改或定义内存变量类型。
7)宏定义语句8)宏定义结束语句9)逻辑段结束语句。
10)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 试题