ASM 板


LINE

看板 ASM  RSS
关於除法指令div的问题 程式目的:将一数除以另一数後将商及余数转成ASCII的数字後输出, 发生一些问题: 1.除数若在13以下显示的结果就会变成divide overflow,但若超过就没有此问题. 2.转成ASCII後完全不是该数字,如20/14後,应是1余6,但转成ASCII输出後,会变成2b, 30/14後,应是2余2,但转成ASCII输出後,会变成字元 < l (L的小写),整个都乱掉 3.若不呼叫 tochar, 则31/14没有输出任何字元.31/17输出3行空白, 35/20输出两颗心号 (ASCII数值为3) 似乎找不到任何规则可debug? 我在怀疑是否有暂存器的数值没清乾净归零,但我用的指令是mov不是add阿? 或者没有初始化暂存器为0?但好像也没效果... 麻烦帮我看看哪里错了,感谢!感谢! 程式码: mov dl,20 mov ax,dx mov cl,14 div cl mov dl,ah ;6 call tochar call show mov dl,al ;1 call tochar call show exit: mov ah,4ch int 21h ;-------------------------- tochar proc near mov bl,48 add dl,bl ret tochar endp show proc near mov ah,2 int 21h ret show endp --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.9.137 ※ 编辑: ppttcc 来自: 114.38.9.137 (11/04 15:22)
1F:推 loveflames:你怎麽转ASCII的 11/04 16:14
2F:推 jason12308:转ascii add 30h啊…… 11/04 20:44
3F:→ ppttcc:我在tochar中加48到dl中转成ASCII 11/04 20:46
4F:推 loveflames:查了一下int 21h,show有覆盖原本al的值 11/04 20:59
5F:推 loveflames:一开始的dh是多少 11/04 21:17
6F:→ ppttcc:我没有设定dh值,是否要作归零的动作? 11/04 21:56
7F:推 loveflames:系统搞不好有给他初值,你会用debug看暂存器吧 11/04 21:58
8F:→ ppttcc:在试的过程中有将ax归零,其他暂存器则没有 11/04 21:58
9F:→ ppttcc:那我用debug r看看好了,刚才试了下,有无将dx清0,确实会有影 11/04 22:09
10F:→ ppttcc:响,现在第一个字元正常了,後一个字元还要修正 11/04 22:10
11F:推 loveflames:後一个字元的错误是因为int 11/04 22:13
12F:→ ppttcc:trace後的结果是如同您说的,的确是int21h搞的鬼.而且SP似乎 11/04 23:22
13F:→ ppttcc:最後回不去原来呼叫前的位址就中断了... 11/04 23:23
14F:→ ppttcc:跳跃似乎不在near的范围? 11/04 23:25
15F:推 loveflames:int是far jump 11/04 23:30
16F:→ ppttcc:比较奇怪的是,我只用了int 21h的输出功能,却呼叫了一堆的函 11/04 23:33
17F:→ ppttcc:式 11/04 23:34
18F:推 loveflames:int有点像call,只是改成跳到ISR的位址 11/04 23:35
19F:推 loveflames:然後ISR再呼叫其他函式 11/04 23:36
20F:→ ppttcc:另一个比较奇怪的地方是,程式似乎没有正常执行完就中断 11/04 23:37
21F:→ ppttcc:因为我没有看到SP有回到最顶端 11/04 23:37
22F:推 loveflames:没执行到iret? 11/04 23:41
23F:→ ppttcc:iret是什麽呢?离开debug前看到的指令是REPZ与一个db指令 11/04 23:54
24F:推 loveflames:iret像副程式的ret,从ISR返回原来程式 11/04 23:56
25F:→ ppttcc:所以我还是定义个变数比较保险... 11/05 00:07
26F:→ loveflames:我想是debug.exe的问题,我用-t也无法返回 11/05 00:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP