汇编模拟题.docx
- 文档编号:9950422
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:27
- 大小:26.88KB
汇编模拟题.docx
《汇编模拟题.docx》由会员分享,可在线阅读,更多相关《汇编模拟题.docx(27页珍藏版)》请在冰豆网上搜索。
汇编模拟题
汇编模拟题1
一、填空题:
(每空1分,共15分)
1.一条指令至少包含操作码、操作数两部分。
2.指令和伪指令最大的区别在于:
指令可以编译为目标代码而伪指令不能.
3.寄存器寻址方式中,操作数存放在寄存器。
4.操作数地址存放在寄存器的寻址方式称为寄存器寻址。
5.在DEBUG下,可用于显示寄存器内容的命令(单字符表示)是____-r________。
6.如果在一个程序开始执行以前(CS)=1a45H,(IP)=2B40H,则该程序的第一个字的物理地址是1CF90H.
7.在8086微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定端口号。
可直接由指令指定的I/O端口数有256个。
8.现有(DS)=182AH,(ES)=192AH,(SS)=2000H,(SP)=0FFF0H,(AX)=07A8H,(BX)=0510H,(SI)=0004H,(187B0H)=0042H,(187B4H)=0B02H,(187BEH)=0100H,(187C0H)=2000H,(192A0H)=38A4H,(197B4H)=0200H,CF=1
请写出下列各条指令独立执行完后,值发生变化的有关寄存器及存储单元的内容,不必写标志位。
(1)MOVAH,[1000H](AH)=A4H
(2)ADC[BX],AX (187B0)=07EBH
(3)CBW (AX)=FFA8H
(4)TESTAX,8000HCF=0
(5)XCHGAX,ES:
[BX+SI](AX)=0200H(197B4H)=07A8H
(6)LESDI,[BX+SI+0AH](DI)=0100H(ES)=2000H
(7)PUSHDS (SP)=0FFEEH
作存储器操作数的变量具有段地址属性、__偏移地址______、___类型_____三个属性
二、选择题:
(每题2分,共20分)
1.十六进制数88H,可表示成下面几种形式,请找出错误的表示(4)。
①无符号十进制数136②带符号十进制数-120
③压缩型BCD码十进制数88④8位二进制数-8的补码表示
2.指令指针寄存器是
(1)。
①IP②SP
③BP④PSW
3.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是
(1)。
①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数
③表示该数为偶数④表示结果中低八位含1的个数为偶数
4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是
(1)。
①MOVAL,00H②ANDAL,00H
③XORAL,AL④SUBAL,AL
5.完成同指令XCHGAX,BX相同功能的指令或指令序列是(4)。
①MOVAX,BX②MOVBX,AX
③PUSHAX④MOVCX,AX
POPBXMOVAX,BX
MOVBX,CX
6.在汇编语言程序中,对END语句的叙述正确的是(3)。
①END语句是一可执行语句②END语句表示程序执行到此结束
③END语句表示源程序到此结束④END语句在汇编后要产生机器码
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]->BX
(4)MOVCS,AX
不能对CS赋值
CS->BX
(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
MOV BL,LENGTH ARY
MOV CL,SIZE ARY
上述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码并显示的程序,阅读程序并在指定位置填入一条指令,使程序完整。
(每空5分,共20分)
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
INT21H
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)。
①无符号十进制数136②带符号十进制数-120
③压缩型BCD码十进制数88④8位二进制数-8的补码表示
2.指令指针寄存器是
(1)。
①IP②SP
③BP④PSW
3.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是
(1)。
①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数
③表示该数为偶数④表示结果中低八位含1的个数为偶数
4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是
(1)。
①MOVAL,00H②ANDAL,00H
③XORAL,AL④SUBAL,AL
5.完成同指令XCHGAX,BX相同功能的指令或指令序列是(4)。
①MOVAX,BX②MOVBX,AX
③PUSHAX④MOVCX,AX
POPBXMOVAX,BX
MOVBX,CX
6.在汇编语言程序中,对END语句的叙述正确的是(3)。
①END语句是一可执行语句②END语句表示程序执行到此结束
③END语句表示源程序到此结束④END语句在汇编后要产生机器码
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
三、简答题(每小题6分,共18分)
1.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。
例如:
PUSHAX;保护现场
PUSHBX
PUSHCX
PUSHDX
:
:
;恢复现场
试写出恢复现场时的指令序列。
POPDX
POPCX
POPBX
POPAX
2.完成下列操作,写程序段:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
(1)MOVBX,0520H
SBBAX,BX
(2)MOVAX,SEGTABL
3.D2EQUTHISWORD
D1DB20HDUP(?
)
请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。
(1)LEASI,D1
(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.程序段如下:
DATASEGMENT
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
INT21H
ANDAL,0FH
DECAL
XORAH,AH
MOVBX,OFFSETSTRING
ADDBX,AX
MOVDL,[BX]
MOVAH,02H;显示输出
INT21H
:
试回答:
(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.现有下列数据段:
DATASEGMENT
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终止循环的条件是( B )。
A、CX=0,且ZF=0
B、CX=0,或ZF=1
C、CX10,且ZF=0
D、CX10,或ZF=1
4、对寄存器AX的内容乘以4的正确指令序列是( B )。
A、SHR AX,1 SHR AX,1
B、SHL AX,1 SHL,AX,1
C、ROL AX,1 ROL AX,1
D、RCR AX,1 RCR AX,1
5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( A )。
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 CF=0
D、DH=0F0H CF=1
7、下列传送指令中有语法错误的是( A )。
A、MOV CS,AX
B、MOV DS,AX
C、MOV SS,AX
D、MOV ES,AX
8、下面指令执行后,改变AL寄存器内容的指令是( D )。
A、TEST AL,02H
B、OR AL,AL
C、CMP AL,BL
D、AND AL,BL
9、执行除法指令后,影响的标志位是( D )。
A、CF,OF
B、SF,ZF
C、CF,OF,SF
D、AF,CF,OF,PF,SF,ZF都不确定
10、执行下面指令序列后,结果是( A )。
MOV AL,82H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 模拟