首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:在递增的有序字节数组中插入一个正整数,并按指定的数组个数存入内存区中。假设数组元素均为正数。 例如,将02H插入下面的数组中: 01H,03H,04H,05H… 结果为 01H,02H,03H,04H,05H…
请编制程序,其功能是:在递增的有序字节数组中插入一个正整数,并按指定的数组个数存入内存区中。假设数组元素均为正数。 例如,将02H插入下面的数组中: 01H,03H,04H,05H… 结果为 01H,02H,03H,04H,05H…
admin
2010-12-14
109
问题
请编制程序,其功能是:在递增的有序字节数组中插入一个正整数,并按指定的数组个数存入内存区中。假设数组元素均为正数。
例如,将02H插入下面的数组中:
01H,03H,04H,05H…
结果为 01H,02H,03H,04H,05H…
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),考生也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
选项
答案
(1)AL (2)DL (3)SI (4)[BX+SI+1] (5)REP
解析
此程序要实现的功能是:在递增的有序字节数组中插入一个正整数,并按指定的数组个数存入内存区中。
此程序是用直接插入法将关键字插入到一个数组中,插入前数组的长度为9,插入关键字后,数组长度为10。关键要理解:是将关键字和数组的最后一个数开始比较,然后再与倒数第二个、倒数第三个……逐个比较,直到找到了合适的插入位置为止。
程序的数据段中定义了五个字节型变量:变量MIN、原始数据区SOURCE、结果数据区 RESULT、原始数据文件名NAME0、结果数据文件名NAME1。数据段下面是堆栈段,定义了一个256个字节的堆栈区。最后是代码段,告诉汇编程序,代码段、数据段和堆栈段分别属于段寄存器CS、DS、SS。假设要插入的数是X即2。
先将原始数据的偏移地址装入到BX中,SI赋值为N-2即日,将偏移地址BX加上SI,则得到偏移地址BX为8,接着将SI赋值为0,将要插入的数X送AX。
LP段,先将AL即X与数组的最后一个数(第9个数)即BX+SI中的内容做比较,若AL大于等于第9个数,则转向1NS处执行;否则,AL小于最后第9个数,则将第9个数即BX+SI中的内容赋给DL,再将DL存入到数组的最后一个位置即第10个数存放的地址中,它的偏移地址为BX+SI+I,这样数组中原第9个数就存入到了数组的第十个位置了,成为该数组的最后一个数。然后,将SI减1,无条件转向 LP处执行,继续将AL与原数组的倒数第二个数即偏移地址为BX+SI-1内容中的数相比较,比较后,再做不同的处理。从上面的分析来看,第(1)空填写"AL",第(2)空填写"DL",第(3)空填写"SI"。INS段,是当AL大于等于第9个数时,则将AL即要插入的数X存入到数组的第十个位置上。如果 AL不是与第9个数比较,而是与中间的某一个数如第六个数相比,AL大于第六个数,则将要插入的数 AL存放到数组的第七个位置上。其他情况依次类推。所以第(4)空填写"[BX+SI+1]"。接着,用CLD指令将方向标志DF清0,在存储数组中的数据时,实现地址指针自动增量。将原始数据的偏移地址装入到SI中,结果数据存放的偏移地址装入到DI中。CX赋值为N,用于控制存储数组中数据的次数。再用 REP MOVSB指令将SI指定的存储单元中的内容即数组中的10个数据装入到DI指定的内存中。一共操作10次,就将10个数据都存储完毕了。所以第(5)空填写"REP"。
转载请注明原文地址:https://kaotiyun.com/show/JdgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
使用Windows98的PC机,通过对某个文件的修改,可以在开机后将机器直接启动到DOS状态,该文件是
Pentium微处理器中共有几个段寄存器?
Pentium4微处理器可寻址的最大存储空间是
假设保护方式下Pentium微处理器的(DS)=0103H,则下列哪一种类型的段能被访问?
假设Pentium微处理器的段描述符中基地址是00280000H,段的限界是00010H,粒度G=1,则该描述符所寻址的段的结束地址是
为了实现数据终端设备之间的通信,在通信网络中必须设置交换中心,以便为需要通信的数据终端建立通信链路,通信结束后再拆除链路。目前在Intemet网络中使用的交换技术主要是
运算器在执行两个用补码表示的整数加法时,下面判断是否溢出的规则中哪一个是正确的?
加速图形端口AGP是为高性能图形和视频支持而设计的一种专用总线。AGP1×模式的数据传输率为266.6MB/s,AGP2×模式的数据传输率为【】。
Windows98是由多个模块组成的一个功能强大的操作系统,下列哪个模块负责处理键盘和鼠标的输入,并以窗口、图标、菜单和其他界面元素的形式完成输出任务?
IEEE1394接口也称为Firewire(火线)接口,它是一种按【】方式传输数据的接口标准,具有热插拔、速度快、价格适中等特点。
随机试题
“5.12”护士节临近,护理部要在护士节期间举办一次贴近护士临床工作、生活的摄影作品展示活动。心脏外科某护士具有一定摄影基础。该病区护士长告诉该护士,本次病区的摄影工作由她负责,让她调动病区其他护士,全体参与完成该病区的摄影任务,并上交护理部,护士长的授权
A.CMB.VLDLC.LDLD.HDLE.LP(a)与琼脂糖凝胶电泳分离出的α-脂蛋白相对应的脂蛋白是
发生质量事故后,经处理影响使用寿命的是()。
在以字符特征名为代表的域名中,第二级域名的()代表商业组织。
期货会员每天应及时获取期货交易所提供的结算数据,做好核对并妥善保存,数据至少保存()。
下列关于保险要素之间关系的说法,错误的是()。
从业人员需要树立的正确义利观是()。
急性化脓性腹膜炎的常见原因是()。
下列各句中没有语病的一句是()。
Practicallyspeaking,theartisticmaturingofthecinemawasthesingle-handedachievementofDavidW.Griffith(1875-1948).
最新回复
(
0
)