今天写一个汇编小程序,花了半天功夫的调试,debug也用过,最后也没找出原因。在qq好友的帮助下,终于得以解决,原来是在调用int 21h中断是写成了int 21,调用了int 15h的中断,结果运行也正常,但提示divide overflow 的错误。改成int 21h后,就正确了。
写汇编程序写习惯了,如int 1,int 2,int 9,一般都没加过h,结果在关键问题上出乱子了。我总结了一下:
1)写汇编时时16进制的一定加h, 是2進制的一定加b,不能因为加不加都一样。
2)在用debug命令高试时,一定用心看没一个寄存器的变化,包括所调用的中断命令,是不是与代码中的一样。