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