第四章汇编语言程序设计题库教学文案.docx

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

第四章汇编语言程序设计题库教学文案.docx

《第四章汇编语言程序设计题库教学文案.docx》由会员分享,可在线阅读,更多相关《第四章汇编语言程序设计题库教学文案.docx(30页珍藏版)》请在冰点文库上搜索。

第四章汇编语言程序设计题库教学文案.docx

第四章汇编语言程序设计题库教学文案

 

第四章汇编语言程序设计题库

第四章汇编语言程序设计练习题

一、单项选择题(共40题)

1、关于指令MOV[BX],AX,以下叙述正确的是:

A、目的操作数是寄存器操作数

B、源操作数是内存操作数

C、目的操作数是内存操作数

D、源操作数是立即操作数

2、执行下列程序,设(SS)=2000H,执行后(SP)=?

MOVSP,2000H

MOVAX,1234H

PUSHAX

A.21FFEHB.20000HC.22000HD.22002H

3、运算型指令的寻址和转移型指令的寻址,其不同点在于

A.前者取操作数,后者决定程序的转移地址

B.后者取操作数,前者决定程序的转移地址

C.两者都是取操作数

D.两者都是决定程序的转移地址

4、MOV(),300

A、WORDPTR[DX]B、BYTEPTR[BX]C、WORDPTR[BP]D、AL

5、汇编语言程序代码必须位于代码段中,形成代码段物理地址的寄存器对是

A.SS:

SPB.CS:

IPC.DS:

BXD.CS:

BX

6、若定义DATDW'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是()

A.0041HB.4100H

C.××41HD.4l××H

7、执行下面的程序段后,(AX)=()

TABDW1,2,3,4,5,6

ENTRYEQU3

MOVBX,OFFSETTAB

ADDBX,ENTRT

MOVAX,[BX]

A.0003HB.0300H

C.0400HD.0004H

8、下面表示段定义结束的命令是()

A.ENDPB.ENDSC.ENDMD.END

9、设AL、BL,中都是带符号数,当AL<BL时转至NEXT处,在CMPAL,BL指令后应选用正确的条件转移指令是()

A.JBEB.JL

C.JNAD.JNLE

10、指令LOOPZ它的循环执行条件是()

A.CX不等于0且ZF=0B.CX不等于0或ZF=0

C.CX不等于0且ZF=1D.CX不等于0或ZF=1

11、执行下列指令后,SP寄存器的值是()

MOVSP,1000H

PUSHAX

A.0FFEHB.0FFFH

C.1001HD.1002H

12、完成将有符号数BX的内容除以2的正确指令是()

A.SHRBX,1B.SARBX,1

C.RORBX.1D.RCRBX,1

13、汇编语言源程序经汇编后不能直接生成( )

A.OBJ文件B.LST文件

C.EXE文件D.CRF文件

14、执行下列程序(AL)=()。

DATASEGMENT

TAB-DADB‘0123456789’

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETTAB-DA

MOVAL,04

XLAT

A.52B.33HC.30HD.12

15、设BL=05H,要使结果BL=0AH,应执行的指令是()

A.N0TBLB.ANDBL,0FH

C.XORBL,0FHD.ORBL,0FH

16、用MOV指令将十进制数89以组合型BCD码格式送入AX,正确使用的指令是()

A.MOVAX,0089B.MDVAX,0809H

C.MDVAX,0089HD.MOVAX,0809

17、完成BX—CX结果送AX的错误操作是()

A.SUBBX,CX

MOVAX,BX

B.SUBAX,BX

SUBAX,CX

C.XCNGAX,BX

SUBAX,CX

D.MOVAX,BX

SUBAX,CX

18、表示一条指令的存储单元的符号地址称()

A.标号B.变量C.偏移量D.类型

19、变量的类型属性如下,下面错误的类型是()

A.字节型B.字型

C.字符型D.双字型

20、现用数据定义伪指令定义数据:

