请编制程序,其功能为:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先
请编制程序,其功能为:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先按序存放参加运算的20个字节。
例如;
内存中有:01H,02H,03H ……
结果为:01H,02H,03H …… (参加运算的字节),后跟一个字(为前面各字节的和)
部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。
部分程序如下:
;PROG1.ASM
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
DSEG SEGMENT
SOURCE DW N DUP (?)
RESULT DW N DUP (0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DSEG ENDS
SSEG SEGMENT 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
MOV CX,N
MOV BX,0
NEXT: MOV AL,[SI]
____________
____________
MOV [DI],______
____________
____________
LOOP NEXT
MOV [DI],______
; *** END ***
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N+2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
; *** BEGIN *** LEA SI, SOURCE LEA DI, RESULT MOV CX,N MOV BX, 0 NEXT: MOV AL, [SI] ADD BL, AL ; 将 SOURCE 原始数据区中相应的数累加。 ; BL ADC BH, 0 ; 将上一条加法指令中产生的进位加入至和 ; 值的高8位BH 中 MOV [DI],AL ; 将 SOURCE 原始数据区中的数存入 ; RESULT 相应单元 INC SI INC DI LOOP NEXT ; (CX)-1, 若 (CX)≠0,则转移NEXT MOV [DI],BX ; 因最后依次循环中 DI 已加1,故BX将紧 ; 跟在这20个数之后存入 ; *** END *** [INPUT1.DAT 中的输入数据]: FFH,8OH,7FH,FOH, 14H,84H,25H,7EH,3 CH,45H, FFH,80H,O1H,O2H,22H,FCH,E3H,A3H,12H,01H [输出结果] FF 80 7F F0 14 84 25 7E 3C 45 FF 80 01 02 22 FC 113 A3 12 01 E3 08
某电视台连续播放5个广告,其中3个不同的商业广告和2个不同的奥运宣传广告,要求最后播放的必须是奥运 其他 2020-05-13 …
请编制程序,其功能为:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先 计算机类考试 2020-05-23 …
请编制程序,其功能是:内存中连续存放着10个十六位二进制数。分别对每个数的高位字节和低位字节进 计算机类考试 2020-05-23 …
电视台连续播放5个广告(其中有3个不同的公益广告和2上商业广告),现要求2个商业广告不能连续播放, 其他 2020-06-17 …
单片机高手!4.现有10个数据(每个数据为一个字节),存放在从片内地址30H开始的连续单元里,编写 其他 2020-06-24 …
某班43名同学围成一圈.由班长起从1开始连续报数,谁报到100,谁就表演一个节目;然后再由这个同学 数学 2020-07-08 …
矩阵A中,每个元素长度3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存 数学 2020-07-19 …
北京奥运会期间,电视台连续播放5个广告,其中3个不同的商业广告和2个不同的奥运宣传广告,若要求最后播 其他 2020-11-06 …
某班43名同学围成一圈.由班长起从1开始连续报数,谁报到100,谁就表演一个节目;然后再由这个同学起 数学 2020-12-31 …
某班43名同学围成一圈.由班长起从1开始连续报数,谁报到100,谁就表演一个节目;然后再由这个同学起 其他 2020-12-31 …