题目

编制一个程序,其功能为:内存中以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

相关标签: 天然气  

提示:未搜索到的试题可在搜索页快速提交,您可在会员中心"提交的题"快速查看答案。
答案
查看答案
相关试题

天然气与液化石油气相比,说法不正确的是()。

A、天然气比液化石油气重,不易散发

B、天然气比液化石油气轻,易散发

C、天然气燃烧产生的污染物多,不利于环保

D、使用天然气不容易发生爆炸

下列各项中,应征收资源税的有()。
A、进口的天然气
B、陆地专门开采天然气
C、煤矿生产的天然气
D、与原油同时开采的天然气
联系我们 会员中心
返回顶部