| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1980 人关注过本帖
标题:汇编高手请进
只看楼主 加入收藏
mrcsjie
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-4
收藏
 问题点数:0 回复次数:13 
汇编高手请进
DATA SEGMENT
A DB 12H
B DB 22H
D1 DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,A
ADD AL,B
MOV D1,AL
XS1:AND AL,0F0H
    MOV CL,04
    ROR AL,CL
    ADD AL,30H
    MOV DL,AL
    MOV AH,02
    INT 21H
XS2:MOV AL,D1
    AND AL,0FH
    ADD AL,30H
MOV DL,AL
    MOV AH,02
    INT 21H
    MOV AH,4CH
    INT 21H
CODE ENDS
END START



以上程序求12H+22H没有问题,但是求1234H+9876H 就出现错误,请问各们应该如何修改呀(在原有的基础上),可以的话把可以运行的源程序PO上来,不胜感激,急用啊!!!!
搜索更多相关主题的帖子: 汇编 
2008-10-04 21:30
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
当然会出错了~~
因为你的程序处理的是字节嘛,而现在要处理的数据是字.所以,把它改成能处理字的功能就可以了.
2008-10-04 22:46
mrcsjie
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-4
收藏
得分:0 
关键是要怎么改啊
2008-10-08 13:45
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]mrcsjie[/un] 在 2008-10-8 13:45 的发言:[/bo]

关键是要怎么改啊


比如说在寄存器的使用方面 不能用 al 了

转化成可输出字符时 要搞个循环吧

偶也就说这些了 呵呵

写的话自己动手吧
2008-10-09 12:33
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
A  DW 1234H
B  DW 9876H
D1 DW ?
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,A
ADD AX,B
MOV D1,AX
MOV  AL,AH
CALL XS1
MOV  AX,D1
MOV  AL,AH
CALL XS2
MOV  AX,D1
CALL XS1
MOV  AX,D1
CALL XS2
    MOV AX,4C00H
    INT 21H
XS1:AND AL,0F0H
    MOV CL,04
    ROR AL,CL
    ADD AL,30H
    MOV DL,AL
    MOV AH,02
    INT 21H
    RET
XS2:AND AL,0FH
    ADD AL,30H
    MOV DL,AL
    MOV AH,02
    INT 21H
    RET
CODE ENDS
END START
2008-10-10 15:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]ONEPROBLEM[/un] 在 2008-10-10 15:24 的发言:[/bo]

ASSUME CS:CODE,DS:DATA
DATA SEGMENT
A  DW 1234H
B  DW 9876H
D1 DW ?
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,A
ADD AX,B
MOV D1,AX
MOV  AL,AH
CALL XS1
MOV  AX,D1
MOV   ...


真负责呀
2008-10-10 15:30
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]zklhp[/un] 在 2008-10-10 15:30 的发言:[/bo]



真负责呀

没办法,初学的朋友往往更加需要帮助~~想当年偶@$%$$#$%%$^^&%
2008-10-10 18:34
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
[bo][un]ONEPROBLEM[/un] 在 2008-10-10 18:34 的发言:[/bo]


没办法,初学的朋友往往更加需要帮助~~想当年偶@$%$$#$%%$^^&%


偶没编译器不敢给别人写 怕写错了 呵呵
2008-10-10 18:56
mrcsjie
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-4
收藏
得分:0 
回复 5# ONEPROBLEM 的帖子
怎么结果是::::
应该是AAAA吧
2008-10-15 16:16
ONEPROBLEM
Rank: 6Rank: 6
来 自:广西 南宁
等 级:贵宾
威 望:21
帖 子:1569
专家分:349
注 册:2008-7-11
收藏
得分:0 
[bo][un]mrcsjie[/un] 在 2008-10-15 16:16 的发言:[/bo]

怎么结果是::::
应该是AAAA吧

你查一下ASCII码吧:
30H + 0AH = 3AH (它就是" : ")
而A字母的十六进制值是41H ~~
2008-10-15 17:29
快速回复:汇编高手请进
数据加载中...
 
   



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

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