2013-04-27 51 views
0

我有一個div的小問題,我需要一些幫助,這個問題,我有一個應用程序在TASM,我必須找到3的倍數在一系列數字,問題是當我做一個div程序凍結,我不知道爲什麼。我離開這裏的代碼,如果有人可以給我一隻手,感謝問題在TASM的div

的代碼是在這裏:http://pastebin.com/5tw50WJR

日Thnx任何幫助我能

回答

0

div bl被劃分ax但你只負載al。據推測ah有剩餘價值,所以div溢出。嘗試使用movzx ax, cont加載ax

另外,學習使用調試器與指令集引用結合使用。

0

當股利是8位時,商將存儲在AL。因此,您需要確保商數符合8位,否則您的程序將崩潰。

您可以通過在分割前清除AH寄存器來實現此目的,例如,使用以下方法之一。

CBW ; only if AL is unsigned (00h..7Fh) 

; or.. 

MOV AH,0 

; or.. 

XOR AH,AH 
+0

感謝所有的答案,我看到一些改進感謝您的意見 – 2013-04-29 22:35:54