汇编模拟题.docx

上传人:b****1 文档编号:3132361 上传时间:2023-05-05 格式:DOCX 页数:27 大小:26.88KB
下载 相关 举报
汇编模拟题.docx_第1页
第1页 / 共27页
汇编模拟题.docx_第2页
第2页 / 共27页
汇编模拟题.docx_第3页
第3页 / 共27页
汇编模拟题.docx_第4页
第4页 / 共27页
汇编模拟题.docx_第5页
第5页 / 共27页
汇编模拟题.docx_第6页
第6页 / 共27页
汇编模拟题.docx_第7页
第7页 / 共27页
汇编模拟题.docx_第8页
第8页 / 共27页
汇编模拟题.docx_第9页
第9页 / 共27页
汇编模拟题.docx_第10页
第10页 / 共27页
汇编模拟题.docx_第11页
第11页 / 共27页
汇编模拟题.docx_第12页
第12页 / 共27页
汇编模拟题.docx_第13页
第13页 / 共27页
汇编模拟题.docx_第14页
第14页 / 共27页
汇编模拟题.docx_第15页
第15页 / 共27页
汇编模拟题.docx_第16页
第16页 / 共27页
汇编模拟题.docx_第17页
第17页 / 共27页
汇编模拟题.docx_第18页
第18页 / 共27页
汇编模拟题.docx_第19页
第19页 / 共27页
汇编模拟题.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汇编模拟题.docx

《汇编模拟题.docx》由会员分享,可在线阅读,更多相关《汇编模拟题.docx(27页珍藏版)》请在冰点文库上搜索。

汇编模拟题.docx

汇编模拟题

汇编模拟题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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2