| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖, 1 人收藏
标题:求BUF里各个字符的个数,哪错了,求助!!!
只看楼主 加入收藏
qifeifei
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2010-3-8
结帖率:100%
收藏(1)
已结贴  问题点数:5 回复次数:2 
求BUF里各个字符的个数,哪错了,求助!!!
DSEG SEGMENT
BUF DB 'ABCDEAAAAAAAAAAAA$'
COUNT DB 26 DUP(0)
DSEG ENDS
SSEG SEGMENT STACK
STK DB 100 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEG
START:MOV AX,DSEG
      MOV DS,AX
      MOV SI,OFFSET BUF
      
L1:      CMP BYTE PTR[SI],'$'
      JZ L2
      MOV BL,[SI]
      SUB BL,'A'
      MOV BH,0
      INC COUNT[BX]
      INC SI
      JMP L1  
L2:      CALL PRINT
    HLT

HEXASC PROC NEAR
    PUSH AX
    PUSH CX
    MOV AL,[DI]
    AND AL,0F0H
    MOV CL,4
    SHR AL,CL
    CMP AL,9
    JBE L5
    ADD AL,7
L5: ADD AL,30
    MOV BH,AL
    MOV AL,[DI]
    AND AL,0FH
    CMP AL,9
    JBE L6
    ADD AL,7
L6: ADD AL,30
    MOV BL,AL
    POP AX
    POP CX
RET
HEXASC ENDP


PRINT PROC NEAR
    MOV DI,OFFSET COUNT
    MOV CX,26
L3: CMP BYTE PTR[DI],0
    JZ L4
    MOV DX,26
    SUB DX,CX
    ADD DX,'A'
    MOV AH,2
    INT 21H
   
   
    CALL HEXASC
    MOV AH,2
    MOV DL,BH
    INT 21H
    MOV AH,2
    MOV DL,BL
    INT 21H       ;输出个数
   
    MOV AH,2
    MOV DL,0AH
    INT 21H
    MOV AH,2
    MOV DL,0DH
    INT 21H
   
L4:    INC DI
    LOOP L3
RET
PRINT ENDP
      CSEG ENDS
END START
搜索更多相关主题的帖子: 字符 BUF 
2010-05-10 23:08
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:5 
自己能写出这么长的程序,在我看来:已经有相当的水平了.
建议LZ用DEBUG跟踪一下,错误在什么地方就能找出来了.
2010-05-10 23:38
qifeifei
Rank: 1
等 级:新手上路
帖 子:7
专家分:7
注 册:2010-3-8
收藏
得分:0 
回复 2楼 ONEPROBLEM
其实我也是刚学汇编的,学的也不怎么样,希望以后多向你们学习学习。
2010-05-12 12:44
快速回复:求BUF里各个字符的个数,哪错了,求助!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050915 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved