上学期汇编语言程序设计复习题.docx

上传人:b****6 文档编号:4774143 上传时间:2022-12-08 格式:DOCX 页数:12 大小:24.60KB
下载 相关 举报
上学期汇编语言程序设计复习题.docx_第1页
第1页 / 共12页
上学期汇编语言程序设计复习题.docx_第2页
第2页 / 共12页
上学期汇编语言程序设计复习题.docx_第3页
第3页 / 共12页
上学期汇编语言程序设计复习题.docx_第4页
第4页 / 共12页
上学期汇编语言程序设计复习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

上学期汇编语言程序设计复习题.docx

《上学期汇编语言程序设计复习题.docx》由会员分享,可在线阅读,更多相关《上学期汇编语言程序设计复习题.docx(12页珍藏版)》请在冰豆网上搜索。

上学期汇编语言程序设计复习题.docx

上学期汇编语言程序设计复习题

2008/2009上学期《汇编语言程序设计》复习题

一、单项选择题

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

A.宏指令B.指令C.伪指令D.语句

2、换码指令的助记符是()

A.XCHGB.LEAC.XLATD.MOV

3、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。

A.AX,BX,CX,DXB.BX,BP,SI,DI

C.SP,IP,BP,DXD.CS,DS,ES,SS

4、计算机能直接识别并执行的语言是()

A.汇编语言B.机器语言C.高级语言D.低级语言

5.堆栈的工作方式是()

 A.先进先出B.随机读写  C.只能读出,不能写入D.后进先出

6、以下各个指令中正确的是()。

A.MOVCS,DXB.MOVDS,BP

C.IN20H,ALD.MOVAH,BX

7、下列对OUT指令的叙述正确的是()。

A.实现从端口中读出数据B.能直接访问的端口范围是0~1KB

C.能访问的端口为64KBitD.只能用DX做为间接寻址的寄存器

8、已有汇编语句“VAREQU1220H”,则语句“movAX,VAR”中源操作数的寻址方式为()。

A.立即寻址B.直接寻址

C.寄存器间接寻址D.基址寻址

9、与MOVBX,OFFSETVAR指令完全等效的指令是()。

A.MOVBX,VARB.LDSBX,VAR

C.LESBX,VARD.LEABX,VAR

10、指令INC一定不会修改的标志是()。

A.溢出标志OFB.符号标志SF

C.进位标志CFD.奇偶标志PF

11、已知DS=2000H,ES=1000H,SI=0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEABX,[SI+80H]”执行后BX的值为()。

A.5678HB.1000HC.0880HD.8765H

12、汇编结束语句有()种格式,为()。

A.1,ENDB.1,END程序的启动地址标号

C.2,END和END程序的启动地址标号D.以上都不正确

13、指令“CALLFARPTRSUM”执行时将会向堆栈中顺次压入()。

A.IP、CSB.CS、IP

C.标志寄存器值、IPD.标志寄存器值,CS、IP

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

A、宏定义,宏调用B、宏定义,宏展开

C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调开

16、要在程序中定义缓冲区BUF,保留10个字节存储空间的语句是()

A.BUFDW10B.BUFDB10

