| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:大家帮忙看看这个程序有什么问题,为什么就是和我预想的结果不一样,我想给 ...
只看楼主 加入收藏
筱镜尘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-17
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
大家帮忙看看这个程序有什么问题,为什么就是和我预想的结果不一样,我想给12345+67890算出来显示在屏幕上,但现在竟然是一堆乱码,我不知道哪里出问题了
DATA    SEGMENT
        A   DB    '12345+67890=?????$'
        B   DB    5 DUP(?)
DATA    ENDS

CODE    SEGMENT
    ASSUME  CS:CODE,DS:DATA

START:
     MOV  AX,DATA
     MOV  DS,AX
     MOV  DX,OFFSET A
     
     MOV  SI,4
     MOV  CX,5
COUNT:
     MOV  AL,[SI]
     ADC  AL,[SI+6]
     SUB  AL,30H
     MOV  B[SI],AL
     DEC  SI
     LOOP COUNT

     MOV  CX,5
     MOV  SI,0
DISP:
     MOV   AL,[B+SI]
     ADD   AL,30H
     MOV   DL,AL
     INC   SI
     LOOP   DISP
     
     MOV  AH,09H
     INT  21H

     MOV  AH,4CH
     INT  21H

CODE   ENDS
       END  START
搜索更多相关主题的帖子: 乱码 屏幕 预想 结果 
2010-12-14 12:55
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:8 
DATA    SEGMENT
        A   DB    '12345+67890=?????$'
        B   DB    5 DUP(?)
DATA    ENDS

CODE    SEGMENT
    ASSUME  CS:CODE,DS:DATA

START:
     MOV  AX,DATA
     MOV  DS,AX
     MOV  DX,OFFSET A
     
     MOV  SI,4
     MOV  CX,5
COUNT:
     MOV  AL,[SI]
     ADC  AL,[SI+6]
     SUB  AL,60H
     MOV  B[SI],AL
     DEC  SI
     LOOP COUNT

     MOV  CX,5
     MOV  SI,0
     MOV  DI,12
DISP:
     MOV   AL,[B+SI]
     CMP   AL,09H
     JBE   DECM
     ADD   AL,07H
DECM:
     ADD   AL,30H
     MOV   [A+DI],AL
     INC   SI
     INC   DI
     LOOP   DISP
     
     MOV  AH,09H
     INT  21H

     MOV  AH,4CH
     INT  21H

CODE   ENDS
       END  START
好象你写的我不是太理解,我只能猜测你写的意思,我就给你改了一下,你先看看吧.

技术问题,请不要以短消息方式提问
2010-12-14 14:51
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:12 
程序代码:
DATA    SEGMENT
        A   DB    '12345+67890=?????$'
        B   DB    5 DUP(?),'$'
        flag db 0
DATA    ENDS

CODE    SEGMENT
    ASSUME  CS:CODE,DS:DATA

START:
     MOV  AX,DATA
     MOV  DS,AX
     MOV  DX,OFFSET A
     MOV  AH,09H
     INT  21H
    

     MOV  SI,4
     MOV  CX,5
COUNT:
     MOV  AL,a[SI]
     sub al,30h
     mov bl,a[SI+6]
     sub bl,30h
     add al,bl
     add al,flag
     cmp al,0ah
     mov flag,0
     jb lod
     mov flag,1
     sub al,0ah
lod:
     MOV  B[SI],AL
     DEC  SI
     LOOP COUNT

     MOV  CX,5
     MOV  SI,0
      mov  ah,2
DISP:
     MOV   AL,[B+SI]
     ADD   AL,30H
     MOV   DL,AL
    int 21h
     INC   SI
     LOOP   DISP
    


     MOV  AH,4CH
     INT  21H

CODE   ENDS
       END  START 

2010-12-14 15:13
筱镜尘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-17
收藏
得分:0 
回复 2楼 zaixuexi
谢了,有些我不是很明白,运行的时候没有错,但是最后出来的结果跟那两个数相加的结果不一样啊
2010-12-14 18:45
筱镜尘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-17
收藏
得分:0 
回复 3楼 xiaomarn
谢了,结果是对了,但是最后的格式有点小问题。呵呵。还是感谢
2010-12-14 18:53
筱镜尘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-17
收藏
得分:0 
楼上回帖的谢了,我根据你们写的,再结合自己的实际状况改了一下,现在做出来了,你们的帖子我留着借鉴经验吧!
2010-12-14 19:58
筱镜尘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2010-11-17
收藏
得分:0 
DATA    SEGMENT
        A   DB    '12345+67890=?????$'
        B   DB    5 DUP(?)
DATA    ENDS

CODE    SEGMENT
    ASSUME  CS:CODE,DS:DATA

START:
     MOV  AX,DATA
     MOV  DS,AX
     MOV  DX,OFFSET A
     
     MOV  SI,4
     MOV  CX,5
COUNT:
     MOV  AL,[SI]
     ADC  AL,[SI+6]
     AAA
     MOV  B[SI],AL
     DEC  SI
     LOOP COUNT

     MOV  CX,5
     MOV  SI,0
     MOV  DI,12
DISP:
     MOV   AL,[B+SI]
     ADD   AL,30H
     MOV   [A+DI],AL
     INC   SI
     INC   DI
     LOOP   DISP
     
     MOV  AH,09H
     INT  21H

     MOV  AH,4CH
     INT  21H

CODE   ENDS
       END  START
我觉得这个最简单了。。。
2010-12-14 19:58
快速回复:大家帮忙看看这个程序有什么问题,为什么就是和我预想的结果不一样,我 ...
数据加载中...
 
   



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

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