我有一个div的小问题,我需要一些帮助,这个问题,我有一个应用程序在TASM,我必须找到3的倍数在一系列数字,问题是当我做一个div程序冻结,我不知道为什么。我离开这里的代码,如果有人可以给我一只手,感谢问题在TASM的div
的代码是在这里:http://pastebin.com/5tw50WJR
日Thnx任何帮助我能
我有一个div的小问题,我需要一些帮助,这个问题,我有一个应用程序在TASM,我必须找到3的倍数在一系列数字,问题是当我做一个div程序冻结,我不知道为什么。我离开这里的代码,如果有人可以给我一只手,感谢问题在TASM的div
的代码是在这里:http://pastebin.com/5tw50WJR
日Thnx任何帮助我能
div bl
被划分ax
但你只负载al
。据推测ah
有剩余价值,所以div
溢出。尝试使用movzx ax, cont
加载ax
。
另外,学习使用调试器与指令集引用结合使用。
当股利是8位时,商将存储在AL
。因此,您需要确保商数符合8位,否则您的程序将崩溃。
您可以通过在分割前清除AH
寄存器来实现此目的,例如,使用以下方法之一。
CBW ; only if AL is unsigned (00h..7Fh)
; or..
MOV AH,0
; or..
XOR AH,AH
感谢所有的答案,我看到一些改进感谢您的意见 – 2013-04-29 22:35:54