鱼C论坛

 找回密码
 立即注册
查看: 2027|回复: 1

stosb的用法

[复制链接]
发表于 2012-9-22 11:53:19 | 显示全部楼层 |阅读模式
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


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2015-8-20 16:21:50 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表