首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的和,并找出和的最大值,和的最大值存放在结果的最后一个字单元,和为字数据。 例如: 内存中有:20H,04H,58H,34H,35H,4DH……, 则结果为
编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的和,并找出和的最大值,和的最大值存放在结果的最后一个字单元,和为字数据。 例如: 内存中有:20H,04H,58H,34H,35H,4DH……, 则结果为
admin
2010-09-01
88
问题
编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的和,并找出和的最大值,和的最大值存放在结果的最后一个字单元,和为字数据。
例如:
内存中有:20H,04H,58H,34H,35H,4DH……,
则结果为:0024H,008CH,0082H……
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要—条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
TRN OAD:FAR,SAVE:FAR
N EQU 10
SSEG SEGMENT TACK
B 256 DUP (?)
SSEG NDS
DSEG EGMENT
SOURCE DB N*2 DUP (?)
RESULT DW N+1 DUP (0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DSEG DS
CSEG EGMENT
SSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
USH S
OR AX,AX
USH X
OV AX,DSEG
OV DS,AX
EA DX,SOURCE
EA SI,NAME0
OV CX,N*2
ALL GAD
; ******** BEGIN ********
EA SI, SOURCE
EA DI,RESULT
OV CX,N
AGAIN0: (1)
OV AL,[SI]
DD AL,[SI+1]
DC AH,0
OV [DI],AX
DD SI, (2)
(3)
OOP GAIN0
OV BX,N-1
OV SI,OFFSET RESULT
OV AX,[SI]
AGAIN1: ADD SI, 2
MP AX,[SI]
(4)
OV AX,[SI]
NEXT: DEC BX
NZ AGAIN1
(5)
; ******** END ********
EA DX,RESULT
EA SI,NAME1
OV CX,N+1
ALL AVE
ET
START ENDP
CSEG ENDS
END START
选项
答案
(1) MOV AX,0 (2) 2(3) ADD DI,2 (4) JAE NEXT (5) MOV[SI+2],AX
解析
从程序的整体结构可以看出程序首先进行的是求和运算,并将结果存入从RESULT开始的存储单元中。求和结束以后,再求RESULT中数据的最大值。
第一个循环AGAIN0用来对SOURCE中相邻的数据求和,并存入RESULT中。为了使上一次的相加结果不影响后面的运算,需要在每一次进入循环的时候将AX寄存器清零,因此第一个空白处应该填写的内容为MOV AX,0(或XOR AX,AX或 SUB AX,AX)。本程序的加法运算过程中,指针的变化要特别注意。由于是对相邻两个数据进行求和,所以尽管SOURCE中的数据是字节类型,但由于一次操作需要使用两个数据,所以SI指针的变化每次应该是2,也就是说一次加法使用两个数据以后,下一次要从第三个数据开始,所以第二个空白处应填2。指向RESULT的指针也要变化,由于RESULT是字类型,因此指针的变化也应该是2,所以第三个空白处应该是DI增加2,即ADD DI,2。
寻找最大值采用的算法是逐个比较法,即将存储单元中的第一个数取到AX寄存器中,然后逐个与存储单元的内容进行比较,如果AX寄存器中的数据大,则进行下一次比较,否则将存储单元中的内容传送到AX中,这样在比较结束时,AX中的内容便是这一组数中的最大值。在程序中,首先将用米控制循环次数的内容送到BX寄存器中,然后将存储单元的偏移地址送到寄存器SI中。将第一个数据取入AX寄存器后,便开始比较,显然第四个空白处应该填写的内容是一个跳转语句,从下面 MOV AX,[SI]可以知道跳转的条件应该是AX中的数据大于[SI]中的数据,所以应使用JAE指令。由于需要修改指针并且判断比较是否结束,因此应该跳转到NEXT处,即第四个空白处的程序是JAE NEXT。最后一个语句实现的是将最大值存入RESULT的最后一个存储单元,由于在比较时,SI已经指到了RESULT中的最后一个数据,所以只需要将指针SI再加2就指向了RESULT的最后一个存储单元,即第五个空应填的内容为MOV [SI+2],AX。
转载请注明原文地址:https://kaotiyun.com/show/lTgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
主题数据库是一类重要的数据环境,以下是关于数据环境特点的描述:Ⅰ.简单、容易实现Ⅱ.具有较低的维护成本Ⅲ.提高了应用开发效率Ⅳ.与应用项目对应Ⅴ.独立于应用项目其中属于主题数据库优点的是()。
J.Martin指出,企业模型应具有三个特性,在下面列出的特性中,______不属于企业模型的特性。
衡量信息系统成效的第一标准应该是系统______。
企业模型应该满足三个特性。其中,模型应提供组成企业的各个职能范围,各种业务活动过程,各种活动的完整的图表,指的是企业模型必须满足
软件开发中的各种流程图有多种表示方法和形式,其中在国家标准GB8566-88关于软件开发流程图中,方框表示
数据库管理系统的英文缩写是()。
分布式数据的形式多样化,下列哪些形式有同步设计的问题?I.子集数据Ⅱ.复制数据Ⅲ.划分数据Ⅳ.独立模式数据V.重组数据
办公信息系统是计算机和相关办公设备在【】环境下的一类面向办公应用的计算机信息系统。
下面2题是基于以下的说明:设有供应商关系S和零件关系P如图所示。它们的主码分别是“供应商号”和“零件号”。而且,零件关系P的属性“供应商号”是它的外码,属性“颜色”只能取值为(红,白,蓝)。(这里假定DBMS不支持级联修改功能)供应商关系S:
Windows98的注册表中存储了系统的所有配置数据,用户可以通过"注册表编辑器"查看或编辑注册表中的信息。如果要启动"注册表编辑器",用户必须在"运行"对话框中输入并执行命令【】。
随机试题
简述劳动保护用品种类及要求。
A.胃镜检查及胃黏膜活组织检查B.X线钡剂造影检查C.幽门螺杆菌检查D.胃液分析E.CT检查确诊小肝癌的首选检查方法是
A.超声心动图检查B.X线心脏三位相检查C.漂浮导管检查D.心室及冠状动脉造影检查E.心电图运动负荷试验检查以上对诊断冠心病最有价值的是
某化工厂内新建办公试验楼集中空调通风系统安装工程,如图6一Ⅱ一1所示。(1)该工程分部分项工程量清单项目的统一编码如表6一Ⅱ一1所示。(2)管理费、利润分别按人工费的55%、45%计。(3)该工程部分分部分
建设单位领取了施工许可证后因故不能按期开工的,应当向发证机关申请延期,延期以()为限。
发行境内上市外资股只需要聘请中国境内的法律顾问就可以。()
某超市为增值税小规模纳税人,2009年10月零售粮食、食用植物油、各种蔬菜和水果取得零售收入50000元,销售其他商品取得零售收入240000元;为某厂商提供有偿的市场调查服务,取得收入20000元,对上述业务税务处理正确的是()。
一批手机,商店按期望获得100%的利润来定价,结果只销售掉70%。为了尽早销售掉剩下的手机,商店决定打折出售,为了获得的全部利润是原来期望利润的91%,则商店所打的折是()。
下列标准中用于100Mbps快速以太网的标准是______。
对于只有两种取值的字段,最好使用哪种数据类型()。
最新回复
(
0
)