汇编语言程序设计试题及答案合集Word文件下载.doc

上传人:wj 文档编号:1243725 上传时间:2023-04-30 格式:DOC 页数:11 大小:48.50KB
下载 相关 举报
汇编语言程序设计试题及答案合集Word文件下载.doc_第1页
第1页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第2页
第2页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第3页
第3页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第4页
第4页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第5页
第5页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第6页
第6页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第7页
第7页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第8页
第8页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第9页
第9页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第10页
第10页 / 共11页
汇编语言程序设计试题及答案合集Word文件下载.doc_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编语言程序设计试题及答案合集Word文件下载.doc

《汇编语言程序设计试题及答案合集Word文件下载.doc》由会员分享,可在线阅读,更多相关《汇编语言程序设计试题及答案合集Word文件下载.doc(11页珍藏版)》请在冰点文库上搜索。

汇编语言程序设计试题及答案合集Word文件下载.doc

AND D:

XOR

8.下列指令中段默认为堆栈段的是(C)

A.MOVAX,[BX+SI+10] B.ADDAX,ES:

[SI]

C.SUB[BX],[BP][DI] D.MOVDX,[1000H]

9.关于8086/8088微机系列,下列说法哪个是正确的(D)

一个存储单元由16个二进制位组成,简称字。

当存储一个字数据时,低字节放高地址位,高字节放低地址位。

在内存空间中,可以无限分配段,且段的大小不受限制。

段与段之间可以邻接,也可以重叠。

10.下列关于堆栈的说法,错误的是(D)

以“先入后出”为原则。

栈区最高地址单元的前一个单元为栈底。

运行中SP寄存器动态跟踪栈顶位置。

压栈和弹出都是以字节为单位。

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

A.ENDPB.ENDS C.ENDD.ENDM

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

COUNTEQU$-BUF1

符号COUNT等价的值是(B)

A.6B.18 C.16 D.9

13.下列标志位中,可以用来判断计算结果正负的是(B)

PF B:

SF C:

DF D:

OF

14.下列指令正确的是(CD)

A.MOV[100H],[BX] B.MOVDS,ES

C.ADDV[BX],CX D.MOVAX,34H

15.下列哪个寄存器是属于指针寄存器(C)

SI B:

DX C:

SP D:

ES

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

1.下列程序段求数组FLD的平均值,结果在AL中。

请将程序填写完整(不考虑溢出)

FLDDW10,-20,30,-60,-71,80,79,56

_LEASI,FLD______

MOVCX,8

XORAX,AX

R1:

__ADDAX,[SI]_____

ADDSI,2

LOOPR1

MOVCL,8

IDIVCL

HLT

2.MOVAX,1090H

SUBAX,4AE0H

JCL1

JOL2

JMPL3

上述程序执行后AX=___C5B0____,程序转向_____L1__

3.假设寄存器AX=1234H,DX=0A000H

MOVBX,0

MOVCX,BX

SUBCX,AX

SBBBX,DX

MOVAX,CX

MOVDX,BX

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

4.MOV AX,234H

MOV CL,3

ROL AX,CL

DEC AX

MOV CX,4

MUL CX

此段程序执行完后,(AX)=___467CH____,(CX)=_____4__

5.DA1 

DB83H,72H,61H,94H,5AH

 

MOVCX,WORDPTR[DA1]

ANDCX,0FH

MOVAL,[DA1+3]

SHLAL,CL

上述指令序列执行后,AL=___0A0H____,CL=___03H____。

三、简答题(每小题4分,共20分)

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

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

MOV 

AX,TABLE

AX,OFFSET 

TABLE

2.对于下面的数据定义

TAB1 

DW 

10 

