首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编制一个程序,其功能为:内存中以8位无符号数形式连续存放着10个数据,这数据来自于一个自动抄表系统记录的10个用户某月天然气的使用量(立方米),天然气费计算公式如下(其中,X表示天然气用量,Y表示应交天然气费): a)Y=X×80 X≤6
编制一个程序,其功能为:内存中以8位无符号数形式连续存放着10个数据,这数据来自于一个自动抄表系统记录的10个用户某月天然气的使用量(立方米),天然气费计算公式如下(其中,X表示天然气用量,Y表示应交天然气费): a)Y=X×80 X≤6
admin
2010-09-01
71
问题
编制一个程序,其功能为:内存中以8位无符号数形式连续存放着10个数据,这数据来自于一个自动抄表系统记录的10个用户某月天然气的使用量(立方米),天然气费计算公式如下(其中,X表示天然气用量,Y表示应交天然气费):
a)Y=X×80 X≤6
b)Y=X×120 6<X≤10
c)Y=X×160 X>10
计算每个用户需要交的天然气费,结果用字表示,并将结果存入指定单元。
例如:
用天然气量:05H,07H,12H……
天然气费: 0190H,0348H,0780H……
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放, 由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DW N DUP(0)
A DB 80
B DB 120
C DB 160
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DSEG ENDS
SSEG SECMENT STACK
DB 256 DUP(?)
SSEG 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 *********
LEA SI,SOURCE
LEA DI,RESULT
CLD
MOV CX,N
AGAIN: MOV AL,[SI]
CMP AL,6
JA (1)
(2)
JMP NEXT
LIMIT6:CMP AL,10
JA (3)
(4)
JMP NEXT
LIMIT10: (5)
NEXT: MOV [DI],AX
INC SI
ADD DI,2
LOOP AGAIN
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
选项
答案
(1)LIMIT6 (2)MUL A (3)LMIT10 (4)MUL B (5)MUL C
解析
本题一个分段函数的问题,根据数据大小的不同,再采用不同的计算方法求出结果。其中所需要的一些常量在数据段中已经进行了定义,在程序中直接使用即可。但由于对每个数据进行处理的算法是相同的,因此用一个循环即可实现对所有数据的处理。另外,由于要分成不同的情况进行计算,所以循环中采用的是分支程序来实现。
进入循环以后,将数据取入AL中,并将其与6进行比较,如果大于6的话就需要进行跳转,否则将执行下面的操作。由于小于6时天然气费计算的方法是乘以80,因此第二个空白处应该填的内容是MUL A。第一个空白处应填跳转到哪条语句继续执行,有两个选择LMIT6或LIMIT10,但由于当数据大于6的时候,还有一个上限10需要比较,因此跳转的方向应该是和10进行比较的语句,从程序中可以知道应该是LIMIT6。第三个和第四个空白是数据和10进行比较后所需要的处理,大于10的时候跳转,小于10的时候继续执行。前面已经与6进行过比较,大于6的数才执行到这里,而数据又小于10,因此此时的天然气费计算方法是乘以120,即第四个空白处应填MUlB。由于大于10的时候天然气费的计算方法为乘以160,因此最后一个空白处的语句是MUL C。
转载请注明原文地址:https://kaotiyun.com/show/MTgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
数据是信息系统中至关重要的内容,一般对数据文件的维护包括()。
测试是为了发现程序中的错误而______程序的过程。
数据字典是对数据定义信息的集合,它所定义的对象都包含于
预定义技术的主要通信工具是定义报告。报告形式有多种,下列哪一种可以表明外部实体、过程和文件之间的数据流动?()
软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段。下列()是软件测试的任务。Ⅰ.预防软件发生错误Ⅱ.发现改正程序错误Ⅲ.提供诊断错误信息
若关系R、S、T如下图所示,则是执行了哪种操作才得到T的?
BSP方法的产品/服务的过程定义步骤分成四步,下列中哪一步是对过程的总体描述
BSP是由IBM公司研制的,它主要是用于指导企业信息系统的
为使信息系统能适应组织机构和管理体制的改变,BSP方法采用了______。A)企业过程的概念B)模块化实施方式C)子系统规划方法D)数据类规划方法
假设某硬盘存储器由单碟组成,每个盘面有2000个磁道,每个磁盘有1000个扇区,每个扇区的容量为512字节,则该磁盘的存储容量大约为
随机试题
关于瞳孔的检查应包括
下列哪个说法是正确的
A.麦门冬汤B.炙甘草汤C.桑杏汤D.养阴清肺汤E.杏苏散治疗虚热肺痿宜首选
影响胃排空速度的因素是()
A.清宁丸B.加味保和丸C.槟榔四消丸D.麻仁滋脾丸E.九制大黄丸患者,女,67岁,大便秘结,面色无华,头晕目眩,口干,舌淡苔少,脉细涩,辩证为津亏肠燥,治宜选用的中成药是()。
某企业12月30日购入一台不需安装的设备,已交付生产使用。该设备原价60000元,预计可使用5年,预计净残值2000元,如按年数总和法计算提取折旧,则第3午的折旧额为( )元。
[2018年第42题]甲:读书最重要的目的是增长知识,开拓视野。乙:你只见其一,不见其二。读书最重要的是陶冶性情、提升境界。没有陶冶性情、提升境界,就不能达到读书的真正目的。以下哪项与上述反驳方式最为相似?
下列关于Linux操作系统的描述中,错误的是()。
anxietyreactions
Mostlibrariesrequireyoutoregisterbeforeyouareallowedtoborrowanyoftheirmaterials.Thismeansyouwillprobablybe
最新回复
(
0
)