BUFDB4DUP(0,2DUP(1,0));

定义后,存储单元中有数据0100H的字单元个数是()

A.4B.3C.8D.12

21、分析下面指令序列执行后的正确结果是()

MOVBX,OFFFCH

MOVCL,2

SARBX,CL

A.3FFFHB.0FFFFHC0FFFCHD.0FFF5H

22、下面指令序列执行后完成的运算,正确的算术表达式应是()

MOVAL,BYTEPTRX;

SHLAL,1;

DECAL;

MOVBYTEPTRY,AL;

A.y=2x+1B.x=y2+1C.y=2x-1D.x=y2-1

23、TESTVAR,55H

JZZERO

ZERO:

......

上述程序段中,当变量VAR的内容为何值时,执行JZZERO条件转移指令后,可满足条件转至ZERO处()

A.(VAR)=0B.(VAR)=55H

C.VAR中第0,2,4,6位为0

D.VAR中第l,3,5,7位为0。

24、交换寄存器SI、DI的内容,正确的程序段是()

A.PUSHSIB.PUSHSI

PUSHDIPUSHDI

POPSIPOPDI

POPDIPOPSI

C.MOVAX,SID.MOVAX,SI

25、完成41H送[2100H]、42H送[2101H]的正确程序段是()

A.MOVAL,41HB.MOVSI,2100H

MOV[2100H],ALMOV[Sl],’A’

INCALINCSI

MOV[2100H],ALMOV[S1],’B’

C.MOVAX,4241HD.MOVAX,‘AB’”

MOV[2100H],AXMOV[2100H],AX

26、堆栈的工作方式是()

A.先进后出B。

后进先出C.先进先出D.后进先出

27、字变量ARRAY的偏移地址(或有效地址)送寄存器BX的正确结果是()

A.LEABX,ARRAYB.LEABX,OFFSETARRAY

C.LESBX,ARRAYD.MOVBX.ARRAY

28、在用汇编语言开发软件过程中,首先用编辑程序建立扩展名为()的文件,

经汇编生成扩展名为(F)的目标程序文件,最后连接生成扩展名为()的可执行文件。

A.TXTB.DOSC.ASMD.EXE

E.COMF.OBJG.PRGH.BAK

29、DEBUG调试工具中,用来显示内存的命令是()

A.EB.RC.TD.D

30、已知1000H处有一条指令JNCrel,其机器代码是××H、73H,CF=0,试问执行该指令后,(IP)=()

A.0FF8DHB.1073H

C.0FF8BHD.1075H

31、执行下列程序,设(SS)=2000H,执行后AL中的数据在内存地址()

MOVSP,2000H

MOVAX,1234H

PUSHAX

A.2000HB.22000H

C.21FFEHD.21FFH

32、执行下列程序,设(SS)=2000H,执行后AH中的数据在内存地址()

MOVSP,2000H

MOVAX,1234H

PUSHAX

A.20000HB.21FFFH

C.22000HD.21FFEH

33、INC指令不影响()标志位。

A.OFB.CFC.SFD.ZF

34、将AL中带符号数乘10送AL,正确的程序段是()

A.SALAL,1B.ADDAL,AL

MOVBL,ALMOVBL,AL

SALAL,1ADDAL,AL

SALAL,1ADDAL,AL

ADDAL,BLADDAL,AL

C.MOVCL,4D.ADDAL,AL

MOVBL,ALADDAL,AL

SALAL,CLADDAL,AL

ADDAL,BLADDAL,AL

ADDAL,AL

35、在ADD指令中,两个操作数的物理位置不可以安排在()中。

A.两个主存储单元B.一个主存储单元和一个数据寄存器

C.两个数据寄存器D.一个堆栈单元和一个数据寄存器

36、下面表示汇编源程序结束的命令是()

A.ENDPB.ENDS

C.ENDMD.END

37、在汇编语言中()用于定义常数,变量,内存空间的分配和定位.

