!!!# 发表于 2012-9-22 11:53:19

stosb的用法


                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,
                ADD                CL,AL
                adc ch,0
                STOSB   ;*****************************stosb在此处**********************************************
                ADD                SI,10
                INC                DX
                cmp dx,i
                JBE                LPI
                MOV                ,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


阔怀 发表于 2015-8-20 16:21:50

看看
页: [1]
查看完整版本: stosb的用法