宁夏大学汇编复习题.docx

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

宁夏大学汇编复习题.docx

《宁夏大学汇编复习题.docx》由会员分享,可在线阅读,更多相关《宁夏大学汇编复习题.docx(25页珍藏版)》请在冰点文库上搜索。

宁夏大学汇编复习题.docx

宁夏大学汇编复习题

一、单项选择题(本大题共20小题,每小题1分,共20分)

1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()

A.C+D=BB.A+D=B

C.B=DD.A>C>D

2.标志寄存器中属于控制标志位的是()

A.DF,OF,SFB.DF,IF,TF

C.OF,CF,PFD.AF,OF,SF

3.8088/8086存储器分段,每个段不超过()

A.64K个字B.32K个字节

C.1兆个字节D.64K个字节

4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()

A.DECALB.SBBAL,0

AASDAS

C.SUBAL,1D.SUBAL,1

AASDAS

5.要输入端口1234H中的8位数据,其指令应是()

A.MOVDX,1234HB.MOVDX,1234H

OUTDX,AL1NAL,DX

C.1NAX,1234HD.OUTDX,1234H

6.若AX=-15要得到AX=15应执行的指令是()

A.NEGAXB.NOTAX

C.INCAXD.DECAX

7.8086/8088系统执行传送指令MOV时()

A.不影响标志位B.影响DF方向标志

C.影响SF符号标志D.影响CF进位标志

8.MOVAL,79

ADDAL,0B1H

上面指令执行后,设置的标志位CF和OF的值是()

A.CF=0,OF=1B.CF=1,OF=1

C.CF=0,OF=0D.CF=1,OF=0

9.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()

A.DIVBXB.CWD

IDIVBX

C.XORDX,DXD.CBW

DIVBXIDIVBX

10.下列指令中操作数在代码段中的是()

A.MOVAL,42HB.ADDAL,BL

C.SUB[BX],DID.1NC[DI]

11.用REPESCASB指令对字符串进行扫描,如CX

0时,扫描结束,那么表示()

A.在字符串中遇上第一个AL中指定的字符

B.在字符串中有一个AL中指定的字符

C.在字符串中有一个不是AL中指定的字符

D.在字符串中遇上第一个不是AL中指令的字符

12.下列指令执行后对源和目的操作数均无影响的是()

A.MOV[BX+2],AXB.SUBAX,2467H

C.SBB[SI],BXD.CMPAX,BX

13.表示过程定义结束的伪指令是()

A.ENDPB.ENDS

C.ENDD.ENDM

14.下列有语法错误的语句是()

A.DB12HB.DW4567H

C.DDˋBCDˊD.DBˋCDˊ

15.DB1DB8DUP(2DUP(3),3DUP

(2))

MOVAX,WORDPTRDB1[04H]

上面指令执行后,AX的内容是()

A.0302HB.0203H

C.0202HD.0303H

16.BUF1DB3DUP(0,2DUP(1,2),3)

COUNTEQU$-BUF1

符号COUNT等价的值是()

A.6B.18

C.16D.8

17.DA1DW2A05H

DA2DB0FAH

MOVAL,BYTEPTRDA1

SUBDA2,AL

上述指令执行后,DA2中的内容是()

A.0DAHB.0FAH

C.0F5HD.0D0H

18.设(SS)=338AH,(SP)=450H,执行PUSHBX,和PUSHF两条指令后,堆栈顶部的物理地址是()

A.33CECHB.33CF2H

C.33CF4HD.33CE8H

19.设(SP)=0028H,执行段内返回指令RET6后,SP的内容是()

A.0036HB.0022H

C.0030HD.0020H

20.条件转移指令JNBE产生转移的条件是()

A.CF=0ANDZF=0B.CF=0ANDZF=1

C.CF=1ANDZF=0D.CF=1ANDZF=1

21.与MOVBX,0FFSETVAR指令完全等效的指令是()。

①MOVBX,VAR②LDSBX,VAR③LESBX,VAR④LEABX,VAR

22.在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是().

①WORD②PAGE③BYTE④PARA

23.在汇编语言程序的开发过程中使用宏功能的顺序是()。

①宏定义,宏调用②宏定义,宏展开

③宏定义,宏调用,宏展开④宏定义,宏展开,宏调用

24.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省

略的项是()。

①名字项②操作项③操作数项④注释项13.MOVSP,3210H

PUSHAX

执行上述指令序列后,SP寄存器的值是()。

①3211H②320EH③320FH④3212H

25.BUFDW10HDUP(3DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是()。

①80H②100H③124④192

二、简答题(本大题共3小题,每小题2分,共6分)

1.假设DS=2000H,COUNT=0100H,SI=0030H,指令MOVAX,COUNT[ST]

①写出源操作数的物理地址?

②该指令可否写成MOVAX,[COUNT+SI]?

2.下面指令有无错误?

若有错,是什么错误?

①MOVAX,[SI][DI]

②CMP[SI],[BX]

3.条件转移指令的判断条件除标志位PF外还有哪几个标志位?

三、程序分析题(每小题6分,共36分)

l.已知AX=0FF60H,CF=1

MOVDX,96

XORDH,0FFH

SBBAX,DX

执行上述指令序列后,AX=,CF=

2.设寄存器AL,BL,CL中内容均为76H,

XORAL,0FH

ANDBL,0FH

ORCL,0FH

执行上述指令序列后,AL=BL=CL=

3.已知AX=0A33AH,DX=0F0F0H

ANDAH,DL

XORAL,DH

NECAH

NOTAL

执行上述指令序列后,AH=,AL=

4.DATASEGMENT

S9DB0,1,2,3,4,5,6,7,8,9

DATAENDS

:

LEASI,S9

LEA,DI,S9+1

MOVCX,5

LOP:

MOVAL,[SI]

XCHCAL,[DI]

MOV[SI],AL

ADDSI,2

ADDDI,2

LOOPLOP

上述程序段运行后,S9开始的10个字节存储单元内容是什么?

5.MOVAL,38H

MOVBL,49H

CALLSUB0

INCAL

DECCL

.........

SUB0PROC

ADDAL,BL

MOVCL,AL

DAA

RET

SUB0ENDP

上述程序段运行后,AL=CL=

6.ADRDW1234H,5678H

LEASI,ADR

LDSBX,ADR

设变量ADR的偏移地址是100H,上述两条指令执行后:

SI=,BX=。

7.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01,02,03,…,0FF,00H。

问下列程序段执行后,0000~0009H的内容是些什么值。

MOVSI,0000H

MOVDI,0001H

MOVCX,0080H

CLD

REPMOVSW

8.STR1DBˋCOMPUTERNDPASCALˊ

SCADBˋNˊ

LEADI,STR1

MOVAL,SCA

MOVCX,10H

CLD

REPNESCASB

NEXT:

……

程序运行到NEXT时CX=ZF=

9.已知AX=0FFFFH,DX=0001H

MOVCX,2

LOP:

SHLAX,1

RCLDX,1

LOOPLOP

上述程序段执行后,DX=AX=

10.已知DX=0A476H,CX=0302H,CF=1

ORDX,DX

RCRDX,CL

XCHGCH,CL

RCLDX,CL

上述程序段执行后,DX=CF=

11.MOVAX,10

SHLAX,1

SHLAX,1

MOVBX,AX

MOVCL,2

SHLAX,CL

ADDAX,BX

上述程序段执行后,BX=AX=

12.已知AX=78H,BX=0804H

SHRBX,1

ANDBX,0F0FH

MOVCX,4

LOP:

XCHGBH,BL

DIVBL

SALAX,1

LOOPLOP

上述程序段执行后,AX=BX=

四.改错.阅读下列数据传送程序段,改正使用不当的语句

ADB35,47,2AH,'XYZ'

BDBNDUP(0)

NEQU$-A

MOVSI,A

MOVDI,B

MOVCX,LENGTHA

LP:

MOVAX,[SI]

MOV[DI],AX

INCSI

INCDI

DECCX

LOOPLP

五.程序填空题(每空3分,共18分)

1.下面是程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1.试把空白处填上适当指令.

ANDAH,08H

MOVAH,0FFH

JMPNEXT

ZERO:

MOVAH,0

NEXT:

........

2.有一个首址为A的字数组,完成从大到小的排序.

DATAREASEGMENT

ADWNDUP(?

DATAREAENDS

PROGRAMSEGMENT

MAINPROCFAR

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVDS,AX

MOVCX,N

LOOP1:

MOVDI,CX

MOVBX,0

LOOP2:

MOVAX,A[BX]

CMP

JGECONTINE

XCHGAX,

MOVA[BX],AX

CONTINE:

ADDBX

LOOPLOOP2

LOOPLOOP1

RET

MAINENDP

ENDSTART

3.该程序段的功能是求出存放在DX、AX中的双精度数的绝对值,并将结果保存在A和A+2单元中,请在空白处填写指令。

[1]

JNSRESULT

NOTAX

NOTDX

INCAX

[2]

RESULT:

MOVA,AX

MOVA+2,DX

4.下面程序执行后,AL的内容为ARRAY数组中的最小数,请在空白处各填上一条指令。

ARRAYDB3,5,-3,-2,4,5,-8,6

MOVCX,7

MOVDI,0

MOVAL,ARRAY

A1:

INCDI

JLEA2

MOVAL,ARRAY[DI]

A2②

5.下面程序段是判断两个存储单元是否同为正数,如是,则AX置全0,否则AX置非0。

试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。

VAR1DW××××

VAR2DW××××

MOVAX,VAR1

MOVBX,VAR2

XORAX,BX

TESTBX,8000H

MOVAX,0

NEXT:

……

6.以BUFF为首地址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中.

BUFDB5,6,7,58H,62,45H,127,.......

COUNTEQU$-BUF

MAXDB?

.

.

MOVBX,OFFSETBUF

MOVCX,COUNT-1

MOVAL,[BX]

NXET:

INCCX

JAENEXT

MOVAL,[BX]

NEXT:

DECCX

MOVMAX,AL

六、编制程序题(第1小题8分共16分)

l.现有datasegment

arraydw64dup(?

dw5dup(?

dataends

试编写一程序段,要求在array+8到array+10(两者都包括在内)单元中插入5个0.(提示:

先把从array+8单元开始的数据后移5个单元,然后再在规定位置插入0)

2.从键盘上输入来宾的姓名Mr.×××或Mrs.×××,当按动任意键时,屏幕上显示出:

"WelcomeMr.×××".

3.定义宏指令并展开宏调用:

宏指令JOE把一串信息“MESSAGENO.K”存入数据区XK中.

宏调用I=0

JOETEXT,I

JOETEXT,I

JOETEXT,I

4.在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一个完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首的数据区中。

DATASECMENT

BUF1DW-56,24,54,-1,89,-8,……

BUF2DW45,-23,124,345,-265,……

SUMDW10DUP(0)

DATAENDS

5.改错.阅读下列数据传送程序段,改正使用不当的语句

ADB35,47,2AH,'XYZ'

BDBNDUP(0)

NEQU$-A

MOVSI,A

MOVDI,B

MOVCX,LENGTHA

LP:

MOVAX,[SI]

MOV[DI],AX

INCSI

INCDI

DECCX

LOOPLP

6.内存中由SOURCE指示的个字节有符号数组成的数组分成正数和负数两个数组,并求这两个数组的数据个数,结果存放在RESULT指示的内存区域。

存放形式为正数个数在前,其后跟正数组元素,然后是负数个数及负数数组元素.

7从键盘输入一系列字符,以字符’$’为结束符,然后对其中的非数字字符计数,并显示出计数结果

8.在STRING到STRING+99单元中存放着一个字符串,并编写一个程序,测试该字符串中是否存在数字.如有数字则把DL的第5位置1,否则将该位置0

9.统计串中的空格个数和逗号的个数.

11..用地址表转移表实现下列C语句,其中变量A和B是有符号的整型变量:

switch(a%8)

{case0:

b=32;break;

case1:

case2:

b=b+43;break;

case3:

b=b*a;break;

case4:

b--;break;

case5:

case6:

case7:

printf("Function5_6_7");break;

}

}

汇编语言考试复习答案

一、单项选择题(本大题共20小题,每小题1分,共20分)

1.C2.B3.D4.D5.B6.A7.A8.D.9.B10.A11.D12.D13.A14.C15.A16.B17.C18.A19.C20.A21.D22.D23.C24.B25.B26.B

二、简答题

1.①物理地址:

20130H(1分)

②可以(1分)

2.①错,不能同时出现[SI],[DI](1分)

②错,存储单元之间不能直接比较(1分)

3.OF、ZF、SF,和CF的标志位(2分)

三、程序分析题

1.执行上述指令序列后,AX=0,CF=0

2.执行上述指令序列后,AL=79HBL=06HCL=7FH

3执行上述指令序列后,AH=60H,AL=35H

4.S9DB1,0,3,2,5,4,7,6,9,8

5.上述程序段运行后,AL=88HCL=80H

6.上述程序段运行后,CX=44AAHDX=44D5HSI=100H,BX=1234H。

7(从0单元开始的内容是01,01,02,02,04,04,06,06,08,08)

8.程序运行到NEXT时CX=7ZF=1

9.上述程序段执行后,DX=0007HAX=0FFFCH

10.上述程序段执行后,DX=48ECHCF=1

11.上述程序段执行后,

(1)BX=40或28H

(2)AX=200或00C8H()

12.上述程序段执行后,

(1)BX=40或28H

(2)AX=200或00C8H()

五.程序填空题(每空3分,共18分)

1.XORAH,ALJEZERO

2.DECCXAX,A[BX+2]A[BX+2]MOVCX,DI

3.

4.CMPAL,ARRAY[DI]LOOPAl

5.JSNEXTJNENEXT

6.CMPAL,[BX]JNZLOP1

六、编制程序题(第1小题8分共16分)

1.CODESEGMENT

ASSUME,DS:

DATA,ES:

DATA

START:

PUSH

XORAX,AX

PUAHAX

MVAX,DATA

MOVDS,AX

MOVES,AX

MOVSI,OFFSETARRAY+7EH

MOVDI,OFFSETARRAY+88H

STD

MOVCX,60

REPMOVSW

MOVBX,OFFSETARRAY+8H

MOVCX,5

NEXT:

MOVWORDPTR[BX],0

ADDBX.2

LOOPNEXT

RET

CODEENDS

ENDSTARAT

2.2.DESGSEGMENT

MAXLENDB16

ACTLENDB?

NAMESDB16DUP(‘‘)

MESS1DB‘WELCOME’

MESS2DB16DUP(‘‘)

CRLFDB0DH,0AH,’$’

DSEGENDS

CSEGSEGMENT

MAINPROCFAR

ASSUMECS:

CSEG,DS:

DSEG,ES:

DSEG

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DSEG

MOVDS,AX

MOVES,AX

CLD

BEGIN:

MOVCX,16

MOVAL,20H

LEADI,MESS2

REPSTOSB

LEADX,MAXLEN

MOVAH,0AH

INT21H

MOVAH,7

INT21H

CMPAL,3

JEEXIT

DISPLAY:

MOVCH,0

MOVCL,ACTLEN

LEASI,NAMES

LEADI,MESS2

REPMOVSB

MOVAH,09H

LEADX,MESS1

INT21H

EXIT:

RET

MAINENDP

CSEGENDS

ENDMAIN

3.JOEMACROA,J

MARYA,%J

J=J+1

ENDM

MARYMACROX,K

X&KDB‘MESSAGENO.&K’

ENDM

宏展开:

I=0

JOETEXT,I

+TEXT0DB‘MESSAGENO.0’

JOETEXT,I

+TEXT1DB‘MESSAGENO.1’

JOETEXT,I

+TEXT2DB‘MESSAGENO.2’

4.STACK1SEGMENTPATASTACK

DW20HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVCX,10

LEASI,BUF1

LEADI,BUF2

LEABX,SUM

NXET:

MOVAX,[SI]

MOVDX,[DI]

TEXTAX,8000H

JETDX

NEGDX

TDX:

TESTDX,8000H

NEGDX

ADDS:

ADDAX,DX

MOV[BX],AX

ADDSI,2

ADDDI,2

ADDBX,2

LOOPNEXT

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

7.DSEGSEGMENT

BUFFDB50DUP(‘‘)

COUNTDW0

DSEGENDS

…..

BEGIN:

LEABX,BUFF

MOVCOUNT,0

INPUT:

MOVAH,01

INT21H

MOV[BX],AL

INCBX

CMPAL,’$’

JNZINPUT

LEABX,BUFF

NEXT:

MOVCL,’$’

JZDISP

CMPCL,[BX]

JZDISP

CMPCL,30H

JBCONT

CMPCL,39H

JBENXET

CONT:

INCCOUNT

JMPNEXT

DISP:

……..

8.DSEGSEGMENT

STRINGDB100DUP(?

DSEGENDS

CSEGSEGMENT

MAINPROCFAR

ASSUMECS:

CSEG,DS:

DSEG,ES:

DSEG

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DSEG

MOVDS,AX

MOVES,AX

BEGIN:

MOVCX,100

MOVSI,0

REPEAT:

MOVAL,STRING[SI]

CMPAL,30H

JBGOON

CMPAL,39H

JAGOON

ORDL,20H

JMPEXIT

GOON:

INCSI

LOOPREPEAT

ANDDL,0DFH

EXIT:

RET

MAINENDP

CSEGENDS

ENDSTART

9.DATASEGMENT

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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