首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。 例如: 内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H) 结果为: 2345H,3456H,564
编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。 例如: 内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H) 结果为: 2345H,3456H,564
admin
2010-09-01
71
问题
编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。
例如:
内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H)
结果为: 2345H,3456H,5643H,…(后面跟7个字,按照从小到大的顺序排列)。
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUTDAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EOU 10
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
DSEG SEGMENT
SOURCE DW N DUP (?)
RESULT DW N DUP (0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N*2
CALL LOAD
; ******** BEGIN ********
MOV SI,OFFSET SOURCE
MOV DI, (1)
MOV CX,N
AGAIN0: MOV AX,[SI]
MOV [DI],AX
ADD SI,2
ADD DI,2
LOOP AGAIN0
CLD
MOV BX,N-1
AGAIN1: MOV SI,OFFSET RESULT
MOV CX,BX
AGAIN2: LODSW
CMP [SI], (2)
JAE NEXT
(3)
MOV [SI-2],AX
NEXT: LOOP (4)
DEC BX
JNZ (5)
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
选项
答案
(1)OFFSET RESULT (2)AX (3)XCHG [SI],AX (4)AGAIN2 (5)AGAIN1
解析
从整个程序可以看出,程序所采用的方法是先将从SOURCE开始的内存单元的内容送到从RESULT开始的内存单元中,然后对从RESULT内存单元开始的数据进行排序。程序第一个循环的作用是完成数据传送,由此可以判断传送到DI中的应该是RESm。丁存储单元的偏移地址,即第一个空白处应填OFFSET RESULT。当数据全部传送到从RESULT开始的单元以后,便对其进行从小到大的排序。在排序的过程中,使用的是取字符串指令LODSW,所以比较的数应该在AX寄存器中,即第二个空应填AX。接下来的程序实现的是比较功能,程序采用的是逐项比较的算法,当后面的元素大于前面的元素时,直接进行下一次循环,而当后面的元素较小的话,就需要和前面的元素进行交换,因此需要填写的指令是XCHG[SI],AX。当程序执行完一次排序以后,最大的数已经在最后面,因此下一次只需要对前N-1个数进行比较,并且循环应该从第一个数据开始,所以后两个空应该分别填AGAIN2和AGAIN1。
转载请注明原文地址:https://kaotiyun.com/show/eTgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
软件生命周期法非常强调用户参与的重要性,在整个软件生命周期中,用户的参与主要体现在()。
数据字典是对数据定义信息的集合,它所定义的对象都包含于
若要求查找姓名中第一个字为,王,的学生号和姓名。下面列出的SQL语句中()是正确的。Ⅰ.SELECTS#,SNAMEFROMSWHERESNAME=’王%’Ⅱ.SELECTS#,SNAMEFROMSWHERE
结构化分析(SA)是软件开发需求分析阶段所使用的方法,()不是SA所使用的工具。
数据库管理系统通过数据定义语言(DDL)定义数据的模式、外模式和内模式,存放于()。
管理信息系统的特点是()。
软件开发可行性研究,一般涉及经济、技术、操作和法律可行性,而进行可行性研究的基本依据则是用户提出的软件()。
办公信息系统是计算机和相关办公设备在【】环境下的一类面向办公应用的计算机信息系统。
设有一学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,NL表示年龄,DP表示系部。查询学生关系S在学生姓名和所在系这两个属性上的投影操作的关系运算式是_______。
在Windows98环境下,Win32应用程序的4GB的地址空间可以划分为四个部分。其中,私有地址空间范围是
随机试题
系统对单位斜坡函数输入R(s)=的稳态误差称为【】
挑战者在向目标市场出击时应遵循()
抑制子宫平滑肌自发性收缩,降低其肌张力动态观察血浓度,可作为检查胎盘功能指标的是
A.先天性发绀型心脏病B.心绞痛C.胆道蛔虫症D.急性腹膜炎E.一侧胸腔大量积液
空置面积按空置时间的长短可划分为()。
根据企业所得税法的规定,按纳税年度准备、保存,并按税务机关要求提供其关联交易的同期资料,具体同期资料包括()。
下列民事纠纷中,适用1年特别诉讼时效的是()。
某污水处理厂有甲乙两个完全一样的大型污水处理池,甲池需要8小时把水全部排完,乙池需要6小时把水全部排完。两池同时排水,问经过多少小时乙池剩余的水正好是甲池剩余的一半?()
前期罗马帝国时期,关于罗马东方行省的传统手工业产品的叙述,不正确的是()。
CultureAsaBarriertoCommunicationOurculturewillpreventusgettingourmessageacrossandreceivingthefullmessageinte
最新回复
(
0
)