请编制程序,其功能为:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先按序存放参加运算的20个字节。 例如; 内存中有:01H,02H,03H …… 结果为:01H,02H,03H …… (参加运算的字节),后跟

admin2009-02-15  22

问题 请编制程序,其功能为:内存中连续存放着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

解析
转载请注明原文地址:https://kaotiyun.com/show/n8rZ777K
0

最新回复(0)