| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 542 人关注过本帖
标题:请看下这个汇编程序怎了了
取消只看楼主 加入收藏
jy1075518049
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-11-13
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:2 
请看下这个汇编程序怎了了
程序代码:
DATAS SEGMENT
     SHU DB -122,23,54,68,78,98;此处输入数据段代码 
     N EQU $-SHU
DATAS ENDS

STACKS SEGMENT
    DW 256 DUP(?)
    TOP LABEL WORD;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
XIANSHI PROC
    CMP BL,9
    JBE    XIAO
    ADD BL,7
XIAO:
    ADD BL,30H;一定注意是30H
    MOV DL,BL;显示出BL中的字符
    MOV AH,2
    INT 21H
    RET
    XIANSHI ENDP;子程序结束

START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AX,STACKS
    MOV SS,AX
    LEA SP,TOP
        ;此处输入代码段代码
    LEA DI,SHU
    MOV CX,N   
REPET:
    PUSH CX
    MOV AL,[DI]
    PUSH AX;先把AX暂存一下,下面INT 21会破坏
    AND AL,AL
    JNS ZHENG
    MOV DL,'-';负数,先把符号显示出来
    MOV AH,02H   
    INT 21H
    POP AX
    NEG AL
ZHENG:
    CMP AL,99
    JBE LIANG
    CBW;三位数,先把百位显示出来,假设128
    MOV BH,100
    DIV BH;百位是商1
    MOV BL,AL;商放入BL
    PUSH AX;暂存余数
    CALL XIANSHI
    POP AX;余数出来
    MOV AL,AH;AH保存是余数28
    CBW
    MOV BH,10
    DIV BH
    MOV BL,AL;商是2十位
    PUSH AX
    CALL XIANSHI
    POP AX
    MOV BL,AH;余数8是个位
    CALL XIANSHI
    MOV DL,','
    MOV AH,2
    INT 21H;显示","
    JMP XIA
LIANG:;两位数
    CBW
    MOV BL,10
    DIV BL
    MOV BL,AL;商——十位
    MOV CL,AH;余数——个位
    CALL XIANSHI;显示十位
    MOV BL,CL
    CALL XIANSHI;显示个位
    ;到此一个数显示完毕
    MOV DL,','
    MOV AH,2
    INT 21H;显示","
   
XIA:
    INC DI
    POP CX
    LOOP REPET; 去掉这一句就一切正常?请问怎么回事

           
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START









我想要把定义的数字都显示出来,但是在循环处有问题,请高手帮忙看看,多谢!
怎么没有人回复呀

[ 本帖最后由 jy1075518049 于 2012-11-14 15:11 编辑 ]
2012-11-13 21:15
jy1075518049
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-11-13
收藏
得分:0 
回复 5楼 有容就大
楼主你真强啊,可是我不明白为什么用push和pop就有问题呢?
2012-11-16 09:42
jy1075518049
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-11-13
收藏
得分:0 
回复 4楼 hu9jj
你没明白什么意思....
2012-11-16 11:28
快速回复:请看下这个汇编程序怎了了
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015077 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved