汇编语言程序设计复习附答案完整版.docx

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

汇编语言程序设计复习附答案完整版.docx

《汇编语言程序设计复习附答案完整版.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计复习附答案完整版.docx(21页珍藏版)》请在冰点文库上搜索。

汇编语言程序设计复习附答案完整版.docx

汇编语言程序设计复习附答案完整版

一、选择

1.下面指令执行后,改变AL寄存器内容的指令是(D)。

A.TESTAL,02HB.ORAL,AL

C.CMPAL,BLD.ANDAL,BL

2.对寄存器AX的内容乘以4的正确指令序列是(B)。

A.SHRAX,1/SHRAX,1B.SHLAX,1/SHL,AX,1

C.ROLAX,1/ROLAX,1D.RCRAX,1/RCRAX,1

3.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(A)

A.85B92HB.86192HC.BB690HD.12169H

4.指令JMP FAR PTR DONE属于C

  A.段内转移直接寻址

  B.段内转移间接寻址

  C.段间转移直接寻址

  D.段间转移间接寻址

5.将DX的内容除以2,正确的指令是   C

  A.DIV 2  B.DIV DX,2  C.SAR DX,1  D.SHL DX,1

6.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D)。

A.CMPB.SUBC.ANDD.MOV

7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。

A.名字项B.操作项C.操作数项D.注释项

8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是(B)

A.14HB.0104HC.74HD.04H

9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是(D)

A.MOVAX,89B.MOVAX,0809

C.MOVAX,89HD.MOVAX,0809H

10.下列语句中能与“DA1DB32H,34H”语句等效的是(A)

A.MOVDA1,32HB.MOVDA1,32

C.MOVWORDPTRDA1,3234HD.MOVWORDPTRDA1,‘24’

MOVDA1+1,34HMOVDA1+1,34

11.使用DOS功能调用时,子程序的编号应放在寄存器中(A)

A.AHB.ALC.AXD.任意指定

12.下列语句中能实现留空8个字节单元的语句是(D)

A.DA1DT?

B.DA2DW?

,?

C.DA3DD?

D.DA4DQ?

13.指令JMP FAR PTR DONE属于C

  A.段内转移直接寻址

  B.段内转移间接寻址

  C.段间转移直接寻址

  D.段间转移间接寻址

14.下列叙述不正确的是 B 

A.在不改变堆栈段寄存器的情况下,堆栈大小为64KB

B.紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令

C.中断服务程序的返回地址在堆栈中

D.堆栈中数据存放的特点是先进后出

15.一个有128个字的数据区,它的起始地址为12ABH:

00ABH,请给出这个数据区最末一个字单元的物理地址是  C 

  A.12CSBH  B.12B6BH  C.12C59H  D.12BFEH

16.在下列指令的表示中,不正确的是  C 

  A.MOV AL,[BX+SI]

  B.JMP SHORT DONI

  C.DEC [BX]

  D.MUL CL

17.在进行二重循环程序设计时,下列描述正确的是 A 

  A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内

  B.外循环初值应置外循环之内;内循环初值应置内循环之内

  C.内、外循环初值都应置外循环之外

  D.内、外循环初值都应置内循环之外,外循环之内

18.条件转移指令JNE的测试条件为 A  

  A.ZF=0  B.CF=0  C.ZF=1  D.CF=1

19.将DX的内容除以2,正确的指令是  C 

  A.DIV 2  B.DIV DX,2  C.SAR DX,1  D.SHL DX,1

20.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。

  

  A.数据段中偏移量为3236H的字节

  B.附加段中偏移量为3234H的字节

  C.数据段中偏移量为3234H的字节

  D.附加段中偏移量为3236H的字节

21.执行如下程序:

    MOV AX,0

    MOV BX,1

    MOV CX,100

    A:

ADD AX,BX

    INC BX

    LOOP A

    HLT

    执行后(BX)= C 

  A.99  B.100  C.101  D.102

22.上题的程序执行后(AX)= B 

  A.5000  B.5050  C.5100  D.5150

23.在下列指令中,__D____指令的执行会影响条件码中的CF位。

  

  A.JMP NEXT  B.JC NEXT

  C.INC BX  D.SHL AX,1

24.下面指令序列执行后完成的运算,正确的算术表达式应是D

    MOV AL,BYTE PTR X

    SHL AL,1

    DEC AL

    MOV BYTE PTR Y,AL

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

25.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。

  B 

  A.占内存空间小,但速度慢

  B.占内存空间大,但速度快

  C.占内存空间相同,速度快

  D.占内存空间相同,速度慢

26.在程序执行过程中,IP寄存器中始终保存的是  B 

  A.上一条指令的首地址

  B.下一条指令的首地址

  C.正在执行指令的首地址

  D.需计算有效地址后才能确定地址

二、简答

1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。

(3分)

    

(1)SHR DX,1

    

(2)RCR DL,1

    (3)RCL DX,CL

答:

(1)005CH

(2)00DCH(3)05CCH 

2.写出完成下述功能的程序段:

(8分)

    

(1)传送25H到AL寄存器

    

(2)将AL的内容乘以2

    (3)传送15H到BL寄存器

    (4)AL的内容乘以BL的内容

    并请写出最后(AX)=?

答:

(1)MOVAL,25H

(2)SHLAL,1

(3)MOVBL,15H

(4)MULBL

AX=612H

3.指出下列指令的错误原因。

(14分)

(1)MOVBX,AL操作数类型不同

(2)MOV256,CX

(3)POPCS

(4)MUL45H

(5)MOVDS,2000H

(6)JMPWORDPIRLOO

(7)INAL,3F8H

5.设某数据段:

DATASEGMENT

ORG20H

NUM1=8

NUM2=NUM1+10H

DA1DB'COMPUTER'

DB0AH,0DH

COUNTEQU$-DA1

DA2DW'CO','MP','UT','ER'

DATAENDS

试回答:

(1)DA1的偏移地址是什么?

(2)COUNT的值是什么?

(3)DA2+5字节单元的内容是什么?

答:

(1)0020H

(2)002AH-0020H=0AH=10

(3)”U”

6.某程序段如下:

MOVDX,0EFADH

MOVAX,1234H

MOVCL,4

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

上面的程序段执行完后,DX、AX的内容是什么?

DX=FAD0H

AX=2340H

三、填空

1.计算机语言分为机器语言、汇编语言和高级语言。

2.23D=10111B,100101011B=12BH。

3.8086系统的操作数分为立即操作数、寄存器操作数和存储器操作数三种类型。

4.8086CPU内部共有14个16位的寄存器。

5.汇编语言的编译程序一般用Edit,调试程序一般用debug。

四、程序分析

1.现有如下程序段:

    DATA SEGMENT 

    ORG 0020H 

    DA1 DW 12H,23H 

    DA2 DB 11H,21H 

DA3 EQU 1234H

DA4 EQU $-DA2

DA5 DB 31H,32H

DATA ENDS

请回答:

(1)该程序段已占有的存储字节数是多少?

  

(2)符号名DA4的值是多少?

符号名DA5的值是多少?

答:

(1) 该程序段已占有的存储字节数是8个字节。

    

(2) 符号名DA4的值为2,符号名DA5的值是0026H。

 

2.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。

    ORG 100H

    BLOCK DW X1,X2,…,XN

    COUNT EQU($-BLOLOK)/2

    RESULT DW COUNT,?

    LEA BX,BLOCK-2

    MOV CX,RESULT

    XOR AX,AX

    GOON:

ADD BX,2

    CMP AX,[BX]

    JAE NEXT

    MOV AX,[BX]

    NEXT:

LOOP GOON

    MOV RESULT+2,AX

    程序段执行完,回答下述问题

    RESULT+2字存储单元的内容=_MAX(X1, X2, … XN)_____

    BX=__100H + 2×(COUNT-1)____

    程序循环次数=__COUNT____

五、程序填空题

1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。

如果总和值超过AX寄存器的容量,则置AX寄存器内容不变。

请在程序中的空格处填入适当指令使其完整。

    LEA BX,TABLE 

    MOV CX,10 

    MOV SUM,AX 

    MEXT:

(1)ADDAL,[BX] 

    ADC AH,0 

    JNC DON

(2)MOVAX,SUM

JC END0

DON:

INC BX

(3)LOOPNEXT

ENDO:

HLT

2.BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。

请在程序中的空格处填入适当的指令使其完整。

    MOV CX,32H

    LEA SI,BEG

    MOV DI,SI

    

(1)ADDDI99

   DON:

MOV AL,[SI]

    

(2)XCHGAL,[DI]

    MOV [SI],AL

    (3)INCSI

    DEC DI

    LOOP DON

    HLT

3.下面程序段完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后用2号功能调用以相反的顺序显示输出这10个字符。

请在空白处添上适当的指令(每一空白处只添一条指令)。

MOVCX,10

LOP1:

MOVAH,1

INT21H

PUSHAX

LOOPLOP1

MOVCX,10

LOP2:

POPDX

MOVAH,2

INT21H

LOOPLOP2

4.下面程序段完成将以BUFF为首地址的内存区域全部存储0FFH数据。

请在空白处添上适当的指令(每一空白处只添一条指令)。

BUFFDB20HDUP(?

LEDDI,BUFF

MOVAX,0FFFFH

MOVCX,10H

CLD

REPSTOSW

六、编制程序题

1.试编写一个汇编语言子程序,要求将包含任意字符、以0结尾的字符串中的小写字母转换成大写字母。

assumecs:

code,ds:

data

datasgsegment

db'BeginnersAll-purposeSymbolicInstructionCode.',0

datasgends

codesgsegment

begin:

movax,data

movds,ax

movsi,0

callletterc

movah,4ch

int21h

letterc:

pushax

s:

moval,[si]

movah,0

movcx,ax

jcxzreturn

cmpal,61h

jbnext

cmpal,91h

janext

andal,11011111b

mov[si],al

next:

incsi

jmpshorts

return:

popax

ret

codesgends

endbegin

 

2.写一程序段,求双字长数DX∶BX的相反数。

NEG DX      

NEG AX      

SBB DX, 0

 

3.设在内存单元SQTAB首址开始存放了0~15的平方数表。

要求用直接查表法编一程序,求出A单元中给定数(<=15=的平方值送B单元保存。

答:

DATA SEGMENT  

    SQTAB DB 0,1,4,9,16,25,36,49,64,81      

DB 100,121,144,169,196,225      

A DB 12      

B DB?

  

    DATA ENDS  

    CODE SEGMENT  

    ASSUME CS:

CODE,DS:

DATA      

START PROC FAR      

PUSH DX      

XOR AX,AX      

PUSH AX  

    MOV AX,DATA      

MOV DS,AX  

    MOV BX,OFFSET SQTAB      

MOV AL,A      

XLAT  

    MOV B,AL     

RET  

    START ENDP      

CODE ENDS

END START 

4.

编写一个子程序,对两个128位数据相加。

答:

书上221页

5.编写程序求:

X+10H(X<0))

Y=32X(0≤X≤10)

X-90H(X>10)

 

STACKSEGMENTPARASTACK‘STACK’

DB100DUP(0)

STACKENDS

DATASEGMENT

XDW?

YDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X

CMPAX,0

JGECASE23

ADDAX,10H;第一种情况的计算结果

JMPRESULT

CASE23:

CMPAX,10D

JGCASE3

MOVBX,30D

IMULBX;第二种情况的计算结果

JMPRESULT

CASE3:

SUBAX,190H;第三种情况的计算结果

RESULT:

MOVY,AX;结果保存到变量Y中

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

汇编语言程序设计期末考试题

学院(系):

学号:

姓名:

计分:

一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共10分)

1.CPU发出的访问存储器的地址是()

A.物理地址C.逻辑地址

2.将高级语言的程序翻译成机器码程序的实用程序是()

A.编译程序C.解释程序

3.DECBYTEPTR[BX]指令中的操作数的数据类型是()

B.双字C.字节

4.在下列语句中,BUFFER称为()

BUFFERDB01H,0AH

B.变量C.助记符

