|
1鱼币
EXTRN LOAD:FAR,SAVE:FAR
N EQU 30
I EQU 3
J EQU 10
DSEG SEGMENT
SOURCE DB N DUP(?)
SRC DW SOURCE
RESULT DB (N+2*J)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, SS:SSEG, DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***;***********************************************************************上面的掠过
LEA SI,SOURCE
LEA DI,RESULT
MOV BX,1 ; 第一列
LPJ: MOV CX,0 ; 累加和
MOV DX,1 ; 第一行
LPI: MOV AL,[SI]
ADD CL,AL
adc ch,0
STOSB ;*****************************stosb在此处**********************************************
ADD SI,10
INC DX
cmp dx,i
JBE LPI
MOV [DI],CX
add di,2 ;此处为存放一个字的空间,但是不是已经在stosb处di加了1了吗?此处不是只需inc di就可以了吗?
INC SRC ; 下一列
MOV SI,SRC
inc bx
CMP BX,J
JBE lpj
; *** END **********************************************下面的掠过******************************************
LEA DX,RESULT
LEA SI,NAME1
MOV CX,(N+2*J)
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
|
|