首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。 例如: 内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH) 结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从
编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。 例如: 内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH) 结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从
admin
2010-12-14
75
问题
编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。
例如:
内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH)
结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从大到小的顺序排列)。
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
DSEG SEGMENT
SOURCE DB N DUP (?)
RESULT DB 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
CALL LOAD
;******** BEGIN ********
MOV SI,OFFSET SOURCE
MOV DI,OFFSET RESULT
MOV CX,N
AGAIN0: MOV AX, [SI]
MOV [DI],AX
ADD SI, (1)
(2)
LOOP AGAIN0
CLD
MOV BX,N-1
AGAIN1: MOV SI,OFFSET RESULT
MOV CX,BX
AGAIN2: LODSB
CMP [SI],AX
(3)
XCHG [SI],AX
(4)
NEXT: LOOP AGAIN2
(5)
JNZ AGAIN1
;******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
选项
答案
(1)1 (2)ADD DI,1 (3)JBE NEXT (4)MOV[SI-1],AX (5)DEC BX
解析
本题是一道降序排列题,程序首先是将以SOURCE开始的内存单元中的数据传送到RESULT中,利用循环AGAIN0实现。在循环中,需要不断地改变指针,但由于题中的变量为字节型,因此指针的改变为1,即第一个空白处应填1。指向SOURCE的指针增加1的时候,指向RESULT的指针也应该增加1,所以第二个空白处应填ADD DI,1。
接下来的程序便是对数据进行从大到小排列,CLD使指针向着增加的方向移动。在对两个数据进行比较后,因为要求从大到小排列,所以小的数据要往后移,若后面的数据较小,则不需要交换,直接进行下一次比较,所以第三个空白处应填JBE NEXT。若后面的数据大,则在进行数据交换以后需要将大的数据装入前面的存储单元,因此第四个空白处应填MOV[SI-1],AX。每一轮比较后,参加比较的数据的较小者都被放到了最后,这样只需要N-1轮比较就可以得到正确的排序。排序轮次的控制由BX寄存器来实现,因此最后一个空白处应填DEC BX。
转载请注明原文地址:https://kaotiyun.com/show/1dgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
下面程序的功能是利用逻辑尺对BUF变量中的数据进行变换,执行该程序后,以RESULT为首地址的前2个字节单元中的数据,依次为【】。DSEG SEGMENTBUF DB 1,5,4,0,7,9,2,6L EQU
在Windows98环境下,Win32应用程序的4GB的地址空间可以划分为四个部分。其中,私有地址空间范围是
PC机中CPU执行MOV指令从存储器读取数据时,数据搜索的顺序是
Pentium微处理器进行存储器读操作时,在时钟周期T1期间,完成下列哪一项操作?
计算机中使用的图像压缩编码方法有多种,JPEG是一种适用范围广、能满足多种应用需求的国际标准。在允许有失真但又不易被察觉的要求下,JPEG一般能将图像数据压缩多少倍?
输入设备用于向计算机输入命令、数据、文本、声音、图像和视频等信息,其中命令信息是用户向计算机发出的操作请求。下面是一组PC机常用的输入设备: ①笔输入设备②键盘③鼠标④触摸屏 以上输入设备中,哪些可用来输入用户命令信息?
下面关于8256A可编程中断控制器的叙述中,错误的是
为了实现异构计算机网络的互连,国际标准化组织制定了一个开放系统互连参考模型(OSI/RM)的国际标准。该标准将网络的通信功能划分为上【】个层次。
ADSL是一种非对称传输模式的Internet接入技术,它利用【】线进行数据传输,其数据上传速度比下传速度慢。
随机试题
为求得在利益与需求上达成平衡的一种谈判战略是()
木的特性为水的特性为
对前来门诊的病人护士首先应该进行
干式自动灭火系统的工作原理?
简述幼儿遗尿症的表现、原因和预防。
恩格斯说:“恰巧某个伟大人物在一定时期出现于某一国家,这当然纯粹是一种偶然现象。但是,如果我们把这个人去掉,那时就会需要有另一个人来代替他,并且这个代替者是会出现的,不论好一些或差一些,但是最终总是会出现的。”这说明()。
阅读以下说明。[说明]某公司需开发一套电子商务系统,为保证开发进度和开发质量,专门组建测试小组对开发的全过程进行测试。电子商务系统的报表处理模块要求用户输入处理报表的日期,日期限制在2003年1月至2006年12月,如日期不在此范围内,则
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好表对象“tQuota”和“tStock”,试按以下要求完成设计:创建一个查询,查找库存数量高于30000(包含30000)的产品,并显示“产品名称”“规格”“库存数量”和“最高储备
ThechildrentheCouncilranbusesforinthepastwerethose______.Thenewbusservicewillrun______.
A、AtacigarettestoreB、AtabusstationC、AtagasstationD、AtAuntMary’sC
最新回复
(
0
)