5.串操作指令中,源串操作数的段地址一定在()寄存器中。

A.CSB.SSC.DSD.ES

6.使计算机执行某种操作的命令是()

A.伪指令

7.将数据5618H存放在存储单元中的伪指令是()

A.DATA1DW1856HB.DATA1DB18H,56H

C.DATA1EQU5618HD.DATA1DB18H,00H,56H,00H

8.若AX=3500H,CX=56B8H,当ANDAX,CX指令执行后,AX=()

A.1400HB.77F8HC.0000HD.0FFFFH

9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。

目前,微机中普遍采用的是()码。

A.BCD码C.ASCII码

10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语

言称为()

二、填空题(每空1分,共20分)

1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。

2.通常所说的计算机系统包括________和________两大部分。

3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、________、________。

4.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。

A.ADDAX,1200H;问AX=________H,ZF=________

B.SUBAX,BX;问AX=________H,ZF=________

C.MOVAX,[BX];问AX=________HCF=________

D.NEGWORDPTR[1200H];问(31200H)=________HCF=________

5.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,填入括号中。

A.使用D的直接寻址()

B.使用BX的寄存器间接寻址()

C.使用BX和D的寄存器相对寻址()

D.使用BX、SI和D的相对基址变址寻址()

E.使用BX、SI的基址变址寻址()

三、简答题(共20分)

1.程序在数据段中定义的数组如下:

(4分)

ARRAY

DB

'YESIS'

 

DB

20

 

 

 

DB

'DONOT'

请指出下列指令是否正确?

若不正确,错在哪里?

(答案做在旁边)

A.MOVBX,OFFSETARRAY

  MOVAX,[BX+8]

B.MOVAX,ARRAY

C.MOVBX,2

  MOVSI,3

  MOVAX,ARRAY[BX][SI]

D.MOVBX,2*2

  MOVSI,3

  MOVAX,OFFSETARRAY[BX][SI];在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值,在汇编指令时还是未知的,所以第三条指令不正确。

  INC[AX];第四条指令中,AX不能作为基址寄存器用。

2.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?

指令执行后,AX寄存器的内容是什么?

(3分)

MOVAX,TABLE

MOVAX,OFFSETTABLE

3.对于下面的数据定义,三条MOV指令分别汇编成什么?

(3分,答案写在对应指令的右边)

TAB1DW10DUP(?

TAB2DB10DUP(?

TAB3DB'1234'

    ┇

MOVAX,LENGTHTAB1

MOVBL,LENGTHTAB2

MOVCL,LENGTHTAB3

4.子程序的说明文件中应包括哪几方面的内容?

(5分)

5、分别指出下列指令中源操作数的寻址方式:

(5分,答案写在对应指令的右边)

A.MOVSI,100

B.MOVCX,DATA[SI]

C.MOV[SI],AX

D.ADDAX,[BX][DI]

E.POPHF

四、程序分析(每小题5分,共20分,答案写在程序右边空白处。

1.列程序段完成什么工作?

DAT1DB30DUP(?

DAT2DB10DUP(?

     ┇

MOVCX,10

MOVBX,20

MOVSI,0

MOVDI,0

NEXT:

MOVAL,DAT1[BX][SI]

     MOVDAT2[DI],AL

     INCSI

     INCDI

     LOOPNEXT

2.执行下列指令后,AX寄存器中的内容是什么?

STARTDW10H,20H,30H,40H,50H

EE1DW3

     ┇

MOVBX,OFFSETSTART

ADDBX,EE1

MOVAX,[BX]

3.试分析下面程序段的功能是什么?

CMPAL,'A'

JCOTHER

CMPAL,'Z'+1

JNCOTHER

JMPLETTER

OTHER:

LETTER:

4.下面程序段执行完以后,AL的内容是什么?

MOVBX,00FFH

ANDBX,0FFFH

ORBX,0F0FH

XORBX,00FFH

五、程序设计(每小题10分,共30分)

1.试编写出把DX、AX中的双字右移四位的程序段。

2.定义一个数据区,它包含

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

当前位置:首页 > 求职职场 > 简历

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

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