问答题
请编制程序,其功能是:内存中连续存放着两个无符号字节序列A
K
和B
K
((K=0,1,……,9),求序列C
K
,C
K
=A
K
-B
K
(C
K
以有符号字的形式按C
0
,C
1
……,C
9
的顺序连续存放)。
例如:
序列A
K
为:30H,FFH,80H,FFH…
序列B
K
为:00H,FFH,FFH,OAH…
结果C
K
为:0030H,000H,FF81H,FFF5H…
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP()
STAC ENDS
DATA SEGMENT
SOURCE DB N*2 DUP()
RESULT DW N DUP(0)
NAME0 DB ’INPUT1.DAT’,0
NAME1 DB ’OUTPUT1.DAT’,0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA DX,SOURCE ; 数据区起始地址
LEA SI,NAME0 ; 原始数据文件名
MOV CX,N*2 ; 字节数
CALL LOAD ; 从"INPUT1.DAT"中读取数据
******** BEGIN ********
MOV DI,OFFSET RESULT ; 结果从RESULT开始存放
MOV BX,0
(1)
PRO: MOV AH,0
MOV AL,SOURCE[BX] ; 序列Ak中的一个字节
SUB AL,
(2)
; Ck=Ak-Bk
(3)
JUMP ; 无借位转JUMP
MOV AH,
(4)
; 有借位转换成有符号字(为负)
JUMP: MOV
(5)
,A
ADD DI,2
INC BX
DEC CX
JNZ PRO
; ******** END ********
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名
MOV CX,N*2 ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
【参考答案】
(A) MOV CX,N (B) SOURCE[BX+N] (C) JNC (D) OFFH (E) [DI]
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
针对“公款吃喝”现象,题目自拟,写一篇文章。字数要求1200字左右。
点击查看答案
单项选择题
A.The same to you.B.Thank you very much.C.You must like playing football.D.In fact we didn’t play very well.
A.The same to you.
B.Thank you very much.
C.You must like playing football.
D.In fact we didn’t play very well.
点击查看答案
相关试题
地理信息系统的简称是GPS。
按信息产生的领域和作用的领域来分类,物流...
按物流系统性质分类,可分为生产物流、供应...
用于采集、模拟、处理、检索、分析和表达地...
人是地理信息系统中重要的构成要素,一个完...