DUP(?

TAB2 

DB 

TAB3 

‘1234’

AX,SIZE 

TAB1

BL,SIZE 

TAB2

CL,SIZE 

TAB3

三个寄存器中值分别为多少?

4.已知某个人计算机0000:

0080~0000:

00B0区域的内容如下:

0000:

0080 CC A1 C8 00 80 89 A8 98 65 43 35 23 12 45 C4 00

0090A4 78 98 56 90 00 00 78 49 03 28 B7 B8 9C A2 B8

00A0 CC A1 C3 00 80 89 A8 98 65 43 35 23 12 45 C4 00

00B0 2A 1B C8 04 00 33 11 23 DC 41 54 BB 90 45 33 01

试求执行软中断指令INT23H时,系统将转移到哪里进入中断服务程序。

5.试计算逻辑地址4017:

000A,4015:

0002A和4010:

0007A对应的物理地址。

这三个物理地址说明了什么问题?

四、编程题(每小题30分,共30分)

1.试编制一程序,统计DT_W字数组中正数、负数和0的个数,并分别保存在C1,C2和C3变量中。

一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

1.逻辑地址:

逻辑地址由两个16位的地址分量构成,其中一个为段基值,另一个为偏移量,两个分量均为无符号数编码。

物理地址=段基值×

16+偏移量

2.物理地址:

CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。

3.标志寄存器:

标志寄存器(FlagRegister)又称程序状态字(ProgramStatusWord),是8086/088中唯一按位操作的寄存器,该寄存器为16位,有效的标志位共9位。

其中,CF,PF,AF,ZF,SF,OF为状态标志,用于反映最近一次影响标志位的算术或逻辑运算中运算过程、运算结果的一些性质;

TF,IF,DF为控制标志,用于控制CPU对某些特定事件的处理方式以及CPU的工作模式。

4.存储器寻址方式:

发生在指令的执行周期,需要在执行周期内单独启动总线操作来完成。

比寄存器寻址、立即数寻址速度都慢。

5.补码:

计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。

二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?

解:

二进制为01100100B,十六进制为64H。

2.假设(DS)=0B00H,(BX)=0210H,对于指令MOVDS:

120H[BX],AL,其目的操作数的物理地址为多少?

EA=(BX)+0120H=0330H,物理地址=(DS)*16+EA=B330H

3.假设(BX)=0210H,(DI)=0060H,对于指令ADDDL,[BX][DI],其源操作数的偏移量为多少?

偏移量=(BX)+(DI)=0270H

4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?

(SP)=0060H–5*2=0060H-000AH=0056H

5.对于一个十进制数–65,其二进制补码表示形式为多少?

先求二进制真值-01000001,变反加一补码为10111111

三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。

1.PUSH5588H 错误,操作数不能用立即数;

2.MOVDS,1720H 错误,MOV指令不能对段寄存器直接传送立即数;

3.ADDAX,CL 错误,寄存器长度不匹配;

4.ANDAX,[DX] 错误,DX不用于存储器寻址。

四.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。

(寄存器中的内容请使用十六进制形式给出)

1.阅读如下程序片段

MOVAL,4CH

MOVBL,0B5H

ADDAL,BL

执行上述程序片段后,(AL)=01H(1分),(BL)=0B5H(1分),

CF=1(1分),OF=0(1分),PF=0(1分)

2.阅读如下程序片段

MOVAL,0F3H

MOVDL,0C4H

ADDAL,DL

ANDAL,0FH

执行上述程序片段后,(AL)=07H(1分),(AF)=不确定(1分),

CF=0(1分),OF=0(1分),PF=0(1分)

3.阅读如下程序片段

MOVAL,7EH

MOVCL,04H

ROLAL,CL

执行上述程序片段后,(AL)=0F9H(2分),(CL)=04H(1分),

CF=1(1分),OF=无意义(1分)

4.阅读如下程序片段

MOVAX,0632H

MOVBX,0C202H

SUBAX,BX

INCAX

执行上述程序片段后,(AX)=4431H(2分),(CF)=1(2分),

OF=0(1分)

5.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H

MOVBX,0024H

LEABX,[BX]

ORBX,0

ADCBX,[BX]

执行上述程序片段后,(BX)=287AH(3分),(CF)=0(2分),

6.阅读如下程序片段,假设(SP)=0064H

MOVAX,0001H

MOVBX,0002H

PUSHAX

PUSHBX

POPAX

POPBX

执行上述程序片段后,(AX)=0002H(2分),(BX)=0001H(2分),

(SP)=0064H(1分)

五.程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)

