汇编模拟题2附答案.docx

上传人:b****5 文档编号:4670367 上传时间:2022-12-07 格式:DOCX 页数:9 大小:19.40KB
下载 相关 举报
汇编模拟题2附答案.docx_第1页
第1页 / 共9页
汇编模拟题2附答案.docx_第2页
第2页 / 共9页
汇编模拟题2附答案.docx_第3页
第3页 / 共9页
汇编模拟题2附答案.docx_第4页
第4页 / 共9页
汇编模拟题2附答案.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

汇编模拟题2附答案.docx

《汇编模拟题2附答案.docx》由会员分享,可在线阅读,更多相关《汇编模拟题2附答案.docx(9页珍藏版)》请在冰豆网上搜索。

汇编模拟题2附答案.docx

汇编模拟题2附答案

华南理工大学网络教育学院

《汇编语言》试卷

考试科目:

汇编语言

注意事项:

1.本试卷共7页,满分:

100分,考试时间:

120分钟;

2.所有答案全部写在试卷纸上;

3.考前请将密封线内填写清楚,字迹要工整。

题号

总分

得分

评卷人

 

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,每小题1分,共20分)

1.下列8086CPU的寄存器组中,在段内寻址时可以提供偏移地址的寄存器组是(     b    )

a、AX,BX,CX,DXb、BX,BP,SI,DI

c、SP,IP,BP,DXd、CS,DS,ES,SS

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

a、SHR AX,1     SHR AX,1b、SHL AX,1     SHLAX,1

c、ROL AX,1    ROL AX,1d、RCR AX,1    RCR AX,1

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

a、TEST  AL,02Hb、OR  AL,AL

c、CMP  AL,BLd、AND  AL,BL

4、与MOV  BX,OFFSET VAR指令完全等效的指令是(     D    )。

a、MOV  BX,VARb、LDS  BX,VAR

c、LES  BX,VARd、LEA  BX,VAR

5、BUF  DW  10H DUP(3 DUP(2,10H),3,5)

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

A、80Hb、100Hc、124d、192

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

a、宏定义,宏调用b、宏定义,宏展开

c、宏定义,宏调用,宏展开d、宏定义,宏展开,宏调用

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

a、名字项b、操作项c、操作数项d、注释项

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

a.CMPb.SUBc.ANDd.MOV

9.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H,41H。

执行REPNZSCASB指令后,正确的结果是(b)

   a.DI=0104H,CX=0000H       b.DI=0103H,CX=0001H

   c.DI=0102H,CX=0002H       d.DI=0101H,CX=0003H

10.某数据段如下:

DATASEGMENT

ORG20H

XDB12H

YDW789AH

DATAENDS

Y单元的偏移址是(C)

a.0    b.20H    c.21H    d.12H

11.在下列段寄存器中,代码段寄存器是(B)。

a.ES   b.CS   c.DS    d.SS

12.设物理地址(10FF0)=10H,(10FF1H)=20H,(10FF2H)=30H,如从地址10FF1H中取出一个字的内容是(B)。

a.1020H   b.3020H   c.2030H    d.2010H

13.完成将累加器AX清零,下面错误的指令是(C)。

  a.SUBAX,AX    b.XORAX,AX   

 c.ORAX,00H     d.ANDAX,00H

14.设DS=5788H,偏移地址为94H,该字节的物理地址(B)。

  a.57974H   b. 57914H    c.5883H    d.58ECH

15.如AX=1000H

  NEGAX

  NEGAX

  上述两条指令执行后,AX的值为(C)。

  a.1001H   b.1002H    c.1000H     d.0F000H

16.为了使执行串操作指令时,地址按减量方式处理应使用的指令是(A)。

  a.STD     b.STI    c.CLD   d.CLI

17.在执行POP[BX]指令,寻找目的操作数时,段地址和偏移地址分别是在(B)。

  a.无段地址和偏移地址    b.在DS和BX中   

c.在ES和BX中    d.在SS和SP中

18.下面所列通用数据传送指令的几种传送中,错误的传送方式是(D)。

  a.从累加器到存储器       b.立即数到存储器

  c.从寄存器到存储器       d.从存储器到存储器

19.XORAH,AH

MOVAL,90H

CWD

执行上述指令后,结果是(C)。

   a.DX:

AX=0000:

FF90H      b.DX:

AX=FFFF:

0090H

c.DX:

AX=0000:

0090H      d.DX:

AX=FFFF:

FF90H

20.下面对伪指令语句的说明,正确的是(C)。

   a.汇编程序将伪指令翻译成机器码

   b.伪指令是在执行时完成其功能

   c.伪指令的功能是指示、引导汇编程序在汇编过程中完成其不同操作

d.当汇编结束后,目标程序中仍保留有伪指令

二、填空题(每小题2分,共12分)

1.用IP 寄存器与  CS段寄存器联合确定下一条指令的物理地址。

2.AX寄存器清0的一条逻辑指令是 XORAX,AX或 SUBAX,AX 。