A.伪指令B.机器指令

C.宏指令D.微指令

38、伪指令一般在()被解释。

A.程序运行时B.编译程序时

C.连接时D.编写源程序时

39、若定义DATADB0A5H,5BH,在指令MOVBX,()DATA中填充,使指令正确执行。

A.WORDB.BYTEPTR

C.WORDPTRD.OFFSET

40、若定义DATADW1234H,执行MOVBL,BYTEPTRDATA指令后,(BL)=()

A.12HB.34HC.23HD.14H

二、填空题(共50个空)

1、立即数一定存放在

(1)段中

2、如果在一个程序开始执行以前CS=-A7F0H,IP=2B40H试问该程序的第一个字的物理地址是

(2)

3、已知1000H处有一条指令JNCrel,其机器代码是××H、73H,CF=0,试问执行该指令后,(IP)=(3)

4、现有DS=2000H,BX=0100H,SI=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。

(1)MOVAX,[1200H];AX=(4)

(2)MOVAX,[BX];AX=(5)

(3)MOVAX,1100[BX];AX=(6)

(4)MOVAX,[BX][SI];AX=(7)

(5)MOVAX,1100[BX][SI];AX=(8)

5、指示性语句的格式为(9)。

6、执行下列程序(AL)=(10)H。

DATASEGMENT

TAB-DADB‘0123456789’

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFSETTAB-DA

MOVAL,04

XLATTAB-DA

7、对于下面的数据定义:

A1DW20DUP(?

A2DB20DUP(?

A3DB‘98765432l’

MOVAX,LENGTHA1

MOVBX,LENGTHA2

MOVCX,LENGTHA3

各条指令执行后,相应寄存器的内容为:

AX=(11),BX=(12),CX=(13)

8、分析以下程序段:

SUBAX,BX

JNCL3

JNOL4

JMPSHORT

如果AX和BX的内容给定如下:

AXBX

(1)147B80DC

(2)D0239FD0

(3)94B7B568

该程序执行后,程序转向(14);(15);(16)。

9、执行下列程序段,

MOVSP,2000H

MOVAX,0F0H

MOVSI,1234H

MOVDX,5678H

PUSHSI

POPDI

SHLDX,1

TESTAX,DX

PUSHDX

SP=(17);

10、执行下列程序段:

MOVSP,2000H

MOVAX,0F0H

MOVSI,1234H

MOVDX,5678H

PUSHSI

POPDI

SHLDX,1

TESTAX,DX

PUSHDX

DH内容所在内存的偏移地址为(18);

11、有下列数据定义语句:

DATASEGMENT

ADDRDWNUMBER

NUMBERDB10

ARRAYDB5DUP(0)

TABLEDDRT1,RT2;(RT1,RT2是标号)

DATAENDS

则变量ADDR中存储的内容是(19),变量TABLE占用(20)个字节

12、根据下面的指令序列,CX寄存器中的值应该是(21)。

SHR1DW'AB'

SHR2DB16DUP(?

CNTEQU$-STR1

MOVCX,CNT

13、执行下列指令后:

MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

寄存器AH的值是(22),寄存器AL的值是(23).

14、对于下面的数据定义,指令执行后,AX=(24)、BX=(25)、CX=(26)、DX=(27)、SI=(28)

TABLE1DB?

TABLE2DW20DUP(?

TABLE3DB‘ABCD’

MOVAX,TYPETABLE1

MOVBX,TYPETABLE2

MOVCX,LENGTHTABLE2

MOVDX,SIZETABLE2

MOVSI,LENGTHTABLE3

15、执行下列程序:

MOVAX,0

MOVBX,1

MOVCX,100

A:

ADDAX,BX

INCBX

LOOPA

HLT

执行后的结果为(BX)=(29),(AX)=(30)。

16、若定义VARDB2DUP(1,2,2DUP(3),2DUP

(1)),则在VAL存储区内前5个单元的数据是(31)。

17、完成输出显示一个字符的DOSint21h系统功能调用是(32)号。

18、执行返回指令,退出中断服务程序,这时返回地址来自(33)

19、已知:

(AX)=0202H、(ES)=2000H、(BX)=3000H、(SI)=2060H、(25060H)=00B0H,执行指令XCHGAX,ES:

[BX+SI],则AX=(34),(25060H)=(35)

20、下列程序段执行后,寄存器AX=(36),BX=(37)和CX=(38)的内容分别是多少?

ORG0202H

DA_WORDDW20H

MOVAX,DA_WORD

MOVBX,OFFSETDA_WORD

MOVCL,BYTEPTRDA_WORD

MOVCH,TYPEDA_WORD

21、假设数据段的定义如下:

P1DW?

P2DB32DUP(?

PLENTHEQU$-P1

试问PLENTH的值为(39)它表示的意义是(40)

22、假设BX=54A3H,变量VLAUE中存放的内容为68H,确定下列各条指令单独执行BX的值。

(1)XORBX,VALUE;BX=(41)

(2)ORBX,VALUE;BX=(42)(3)ANDBX,00H;BX=(43)

(4)SUBBX,VALUE;BX=(44)(5)XORBX,0FFH;BX=(45)(6)TESTBX,01H;BX=(46)

23、请用DEBUG调试软件的反汇编命令,反汇编在从2060:

100H开始的长度为8字节的程序段,该命令为(47)。

24、查看内存数据段中偏移地址为1000H的内容,DEBUG调试命令为(48)

25、在DEBUG调试命令中,N命令是的功能是(49),L命令的功能是(50)。

三、判断题(共30题)

1、8086/8088微处理器有14个16位寄存器

2、8086/8088微处理器的14个16位寄存器每个都可分成2个8位的寄存器

3、8086/8088微处理器的8个16位的通用寄存器可分为:

4个数据寄存器、2个指针寄存器、2个变址寄存器

4、SUB指令和CMP指令的功能相同。

5、MOVAX,0与XORAX,AX功能相同。

6、SHL和SAL指令功能相同。

7、MOVAX,0FFFFH

INCAX以上两条指令执行后CF=1。

8、有以下定义的数据段,判断该数据段定义下的指令序列正误:

DATASEGMENT

STR1DB1,2,3,4,5

STR2DB‘12345’

COUNTEQU20

NUMBDB3DUP(6)

NUMWDW20H,80H

TABLEDW0

DATAENDS

MOVAX,STR1

9、数据定义同第8题,判断该数据段定义下的指令序列正误

MOVBX,OFFSETNUMB

MOV[BX],’+’

10、数据定义同第8题,判断该数据段定义下的指令序列正误

MOVDL,NUMW+2

11、数据定义同第8题,判断该数据段定义下的指令序列正误

MOVBX,OFFSETSTR1

MOVDH,BX+3

12、数据定义同第8题,判断该数据段定义下的指令序列正误

INCCOUNT

13、数据定义同第8题,判断该数据段定义下的指令序列正误

MOVSTR1,STR2

14、数据定义同第8题,判断该数据段定义下的指令序列正误

MOVAX,NUMW+2

MOVDX,0

DIVNUMW

15、数据定义如下,指出指令的正误:

ORG100H

DATADB20

DW30

DD40

MOVBX,OFFSETDATA

MOVAL,[BX+5]

16、数据定义同15题,指令正误:

MOVAX,DATA

17、数据定义同15题,指令正误:

MOVAX,WORDPTRDATA+1

18、数据定义同15题,指令正误:

MOVAX,DATA[BX][SI]

19、数据定义同15题,指令正误:

MOVBX,OFFSETDATA[BX][SI]

20、数据定义同15题,指令正误:

LEAAX,DATA[BX][SI]

MOVAL,[AX]

21、数据定义如下,指出指令的正误:

AEQU500

BDB?

CDW64H

MOVA,AX

22、数据定义如21题,指出指令的正误:

MOVB,AX

23、数据定义如21题,指出指令的正误:

CMPC,AL

24、数据定义如21题,指出指令的正误:

CMPB,C

25、符号及变量定义如下,指出指令的正误:

26、指出指令正误:

SALCL,5

27、指出指令正误:

JMPEND

28、指出指令正误:

JNABNEXT

29、指出指令正误:

LOOPA5

30、指出指令正误:

ADDAX,[BX][BP]

四、简答题(共20题)

1、简述汇编语言程序的开发过程。

2、内存操作数有哪几种寻址方式?

用MOV指令的源操作数举例进行说明。

3、简述汇编语言、高级语言、机器语言的区别。

4、简述汇编语言的指令语句和伪指令语句的区别。

5、汇编语言的标号代表什么?

有哪三种属性?

6、汇编语言中变量的用哪条伪指令进行定义?

有哪三种属性?

7、已知有如下定义的数据段:

DATASEGMENT

ORG0100H

TABLEDW0FF00H

DATAENDS

试分别分析以下两条指令的执行结果?

并指出区别。

8、有如下定义的变量:

DATASEGMENT

ARRAYDW1000H,2000H,3000H,4000H,5000H

BUFDW?

DATAENDS

请分别完成以下操作:

将ARRAY的偏移地址送BX;将ARRAY的第一字节把内容送AL;

9、已知某数据段中有

COUNT1EQU16H

COUNT2DW16H

下面两条指令有何异同点:

MOVAX,COUNT1

MOVBX,COUNT2

10、某程序设置的数据区如下:

DATASEGMENT

DB1DB12H,34H,0,56H

DW1DW78H,90H,0AB46H,1234H

ADR1DWDB1

ADR2DWDW1

AAADW$-DB1

BUFDB5DUP(0)

DATAENDS

列出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字节组织)。

11、请用DEBUG调试软件的汇编命令,在DEBUG下编写利用DOS功能2显示字符b的一段小程序,要求汇编到2060:

100H开始的内存中。

12、什么是标号?

什么是变量?

13、为了保证用户执行完程序能正常返回DOS,可以采用什么方法?

14、设数据段定义如下:

ORG0020H

D1DW1234H

D2DB32DUP(?

CONTEQU$-D1

问D1,D2,CONT的值各为多少?

它表示什么含义?

15、读下列指令,回答问题:

X和Y的含义有什么不同?

两条指令的作用有什么不同?

XEQU20H

YDB50H

...

MOVAL,X

MOVAH,Y

16、对于给定的数据定义,变量R1和R2的值分别是多少?

DA1DB1,2,3,’ABC’

DA2DW0

R1EQUDA2-DA1

K1DW?

K2DB6DUP(?

K3DD?

R2EQU$-K1

17、设有三个变量VAR1,VAR2,VAR3,其内容VAR1=3C46H,VAR2=F678H,VAR3=0059H。

设计一个数据段,定义这三个变量并赋以初值。

18、说明下面两条指令的区别:

MOVAX,VAR1与MOVAX,OFFSETVAR1

19、说明下面两条指令的异同:

MOVAX,OFFSETVAR1与LEAAX,VAR1

20、用三种不同大方法实现将1000H存入DA1字单元(可以用指令性语句或伪指令语句)。

五、分析程序题(共6题)

1、阅读程序,回答问题

BLOCKDB20H,1FH,08H,81H,0FFH,…

RESDB?

START:

LEASI,BLOCK

MOVCX,[SI]

INCSI

MOVAL,[SI]

LOP1:

CMPAL,[SI+1]

JNGNEXT

MOVAL,[SI+1]

NEXT:

INCSI

LOOPLOP1

MOVRES,AL

HLT

(1)该程序的功能是什么?

(2)该程序的循环次数是多少次?

2、下列程序的功能是什么?

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

当前位置:首页 > 总结汇报 > 学习总结

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

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