2013-04-27 20 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