3.汇编语言源程序中的语句有三种类型,它们是指令语句、  宏指令     语句和   伪指令      语句。

4.设数据段的段地址为2A66H,其中某数组中第5个字节存储单元的物理地址为2A835H,试问该数组中首字节的偏移地址是    01D1H      。

5.ARY DW 10 DUP(?

……

MOV AL,TYPE ARY;执行后(AL)=02H

MOV CL,SIZE ARY;执行后(CL)=20

6.某数据段:

DATA SEGMENT

ORG 100H

NUM1=8

NUM2=NUM1+10H

DA1 DB 'COMPUTER'

DB 0AH,0DH

COUNT EQU $-DA1

DA2 DW'CO','MP','UT','ER'

DATA ENDS

试回答:

COUNT的值是_10,DA2+5字节单元的内容是_’U’

三、程序分析题(每小题5分,共20分)

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

XORAL,0FH

AND BL,0FH

OR CL,0FH

执行上述指令序列后,(AL)=____79H,(BL)=_06H,(CL)=__7FH____。

2.DA_BYDB83H,72H,61H,94H,5AH

MOVCX,WORDPTRDA_BY;(CX)=7283H

ANDCX,0FH;(CX)=0083H

MOVAL,DA_BY+3;(AL)=94H

SHLAL,CL;(AL)=40H

上述指令序列执行后,(AL)= A0H , (CL)= 03H .

3.ADBX

 ……

MOVAX,0

MOVAL,BYTEPTRA

MOVCL,10

MULCL

该程序段完成的功能的数学表达式是AX=AL×CL,结果放在AX 中.

4.ORG1000H

DA1DB?

 ……

LEABX,DA1

MOVCX,BX

NEXT:

ADDBX,1

LOOPNEXT

变量DA1的偏移地址= 1000H ,程序段执行后(BX)= 2000H 

四、程序填空题(每空只能填一条指令!

每小题6分,共18分)

1.下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1。

试把空白处填上适当指令。

(1)XORAH,AL

AND AH,08H

(2)__JZZERO

MOV AH,OFFH

JMP NEXT

ZERO:

MOV AH,0

NEXT:

……

2.下面程序段的功能是把DA1数据区的数0-9转换为对应的ASCII码,并存入ASCI数据区。

试完善本程序段。

DA1DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H

ASCIDB10DUP(?

CUNT=ASCI-DA1

……

LEASI,DA1

LEADI,ASCI

(3) MOVCX,10

LOP1:

MOVAL,[SI]

(4)ADDAL,30H

MOV[DI],AL

INCSI

INCDI

LOOPLOP1

3.设A,B是长度为10的字节数组,用串操作指令编写程序实现A,B两数组内容的相互交换。

试完善本程序。

DATASEGMENT

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

ORG0010H

BDB1,2,3,4,5,6,7,8,9,0AH

DATAENDS

……

LEASI,A

LEADI,B

MOVCX,10

LOP:

LODSB;al=a+0

XCHGAL,[DI];al=b+0;b+0=al

(5) XCHGSI,DI     

DECDI

STOSB

(6)    XCHGSI,DI   

INCDI

LOOPLOP

五、编制程序题(第1小题10,第2小题20,共30分)

1.写出程序片段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。

如字符是"Y",则转向YES程序段;如字符是"N",则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。

(注:

YES和NO分别是两程序段入口处的标号。

DOS键盘输入功能调用的入口参数:

(AH)=1,出口参数:

(AL)=输入字符的ASCII码。

DSEGSEGMENT

MESS1DB'enteraKEY,please:

$'

MESS3DB'resultis$'

DSEGENDS

CSEGSEGMENT

MAINPROCFAR

ASSUMECS:

CSEG,DS:

DSEG

START:

MOVAX,DSEG

MOVDS,AX

DISPLAY:

MOVDX,OFFSETMESS1

MOVAH,09H

INT21h

MOVAH,01H

INT21

CMPDL,’Y’

JEYES

CMPDL,’N’

JENO

JMPDISPLAY

YES:

………

NO:

……..

CSEGENDS

ENDSTART

2.写出完整程序,主程序MAIN和过程PROADD在同一源文件中,要求用过程PROADD累加数组中的所有元素,并把和存在字存储单元SUM中。

主程序中判断数组的和中1的位数是奇数还是偶数,若是奇数,AL寄存器清0,否则,AL寄存器置1。

Desegsegment

arraydb1,2,3,4,5,6,7,8,9

sumdb?

Desegends

Cesegsegment

Aussmeds:

Deseg,cs:

Ceseg

mainprocnear

callproadd

movalsum

xordl

movcx8h

sh:

shlal

jncnext

decdl

next:

loopsh

anddl01H

jzzero

moval0

jmpexit

zero:

moval1

exit:

movax,4c00h

int21h

proaddprocnear

pushax

pushdx

pushcx

movcx,9h

addpro:

leasiarray

xorax

movdl,[di]

addal,dl

desdi

loopaddpro

movsumal

popcx

popdx

popax

ret

proaddendp

 

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

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1