1.试编写一程序片段,实现BL高4位与低4位相互交换(7分)

MOVCL,4;

ROLBL,CL

2.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/2的功能(AX中的数据理解为补码)(8分)

MOV BX,AX

MOV CX,2

SALAX,CX

ADDAX,BX

ADDAX,14

SAR AX,1

六.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

6.寄存器:

计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。

7.物理地址:

8.段基值:

逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。

9.寻址方式:

指令获取操作数的方式。

10.补码:

七.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

6.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?

答案:

二进制为01100100B,十六进制为64H

7.假设(DS)=0C00H,(BX)=0210H,对于指令MOVDS:

100H[BX],AL,其目的操作数的物理地址为多少?

EA=(BX)+0100H=0310H,物理地址=(DS)*16+EA=0C000H+0310H=0C310H

8.假设(BX)=0100H,(SI)=0020H,对于指令ADDDL,[BX][SI],其源操作数的偏移量为多少?

EA=(BX)+(SI)+0=0120H

9.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?

每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H–5*2=0060H-000AH=0056H

10.对于一个十进制数–80,其二进制补码表示形式为多少?

首先求得二进制真值为–01010000B,负数补码为变反加1的结果,即10110000B

八.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。

5.MOVCS,0600H

参考答案:

错误,不能使用MOV指令传递立即数给CS

6.PUSH074CH

错误,单操作数指令不能使用立即数

7.ADDAX,CL

错误,寄存器长度不匹配

8.ORBX,[CX]

错误,CX不能用于存储器寻址

九.程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。

7.阅读如下程序片段

MOVBL,86H

执行上述程序片段后,(AL)=0D2H(1分),(BL)=86H(1分),

CF=0(1分),OF=0(1分),PF=1(1分)

8.阅读如下程序片段

执行上述程序片段后,(AL)=07H(1分),(AF)=不确定(1分),

CF=0(1分),OF=0(1分),PF=0(1分)

注意:

逻辑运算指令中,除NOT指令外,CF、OF均置0,AF为不确定

9.阅读如下程序片段

MOVAL,6FH

执行上述程序片段后,(AL)=0F6H(2分),(CL)=04H(1分),

CF=0(1分),OF=不确定(1分)

移位指令中,当指令的移位次数大于1时,OF为不确定

10.阅读如下程序片段

SUBAL,BL

SBBAH,BH

执行上述程序片段后,(AX)=4431H(2分),(CF)=1(2分),

OF=0(1分)

INC指令不影响CF标志位

11.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H

ANDBX,0FFH

执行上述程序片段后,(BX)=287AH(3分),(CF)=0(2分),

12.阅读如下程序片段,假设(SP)=0064H

执行上述程序片段后,(AX)=0002H(2分),(BX)=0001H(2分),

(SP)=0064H(1分)

十.程序设计题(本大题共3小题,每小题5分,共15分)(注:

不是唯一答案)

3.试编写一程序片段,实现BL高4位与低4位相互交换(5分)

参考解答:

MOVCL,4

ROLBL,CL

4.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/2的功能(AX中的数据理解为补码)(5分)

MOVBX,AX

MOVCL,2

SALAX,CL

ADDAX,BX

ADDAX,14

SARAX,1

5.试编写一完整程序,实现88242567H与0A435C218H两个32位无符号数相加的功能。

(要求编写完整源程序,含程序框架)(5分)

DATASEGMENT

VAR1DD88242567H

VAR2DD0A435C218H

VAR3DD?

DATAENDS

STACK1SEGMENTSTACK

DW40HDUP(0)

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

BEGIN:

MOVAX,DATA

MOVDS,AX

MOVAX,VAR1

ADDAX,VAR2

MOVVAR3,AX

MOVAX,VAR1+2

ADCAX,VAR2+2

MOVVAR3+2,AX

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

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

当前位置:首页 > 工程科技 > 能源化工

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

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