汇编模拟题0Word文件下载.docx
《汇编模拟题0Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编模拟题0Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
7.下面的数据传送指令中,错误的操作是(4)。
①MOVSS:
[BX+DI],1000H②MOVDX,1000H
③MOVWORDPTR[BX],1000H④MOVDS,2000H
8.实现将DX:
AX中存放的32位数扩大四倍,正确的程序段是(3)。
①SHLAX,2②RCLAX,2
ROLDX,2SHLDX,2
③MOVCX,2④SHLAX,1
LOP:
SHLAX,1SHLAX,1
RCLDX,1RCLDX,1
LOOPLOPRCLDX,1
9.DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
:
MOVBX,DS:
[0004H]
ANDBX,0FFH
MOVBH,[BX]
上述指令序列运行后,BX的内容是(3)。
①0605H②0406H
③0206H④0204H
10.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为
(1)。
TESTBH,01H
_________K1
①JNE②JZ
③JS④JC
三、简答题:
(每小题5分,共20分)
1.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。
例如:
PUSHAX;
保护现场
PUSHBX
PUSHCX
PUSHDX
。
;
恢复现场
试写出恢复现场时的指令序列。
POPDX
POPCX
POPBX
POPAX
2.宏指令STORE定义如下:
multiplyMACROopr1,opr2,result
pushdx
pushax
movax,opr1
imulopr2
movresult,ax
popax
popdx
ENDM
试展开下列调用:
multiplycx,var,xyz[bx]
1PUSHDX
1PUSHAX
1MOVAX,CX
1IMULVAR
1MOVXYZ[BX],AX
1POPAX
1POPDX
3.D2EQUTHISWORD
D1DB20HDUP(?
)
请写出用一条指令实现取D1的偏移地址到SI中的三种方法。
(1)LEASI,D1
(2)MOVSI,OFFSETD1
(3)LEASI,D2
4.对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?
Datasegment
FLDBDB?
TABLEADW20DUP(?
TABLEBDB'
ABCD'
Dataends
(1)MOVAX,TYPEFLDB
(2)MOVAX,TYPETABLEA
(3)MOVCX,LENGTHTABLEA
(4)MOVDX,SIZETABLEA
(5)MOVCX,LENGTHTABLEB
(1)AX=1
(2)AX=2
(3)CX=20
(4)DX=40
(5)CX=1
四、改错题:
(每小题2分,共10分)
假设VAR为字变量,LAB为标号,试指出下列指令的错误之处并改正:
(1)SUBAL,VAR
源操作数与目的操作数长度不同
AL->
AX
(2)MOV[BX],[SI]
两个内存单元之间不能直接传数据
[BX]->
BX
(3)MOVAX,[SI][DI]
不能两个变址连用
[SI]->
(4)MOVCS,AX
不能对CS赋值
CS->
(5)POPDH
入栈必须为字DH->
DX
汇编模拟题2
一、填空题(每空2分,共40分)
1.8086的数据总线为__16__位,8086的地址总线为__20__位。
2.Movax,[bx]指令中源操作数是____寄存器间接____寻址方式。
3.MOVAX,[BP+SI]指令中源操作数是对堆栈段的____基址变址____寻址方式。
4.INCCX指令不影响__CF__标志位
5.DIVCX指令执行前,需要执行一条__CDW______指令,用于符号扩展。
6.输入/输出的控制方式共有三种,分别是_____DMA______________、___中断______、________程序控制I/O___________。
7.设CF=1,AX=1001H,执行RCLAL,1后,AX=__1003________,CF=____0_____。
8.设SS=5678H,SP=100H,执行POPAX后,则SP的值变为____0102H________,栈顶的物理地址为_____56882H_______。
9.设CS=2000H,IP=100H,SP=240H,BX=120H,执行JMPBX指令后,CS为__2000H______,IP为___120H_____,SP为___238H____。
10.设BX=0400H,SI=003CH,执行LEAAX,[BX+SI+0F62H]指令后,AX为____139EH____,BX为____0400H____。
11.LESDI,[BX]指令是将[BX]所指向内存单元低字的内容送到寄存器___DI_____,将[BX]所指向内存单元高字的内容送到寄存器___ES_____。
二、简答题(每小题5分,共20分)
1.解释下列指令序列完成的功能:
ADDAX,CX
ADCDX,BX
(1)(AX)<
-(AX)+(CX)
(2)(DX)<
-(DX)+(BX)+CF
2.有数据段定义如下:
DATAXSEGMENT
T1DW2DUP(?
T2DW2DUP(?
DATAXENDS
问:
执行MOVAX,T2后,AX=?
AX=0
3、ARY
DW
2
DUP(?
┇
MOV
AL,TYPE
ARY
BL,LENGTH
CL,SIZE
上述MOV指令序列执行后AL,BL,CL的结果是什么?
AL=2
BL=2
CL=4
4、设寄存器AL,BL,CL中内容均为0F0H,
XOR
AL,0FH
AND
BL,0FH
OR
CL,0FH
执行上述指令序列后,AL,BL,CL的结果是什么?
AL=0FFH
BL=000H
CL=0FFH
三、此程序把BX寄存器的二进制数用十六进制数在屏幕上显示出来。
阅读程序并在指定位置填入一条指令,使程序完整。
(每空5分,共20分)
Programsegment
__ASSUMECS:
Program______________________
Start:
movbx,468ah
movch,4
rotate:
movcl,4
rolbx,c1
mova1,b1
_ANDAL,0FH_______________
adda1,30h
cmpa1,3ah
jlprint
addal,7h
Print:
movdl,al
_MOVAH,02H_______________
int21h
decch
jnzrotate
__MOVAH,4EH______________
int21h
Programends
endstart
四、如下是一个二进制转换成十进制ASCII码并显示的程序,阅读程序并在指定位置填入一条指令,使程序完整。
DATASEGMENT
COMDW10000,1000,100,10,1
NDADW5456H
BUFDW7DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
_______MOVAX,DATA_________
MOVDS,AX
MOVAX,NDA
______CMPAX,00H__________
JNSPLUS
NEGAX
MOVBUF,”-“
JMPCVD
PLUS:
MOVBUF,”+“
CVD:
MOVCX,5
MOVSI,1
Movdi,0
_____XORDX,DX___________
CVS:
CWD
Movbx,com[di]
Divbx
Adda1,30h
MOVBUF[SI],AL
INCSI
MOVAX,DX
_____LOOPCVS___________
loopcvs
MOVBUF[SI],”$”
LEADX,BUF
__MOVAH,09H______________
INT21H
MOVAH,4CH
CODEENDS
ENDSTART
汇编模拟题3
一、填空(每小题2分,共10分)
1、设SS=2000H,SP=10H,AX=BX=1234H,顺序执行PUSHAX,PUSHBX后,SP=___0CH____,AX=___1234H____,BX=___1234H____。
2.在串操作指令CMPSB执行时,用于目的地址的寄存器是_____SI_________;
如果DF=1,则该指令全执行后,目的地址寄存器__-1。
3.MOVAX,[1234H]指令中的源操作数的寻址方式为____直接寻址方式__________,这是因为在指令中使用了操作数的___有效地址____。
4.在DEBUG下,可用于执行指令或程序的命令(单字符表示)分别是__-g_____,___-t____,___-p____。
5.根据外部设备的特点,CPU对输入/输出的控制会采用不同的三种方式,这就是______程序控制I/O方式________,_____中断方式_________,_______DMA方式_______。
二、单项选择题(每小题2分,共20分)
1.十六进制数88H,可表示成下面几种形式,请找出错误的表示(4)。
2.指令指针寄存器是
(1)。
①IP②SP
①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数
5.完成同指令XCHGAX,BX相同功能的指令或指令序列是(4)。
POPBXMOVAX,BX
6.在汇编语言程序中,对END语句的叙述正确的是(3)。
7.下面的数据传送指令中,错误的操作是(4)。
③MOVWORDPTR[BX],1000H④MOVDS,2000H
AX中存放的32位数扩大四倍,正确的程序段是(3)。
SHLAX,1SHLAX,1
RCLDX,1RCLDX,1
LOOPLOPRCLDX,1
③0206H④0204H
10.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为
(1)。
三、简答题(每小题6分,共18分)
POPDX
2.完成下列操作,写程序段:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
(1)MOVBX,0520H
SBBAX,BX
(2)MOVAX,SEGTABL
请写出用一条指令实现取D1的偏移地址=>
SI中的三种方法。
(2)LEASI,D2
(3)MOVSI,OFFSETD1
四、程序分析题(每小题6分,共24分)
1.分析下面程序段
MOVAL,200
SARAL,1
MOVBL,AL
MOVCL,2
SARAL,CL
ADDAL,BL
试问程序段执行后(BL)=_0E4H___(AL)=_0DDH___
2.程序段如下:
BLK1DB46,84,34,-5,20,122,73
MOVCX,7
LEASI,BLK1
NEXT:
MOVAL,[SI]
INCSI
TESTAL,81H
LOOPZNEXT
MOVBL,[SI]
请回答程序段运行后:
(AL)=__-5或0FBH__(BL)=_20或14H___
3.STRINGDB‘ABCDEFGHIJ'
MOVAH,01;
从键盘输入字符1~9
ANDAL,0FH
DECAL
XORAH,AH
MOVBX,OFFSETSTRING
ADDBX,AX
MOVDL,[BX]
MOVAH,02H;
显示输出
试回答:
(1)上述程序段的功能是什么?
(2)如从键盘输入字符‘4'
,程序段有什么结果?
(1)确定在显示器上显示STRING中第几个字符。
(2)D
4.ANDAL,AL
JZBRCH1
RCRAL,1
JZBRCH2
RCLAL,1
INCAL
JZBRCH3
上述程序运行后,试回答:
(1)当(AL)=__0__时,程序转向BRCH1
(2)当(AL)=__1__时,程序转向BRCH2
(3)当(AL)=__-1__时,程序转向BRCH3
五、程序填空题(下列各小题中,一个空只能填一条指令。
每小题6分,共12分)
1.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。
TESTAX,8000H
_______JEK1或JZK1________________________
MOVPLW,BX
JMPDONE
K1:
_______MOVPLW,AX________________________
DONE:
2.现有下列数据段:
STR1DB‘ABCDEFGHIJKL'
COUNTEQU$-STR1
BUFDBCOUNTDUP(0)
DATAENDS
下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)。
试把程序中所空缺的指令填上。
MOVSI,OFFSETBUF-1
MOVDI,OFFSETBUF
MOVCX,COUNT
___CLD或STD____________________________
LOP:
MOVSB
_______SUBSI,2或ADDDI,2________________________
LOOPLOP
六、编制程序题(16分)
编写子程序SearchWord,完成的功能如下:
在目的字符串中查找源字符串。
给定的条件如下:
(1)源串的首地址为DS:
DI,作为入口条件已设置好;
(2)目的串的首地址为DS:
SI,作为入口条件已设置好;
(3)源串的长度为2,目的串以00H结尾。
返回值为:
未找到,AX=FFFFH;
已找到,AX=目的串中首次出现源串的地址。
汇编模拟题4
1、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。
每小题1分,共20分)
1、设DS=8225H,DI=3942H,指令NEG
BYTE
PTR[DI]操作数的物理地址是(
A
A、85B92H
B、86192H
C、BB690H
D、12169H
2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(
B
A、AX,BX,CX,DX
B、BX,BP,SI,DI
C、SP,IP,BP,DX
D、CS,DS,ES,SS
3、循环指令LOOPNZ终止循环的条件是(
)。
A、CX=0,且ZF=0
B、CX=0,或ZF=1
C、CX10,且ZF=0
D、CX10,或ZF=1
4、对寄存器AX的内容乘以4的正确指令序列是(
A、SHR
AX,1
SHR
AX,1
B、SHL
SHL,AX,1
C、ROL
ROL
D、RCR
RCR
5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(
A、OF,AF,PF
B、OF,AF,CF
C、OF,PF,CF
D、AF,PF,CF
6、设DH=10H,执行NEG
DH指令后,正确的结果是(
D
A、DH=10H
CF=1
B、DH=0F0H
CF=0
C、DH=10H
D、DH=0F0H
7、下列传送指令中有语法错误的是(
A、MOV
CS,AX
B、MOV
DS,AX
C、MOV
SS,AX
D、MOV
ES,AX
8、下面指令执行后,改变AL寄存器内容的指令是(
A、TEST
AL,02H
B、OR
AL,AL
C、CMP
AL,BL
D、AND
9、执行除法指令后,影响的标志位是(
A、CF,OF
B、SF,ZF
C、CF,OF,SF
D、AF,CF,OF,PF,SF,ZF都不确定
1