C.BUFDB10DUP(?

)D.BUFDW10DUP(?

17、IBMPC微机中,有符号数是用()表示的

A、原码  B、补码 C、反码  D、BCD码

18、设SP初值为3050H,执行指令PUSHBX后,SP的值是( )

A.304FHB.304EH

C.3048HD.3049H

19、JMPBX指令的寻址方式是( )

A.寄存器寻址B.寄存器间接寻址

C.段内直接转移寻址D.段内间接转移寻址

20、DF=1,执行MOVSB指令后( )

A.SI减1,DI减1B.SI加1,DI加1,CX减1

C.SI减1,DI减1,CX减1D.SI加1,DI加1,CX加1

21.指令MOVBX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么源操作数的物理地址为:

  A.17500H B.16500H   C.14500H      D.13500H  

22.十六进制数88H,可表示下面几种形式,请找出错误的表示()。

  A.无符号十进制数136

  B.带符号十进制数-120

  C.压缩型BCD码十进制数88

D.8位二进制数-8的补码表示 

23.指令指针寄存器是()。

  A.IPB.SPC.BPD.PSW

24.设数据段中已有:

  DA1DB12H,34H

  DA2DW56H,78H

  下面有语法错误的语句是()。

  A.ADR1DWDA1B.MOVDA1+1,AX

  C.MOVBYTEPTRDA2+1,ALD.MOVWORDPTRDA1+1,AL

25.堆栈的工作方式是()

  A.先进先出B.随机读写  C.只能读出,不能写入D.后进先出

26.指令MOVAX,[3070H]中源操作数的寻址方式为()

A.寄存器寻址B.直接寻址  C.立即寻址D.间接寻址  

27.要求CX=-1时转至MINUS处,下面的指令序列不能实现这一功能的是()。

A、INCCX

JZMINUS

B、SUBCX,OFFFFH

JZMINUS

C、ANDCX,OFFFFH

JZMINUS

D、XORCX,OFFFFH

JZMINUS

28.以下跳转指令中不属于段内跳转的是():

A.JMPNEARPTRL1B.JMPSHORTL2

C.JMPDWORDPTR[BX]D.JNZL3

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

(CL=2)

A.SHRAX,CLB.SHLAX,CL

C.ROLAX,CLD.RCRAX,CL

二、填空

1.8086/8088CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节;另一个为______,其大小为_______字节。

2.计算机中的指令由______字段和______字段两部分组成。

3.n位补码的表数范围为:

_________

4.在8086段的最大长度是_________。

5.代表无符号数运算溢出的标志位是_______。

6.LOOP指令的结束条件是_________。

7.在实模式下80x86CPU能够访问的存储器空间为()byte,指令中访问的操作数的逻辑地址由偏移地址和()地址来表示。

8.指令MOVDX,[BX+SI+100H]的源操作数为()寻址方式。

9.假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(DI)=0002H,(21000H)=1234H,(21002H)=5678H,(31000H)=9ABCH,(31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH。

则MOVAX,ES:

[1000H]执行时操作数的物理地址为;MOVAX,[BX]执行后(AX)=;MOVAX,[BP+DI]执行时操作数的物理地址为,执行后(AX)=。

 

30h

30020h

30021h

11h

 

30022h

32h

30023h

89h

30020h

40h

10.

8086存储器中存放信息如图所示,则30022H单元的字节内容为,30020H单元的字内容为。

11.已知(CS)=1500H,(IP)=0110H,则8086执行指令的物理地址为,如果该指令是长度为2字节的加法指令,则在无中断产生的情况下,执行完该指令后IP=。

12.现有(DS)=3000H,(BX)=0100H,(SI)=0002H,(30100H)=12H,(30101H)=a7H,(30102H)=35H,30103H=98H,填写每条指令执行后AX的值

(1)MOVAX,1200HAX=

(2)MOVAX,[BX]AX=

(3)MOVAX,[BX+SI]AX=

(4)MOVAX,[SI+100H]AX=

13.已知数据段有如下定义:

ORG0200H(设置$=0200H)

TABLEDW0314H

填写指令执行后AX的值。

MOVAX,OFFSETTABLEAX=

MOVAX,TABLEAX=

14.设(CS)=1000H,BX=1100H,则执行指令JMPBX后,IP=,指令的物理地址为

15、调用程序、子程序传送参数的方法通常有_______、_______和_______三种方法。

四、简答

1、简述指令与伪指令的区别。

2、宏指令和子程序的区别。

3、简述指令INTN的执行过程。

4、在80x86实模式下,在一个程序开始运行的时候(CS)=0BA3H,(IP)=0978H,请问该程序第一个字的物理地址是多少?

5、以下指令中哪些属于段间转移指令?

(1)JNCNEXT

(2)JMPBX

(3)JMPFARPTRLOP1(4)JMPWORDPTRES:

[2000H]

(5)JMPDWORDPTR[BX+10H](6)JMPNEARPTRTOWHERE

6、子程序声明中主要有哪些属性可以指定?

7、在80x86实模式下,哪些寄存器可以用来指示存储器地址?

8、如果一个文件ex1.asm中定义了一个字节变量BYTE1,而文件file2.asm中将使用该变量,请问如何实现?

9.8086中基本结构寄存器的通用寄存器有哪些,段寄存器又有哪些?

10.子程序中通常要保护现场和恢复现场,如在子程序中用如下指令序列保护现场:

PUSHAX

PUSHSI

PUSHBP

请写出对应的恢复现场的指令序列。

五、按要求回答问题。

1.以下的程序实现将内存单元20000H开始的100个字节初始化为‘a’,请将程序补充完整。

MOVDS,2000H

MOVSI,_____

MOV_____,100

MOV_____,’a’

________________

2.设num1,num2都为字变量,请指出下面语句序列的功能

  MOVAX,num1

XORDX,DX

ORAX,AX

JNSSKIP

MOVDX,OFFFFH

SKIP:

IDIVnum2

3.下面的程序通过子程序调用,将数组ARRAY的COUNT个元素求和,并将结果送SUM单元,分析这段程序后,补充完整程序中的空格部分,并请画出用堆栈传送参数地址时,堆栈最满时的状态:

SUMDW?

ARRAYDW200DUP(?

COUNTDW200

………

MOVDX,OFFSETSUM

PUSHBX

MOVBX,OFFSETARRAY

PUSHBX

MOVBX,OFFSETCOUNT

PUSHBX

CALLSUMPRO

………

SUMPROPROCNEAR

PUSHAX

PUSHBX

PUSHSI

PUSHDI

PUSHBP

MOVBP,SP

MOVSI,[BP+___];得到ARRAY的地址

MOVDI,[BP+___];得到COUNT的地址

MOVCX,[DI]

MOVDI,[BP+___];得到SUM的地址

XORAX,AX

NEXT:

ADDAX,[SI]

INCSI

INCSI

LOOPNEXT

MOV[____],AX;送求和结果

POP_____

POPDI

POPSI

POP_____

POPAX

RET

SUMPROENDP

 

4.MOVCX,NUM

  XORAL,AL

 L1:

JCXZL2

  SHLCX,1

  JNCL1

  INCAL

  JMPL1

L2:

MOVRESULT,AL

问题:

(1)该程序段的功能是。

(2)若NUM中数据是0E5A6H,则运行后RESULT中数据为______。

5.STRINGDB‘ABCDEFGHIJ’

  :

  MOVAH,01;从键盘输入字符1~9

  INT21H

  SUBAL,30H

  DECAL

  XORAH,AH

  MOVBX,OFFSETSTRING

  ADDBX,AX

  MOVBL,[BX]

  MOVAH,02H;显示输出

  INT21H

  试回答:

(1)上述程序段的功能是什么?

(2)如从键盘输入字符’6’,屏幕有什么结果?

6.阅读下列程序回答问题:

DATASEGMENT

BUFDB32H,75H,0C9H,85H;共4个数据

RESULTDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEASI,BUF

MOVCX,4

MOVBX,0

LP1:

MOVDH,8

MOVAL,[SI]

LP2:

RORAL,1

JCNEXT

INCBX

NEXT:

DECDH

JNELP2

INCSI

LOOPLP1

MOVRESULT,BX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

问该程序主要完成什么功能?

程序执行完变量RESULT的值为多少?

答:

 

7.阅读下列程序回答问题:

;FILENAME:

P101.Asm

.486

DATASEGMENTUSE16

BUFDB‘QWERTYUIOP123’

COUNTEQU$-BUF

RESDB‘RESULT=’,20H,0DH,0AH,‘$’;20H表示空格

DATAENDS

CODE1SEGMENTUSE16

ASSUME:

CS:

CODE1,DS:

DATA

BEG:

MOVAX,DATA

MOVDS,AX

LEABX,BUF

MOVAL,[BX]

INCBX

MOVCX,COUNT

DECCX

LAST:

CMP[BX],AL

JBNEXT

MOVAL,[BX]

NEXT:

INCBX

LOOPLAST

MOVSI,OFFSETRES+7

MOV[SI],AL

MOVAH,9

MOVDX,OFFESTRES

INT21H

MOVAH,4CH

INT21H

CODE1ENDS

问以上程序完成什么功能?

执行完该程序,屏幕上将会有什么输出结果?

答:

 

8.、设(SS)=4000H,(SP)=1200H,执行下列指令序列,画图说明SP和堆栈内容变化过程的示意图,并在有分号的地方分别标出(AX),(SP),((SP))的内容。

MOVAX,23AAH

PUSHAX ;(SP)=;((SP))=

MOVAX,6735H

PUSHAX 

MOVBP,SP

ADDWORDPTR[BP],3000H

POPAX;      AX=

画堆栈变化示意图:

 

9、阅读下列程序段回答问题:

BEGIN:

INAL,5FH

TESTAL,80H

JZBRCH1

XORAX,AX

JMPSTOP

BACH1:

MOVAL,0FFH

STOP:

MOVAH,4CH

INT21H

问在什么情况下程序执行的结果是AL=0?

六、综合题。

1.试编一程序,比较两个字符串STRING1和STRING2所含字符是否完全相同。

若相同,则显示“MATCH”,若不相同则显示“NOMATCH”

2.编程实现:

将从键盘上接收到的一串字符(字符个数≤60)以其相反的次序显示在屏幕上。

3.将从键盘上输入的两位十进制数转换为十六进制并送CRT显示。

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

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

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

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