汇编final.docx

上传人:b****3 文档编号:3520016 上传时间:2022-11-23 格式:DOCX 页数:25 大小:26.86KB
下载 相关 举报
汇编final.docx_第1页
第1页 / 共25页
汇编final.docx_第2页
第2页 / 共25页
汇编final.docx_第3页
第3页 / 共25页
汇编final.docx_第4页
第4页 / 共25页
汇编final.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

汇编final.docx

《汇编final.docx》由会员分享,可在线阅读,更多相关《汇编final.docx(25页珍藏版)》请在冰豆网上搜索。

汇编final.docx

汇编final

单项选择题

1.分别写出下列寄存器的位数AH,BH,CX,CS()

A,8位、16位、32位、16位

B,16位、8位、32位、16位

C,8位、16位、16位、32位

D,8位、8位、16位、16位

答案为:

D

5.在PC中引起CPU主程序中断的下列四种情况里,哪一种需要由外部接口硬件电路提供中断向量号?

(B)P162

(A)INT0

(B)类型号N=70H

(C)INT03H

(D)INT11H

2.下列寻址方式为寄存器寻址的是()

A.MOVAX42HB.MOVAXBXC.MOVAX[BX]D.MOVCXX[BX+2DI]

答案:

BP42

3.下列标号中表示正确的是()

A.9NULLB.MOVC.POPD.CONT2

答案:

DP38

4.下列全部属于EU的寄存器的是()

A.AX,SP,DI,SSB.BX,DX,DI,SIC.CS,DS,IP,SID.AX,CX,DX,ES

答案:

B

6.下列传送指令中正确的是()

A.MOV55H,55HB.MOVDS,ES

CMOVAX,68D.MOVDS,55H

答案:

C

Pentium的通用寄存器都为32位宽,下列哪个寄存器可以拆分成16位与8位(A)P28

A.DXB.SIC.DID.P

2.在汇编语言中,若需要执行的结果在屏幕上等待,你应引用哪条指令(B)

A.01HB.07HC.4CHD.0AH

 

4..源程序结束语句为(C)

A.ENDPB.ENDS

C.ENDMAIND.END

5.下列四个寄存器中,不能作为间接寻址的寄存器是(C)P44

A.BXB.BPC.DXD.DI

1、子程序的定义通过()伪指令来实现。

A.START和ENDB.BEGIN和END

C.CALL和RETD.PROC和ENDP

答案:

D

【P66】

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

A先进先出

B随机读写

C只能读出不能写入

D后进先出

答案:

D(用堆栈传递参数是汇编语言用的最广泛的一种方法,所以要知道堆栈的工作方式。

5、指令MOVAX,[3070H]中源操作数的寻址方式为(C)P55

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

C.直接寻址D.变址寻址

7、8086CPU内有指示下条指令有效地址的指示器是(A)。

P22

A.IPB.SPC.BPD.SI

8、8086CPU在基址加变址的寻址方式中,变址寄存器可以为(D)。

A.BX或CXB.CX或SI 

C.DX或SID.SI或DI

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

   

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

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

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

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

10、下列逻辑运算指令中表示逻辑异或操作的是()p59(C)

A、ANDB、OR

C、XORD、NOT

16、下列不是常用的减法指令时(D)p54

A、SUBB、SBB

C、DECD、MUL

17、在INT21DOS功能调用中,下列哪两项的功能分别是“键盘输入,无回显”和“显示字符串”:

()

A.01H,09HB.07H,09HC.09H,07HD.01H,07H

答案:

B——P268

19、由汇编语言编写的程序通常有堆栈段,数据段和指令段,它们的存储器逻辑地址分别存放在哪3个段寄存器中?

——()

A:

SS,CS,DSB:

QS,SS,DSC:

SS.DS.CSD:

SS.DS.QS

答案:

C——P77

20、不带进位加法,带进位加法,不带借位减法,带借位减法的指令分别为()

A:

ADD,ADC,SBB,SUB

B:

ADD,ADC.SUB,SBB

C:

SUB,SBB,ADD,ADC

D:

SBB,SUB,ADC,ADD

答案:

B——P53~54

21、对于堆栈操作指令的标志寄存器,下列哪个选项是入栈指令?

——()

ApushBpopCcomeDputin

答案:

A

在汇编语言中,当操作数为变量时,其默认的数据段地址为(D)P44

A.ASB.BSC.CSD.DS

24、MOVAX,[BX+5]的源操作寻址方式为(C)P45

  A 间址寄存器寻址              B 立即寻址   

  C 间址寄存器加位移量寻址              D 基址加变址寻址 

25、下面哪个不是通用寄存器累加器的符号(C)

A.AXB.AH

C.BXD.AL

BX:

基址寄存器。

P20

PS:

P148第二点的第二段第一句话

下面指令能使光标回车的是()D【A---光标换行、02H---写显示器、07H---键盘输入,无显示】P268、P91页。

MOVDL,0AHB、MOVDL,02H

MOVAH,6MOVAH,6

INT21HINT21H

C、MOVDL,07HD、MOVDL,0DH

MOVAH,6MOVAH,6

INT21HINT21H

28、循环指令LOOP是由(C)控制的

A.AXB.BXC.CXD.DX

29、在MOV指令中——之间下列哪个能相互传送

A立即数与立即数B存储器与存储器

C.段地址与段地址D通用寄存器也段寄存器

 

8.计算机语言有很多种,其中与硬件直接相关的是()

A,网络语言

B,操作语言

C,机器语言

D,高级语言

答案为:

C

9.编写程序时遇到堆栈操作一定要非常注意,下列描叙错误的是()

A:

遵循“后入先出”的原则,即最后进入堆栈的数据最先出栈,最先进入堆栈的数据最后出栈。

B:

PUSH与POP指令不能用于字节操作,只适于16位字操作或32位字操作,因此堆栈指针进量总是2或4.

C:

参数入栈时“先减后入”,出栈时则“先出后加”。

D:

PUSH与POP指令必须成对出现。

答案:

BP51-52

10.数据寄存器DS通常与_____寄存器组合可指定数据在内存中的逻辑地址。

A.BXB.CXC.DXD.SI

答案:

AP29

 

13.执行下列程序后,DX=_____。

MOVBL,20

MOVCL,10

ADDBL,CL

MOVAL,CL

MULBL

MOVDX,AX

A.200B.300C.10D.30

答案:

B

14.已知一数据段的段地址是0100H,这个段的第六个字单元的物理地址是()

A.01010HB.0100AHC.0100CHD.01006H

答案:

B。

由于一个字单元占两个字节,第一个字单元的偏移地址是0000H,所以第一个字单元的物理地址为01000H。

以后每个字单元在前一个的基础上加2,因此这个段的第六个字单元的物理地址为0100AH。

注意:

本题易误选A。

15.I/O接口电路和CPU间的数据交换方式为()

A.并行B.串行C.并行或串行D.位传送

答案:

C

16.在立即寻址方式中,立即数放在()中。

A.数据段B.代码段C.附加段D.堆栈段

答案:

B。

注意:

本题易误选A。

P43

18.以寄存器DI间接寻址的存储器字节单元内容加1的指令是(C)。

(A)INC〔DI〕(B)INCDI(C)INCBYTEPTR〔DI〕(D)ADD〔DI〕,1

21.寄存器间接寻址方式中,操作数在(C)中。

A.通用寄存器B.堆栈

C.内存单元D.段寄存器

22.8086/8088可用于间接寻址的寄存器有(B)。

A.2个B.4个

C.6个D.8个

2.定义标号不能和系统默认符号,如MOV、POP、ENDP等指令助记符和伪指令同名。

(√)P38

4.DW伪指令用来定义双字。

(F)

5.立即数不能作为目的操作数。

(T)

6.MOVAL,BX是正确指令。

(F)

7.I/O端口寄存器地址空间同微处理器的接口有独立型与存储器映像两种类型。

(T)

【P141】

8.IA指令集不支持IN和OUT两条最基本的I/O指令。

(F)【P143】

注释:

支持。

9.任何一种类型的计算机都离不开中断技术,它们对中断技术的处理机理大同小异。

(T)

【P147】

10.LOOP$指令表示程序在当前地址处执行CX自动加1的“原地踏步”操作,直至CX值减到0才退出而去执行下一条指令。

(F)

PS:

是自动减1.此指令常用于设计延时程序,延时时间由CX的初始值来决定。

【P67】

11.中断是指固化在BIOS中或置于OS内的供汇编程序设计者使用的库函数(T)

12.IP指令指针寄存器可以通过MOV命令改变其值(F)

 

14.LEA REG,MEM是将MEM中的内容装至REG寄存器中。

           (F)

解析:

将源操作数MEM的偏移量地址装至REG寄存器中。

 (P51)

15.系统约定在CPU与Cache之间以字节为基本单位进行传输,而Cache同主存储器之间则以块为基本单位实现传输,这里的块又称一个Cache行,计16个字节。

        (F)

解析:

应该是记32个字节。

16.代码段中有一段指令:

MOVAX,55H

MOVBx,34H

MOVAX,BX

出现此段指令后,ax=34hbx=55h(F)

17.中断可以分为软件中断(softwareInterrupts)与硬件中断(hardwareInterrupts)两大类

两者中又由不同类型的中断源构成(T)

18.8086指令指针寄存器(IP)是一个专门来指示程序当前指令代码存放地址的32位寄存器

(F)

19.push指令的作用是执行堆栈的压入操作(T)

6.8086/8088有20条地址线,可寻址1MB的存储器空间。

T

7.指令指针寄存器是一个专门用来指令代码存放地址的32位寄存器。

F16位

P22

11.判断:

段内调用是指主程序与子程序都处在同一个指令段,此时CS寄存器的内容不变,指令指针IP的偏移量也不变()。

答案:

F(偏移量改变)

1.一般说,CPU中包含的通用寄存器越多,偏移量就越灵活,程序执行速度就越快(T)P20

INT指令是直接转移到子程序入口,而CALL指令则要通过查找中断向量表才能转移到子程序入口处.(F)P76

宏的位置必须放在程序的最前面,而子程序的位置可以放在主程序的后面或前面.(T)P99

POP指令不能操作立即数,但PUSH指令可以用于立即数.(T)P52

11.汇编的数据在地址上操作(T)

12.汇编语言是为了便于理解与记忆,将机器指令用助记符代替而形成的一种语言.T

13.交换指令不能在存储器与存储器之间对换数据。

(T)

1、在dos系统下的.exe格式与windows系统下的.exe格式是不一样的。

()

答案:

正确

2、.exe文件可以有独立的代码段、数据段和堆栈段,.com文件也是这样的。

()

答案:

错误。

(.com文件无堆栈段和数据段)

3、连接程序自动从库文件中抽取所需要的子程序插入到最终的可执行代码中,这个过程称为动态连接。

()

false;这个过程为静态连接。

4、“汇编语言程序”是将汇编语言程序“汇编”成机器代码目标模块的程序。

(f)p37一段

5、MOV指令传送数据时,源与目的两个操作数不能同时为存储器。

(T)p49

6、指令MOVAX,[BX]的意思是将BX得内容传送到AX寄存器中(f)

p443.2.4

7、系统功能调用即INTN中断的调用,与CALL调用指令实质上都是属于子程序调用。

(T)P75中间段话

存储器的单元地址由段地址和段内地址偏移量来表示,此称为逻辑地址(T)p23

中断结束有自动结束与非自动结束两种方式(T)p159

宏的可以不放在程序的最前面(T)p99

11、主存储器的职能是存放程序代码和数据,程序是计算机操作的对象,数据是计算机操作的依据——()

答案:

F——P14程序是计算机操作的依据,数据室计算机操作的对象

12、指令指针寄存器是一个专门用来指示程序当前指令代码存放地址的8位寄存器——()

答案:

F——P22指令指针寄存器是16位寄存器

13、堆栈操作的数据存放地址由基址指针寄存器BP控制,该指针总是指向当前操作的堆栈单元地址。

——()

答案:

F——P51堆栈操作的数据存放地址由堆栈指针寄存器SP控制

14、对于8086,8088唯一的区别就是8088的外部数据线仅为8位。

——()

答案:

T——P19

15、交换指令是将两个两个类型一致的操作数相互交换,亦即源操作的内容交换。

(√)(69页)

任何一个实用程序都回存在分支。

(√)(89页)

如果主程序和子程序不在同一个段中,则过程调用应为“NEAR”.(×)

MOVAL,DS:

[2000H]源操作数的寻址方式为立即寻址(×)(P44应为立即寻址)

当存储器的内容表示地址时存储器变量为2个字节时表示段地址和地址偏移量(×)(P51仅表示地址偏移量)

20、在汇编中,代码开始时的。

MODELTINY代表的不一定是.COM文件,而.COM文件一定是.MODELTINY(√)

21、标号表示存放该指令机器代码的指令存储器首地址,标号的末尾必须用分号(;)同助记符隔开。

(F)

PS:

答案在P423.2的第一点。

应该是冒号(:

),不是分号。

22、有的总线允许写后读和读修改写操作。

地址只提供一次,然后先写后读或者先读后写同一地址单元。

前者适用于对共享数据的保护,后者适用于校验。

(错)

23、汇编语言中的标号类似与高级编程语言的标示符,其中定义标号能以数字0-9开头,不区分字母的大小写。

(F)P38不能以数字开头

 

填空题

26.传送指令包括MOV数据传送指令、地址传送指令、堆栈操作指令、标志寄存器传送指令4种类型。

 (P48)

 

29.直接映像(Direct Mapped)是最简单的一种映像方法。

     (P137)

 

32.一个可以定义一个或多个字节存储单元,典型的变量定义格式包括变量标号、数据类型、初始值3个字段。

       (P38)

11.用8位二进制数来表示1位十进制数,86的压缩型BCD码是10000110B,则它的非压缩型BCD码是0000100000000110BP9

主程序调用子程序的指令是CALL和子程序返回主程序的指定RET是配对的。

P65

 

3.8086系统中,一个逻辑段的最小空间是16个存储单元,最大的空间是64K个存储单元,其段基地址总是16的整数倍 P23

4.DOS功能的调用的功能子程序入口地址都指向DOS操作系统,其中INT21H功能最强,应用最大。

P268

 

6.移位指令包括非循环移位指令与循环指令两大类P59

8.机中的指令由操作码和操作数两部分组成

.

1、在子程序入口处把关寄存器的值入栈保护,程序返回前再恢复它们的值,这两个操作分别称为(保护现场)和(恢复现场)。

答案:

【P96】

2、8086/8088有(  )条地址线,可寻址(  )的存储器空间,基地址范围为(  ),称为物理地址,亦即存储器的实际地址码。

答案:

20条00000H-FFFFFH

6、若SS=095BH,SP=0040H,那么SS:

SP表示的物理地址是095BH+0040H=099BH

【P23】

7、8086cpu的内部结构,从功能上看,由()和()两部分组成。

答案:

执行单元、总线接口单元

【P19】

10、8086中有两个基址寄存器BX,BP两个变址寄存器DI,SI

11、在汇编语言中,伪指令的主要作用是指示汇编语言的编译器合理连接程序的各个部分,而且一般不直接生成CPU执行的机器指令代码。

.p37

13、IA指令体系中数据存放的格式,规定数据的高位字节放在______的地址单元中,数据的低位字节放在______的地址单元中。

p43(较高值,较低值)

在汇编语言中,当操作数为变量时,其默认的数据段地址为_______p44(DS)

执行下列程序段后,AX=()p58(3130H)

MOVAX,0031H

ADDAL,39H

AAA

ADDAX,3030H

MOVTEMP,A

21、在运算器中,参加运算的两个数据中往往有一个来自,另一个来自其他寄存器。

运算结果一般保存在中。

答案:

累加器,累加器——P16

BCD码是一种用二进制码编码的十进制数,运用(4位)位二进制表示一个十进制数码。

(9页)

27、CUP中的运算离不开_地址信息_。

28、段地址在8086cpu的段寄存器中存放。

8086cpu要访问内存时,由段寄存器提供内存单元的段地址。

8086cpu有四个段寄存器,其中cs用来存放指令的段地址。

中断向量表就是用于存放()的表格。

(各类中断源对应的中断服务子程序入口地址)P150

数据寄存器用来存放计算的结果和操作数,也可以存放地址。

33、无论是数据还是字符,由键盘等外设备输入时一般都是ASCⅡ码。

P101

35、在程序设计中,定义变量与常量的语句都是放在数据段中,经编译器编译后变量将在主存储器中生存程序的数据段。

P39

43、中断的是由于发生了某种必须及时处理的事件,使CPU暂停当前程序的执行,而转去处理临时发生的该事件,处理完必后再返回继续执行暂停的原程序。

【CPU暂停】P148

48、将数据赋值给常量标号的伪指令又————前者只能单次定义,而后者能重复定义。

EUP=P41

 

阅读分析程序题

20代码解释:

STACKSEGMRNT堆栈段开始,段名为STACK

DB80HDUP(?

)堆栈缓冲区空间为128字节

STACKENDS堆栈段结束

21.在一个含0字节的数组中寻找第一个为0的字节找到则停止搜索:

MOVCX,LEN数组有LEN个元素

MOVBX,-1设置数组索引指针初值

NEXT:

:

INCBX移到下一个元素

CMPARRAY:

[BX],D判断数组元素是否为0

LOOPNENEXT不为0,重复循环

………

12.程序分析:

ABPROCNEAR

PUSHBP

PUSHDX

MOVBP,SP

MOV……

POPBP

POPDX

在这个子程序中,PUSH,PUSH,POP,POP的作用是:

____.

程序中的错误是:

__.

答案:

保护BP,DX的值,防止操作过程中数据被破坏.

POPDX,POPBP.

13.MOVSI,OFFSETSOURCE①

MOVDI,OFFSETDEST②

CLD

MOVCX,LEN

DEPECMPSW③

默认源地址为:

__

默认目标地址为:

__

____.

答案:

DS:

SI,ES:

DI,两数相等则重复比较直至CX=0.

.MODELSMALL

.586

.STACK80

.DATA

BUFFADW64HDUP(68)

BUFFBDW64HDUP(?

.CODE

BEGINPROC

MOVAX,DATA①

MOVDX,AX②

MOVES,AX

CLD

MOVSI,BUFFA③

MOVDI,OFFSETBUFFB

MOVCX,64H

REPMOVSB

MOVAH,4CH④

BEGINENDP

ENDBEGIN

P79

1,MOVAX,@DATA

2,MOVDS,AX

3.MOVSI,OFFSETBUFFB

4.EXIT

1、阅读程序并完成剩余代码:

P77

DATASEGMENT

LISTADW64HDUP(1234H)①名为LISTA的数组,

100字的源缓冲区,

且每个单元的初始值均为1234.

DATAENDS

CODESEGMENT

ASSUMESS:

STACK,CS:

CODE,DS:

DATA

MAINPROC

MOVAX,DATA

MOVDS,AX②数据段段地址装入DS

MOVSI,OFFSETLISTA③指向源块的首地址

MOVAH,4CH

INT21H

MIANENDP④过程结束

CODEENDS

ENDMAIN

2、在键盘输入一串字符,并在显示器上显示出来

BEGINPROC

MOVAX,@DATA

MOVDS,(AX)

MOVAH,10

MOVDX,(OFFSET)IBUF

INT21H

MOVDL,(0AH)

MOVAH,2

INT21H

MOVBL,IBUF+1

MOVBH,0

MOVIBUF[BF+2],’$’

MOVDX,OFFSETIBUF+2

MOVAH,(09H)

INT21H

P82

3、下面的程序将data段中的8个数据累加,结果存储到b处的字节中。

补全程序(张晓东)

assunecs:

code,es:

data

datasegment

adb1,2,3,4,5,6,7,8

bdw0

dataends

codesegment

start:

movax,data

movds,ax

s:

moval,a[si]

movah,0

addb,ax

inc,si

loops

movah,4ch

int21h

codeends

endstart

4、编写将BL与CL相乘并将积存放在DX中的程序段:

MOVBL,35

MOVCL,11

MOV___,CL

MUL____

MOV____,____

【AL、BL、DX、AX】P55页。

 

八、编写程序:

1、编写一段程序,显示“HELLOWORLD!

P83

2、搜索带符号的字数组中有无32767的元素,并在显示器上显示有无的结果。

P86

MODELSMALL

.DATA

ARRAYDW-500,6000,0,32767,-32700,999

COUNTEQU________________;每个数据占2个单元{($-ARRAY)/2}

FINDB‘Has32767$’

NOFDB‘Hasno32767$’

.CODE

BEGINPROC

MOVAX,@DATA

MOVDS,AX

MOVCX,COUNT

MOV________;抵消后面的+2(BX,-2)

MOVAX,32767

NEXT:

ADDBX,2

CMPAX,ARRAY[BX]

LOOPNENEXT

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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