當前位置:編程學習大全網 - 網站源碼 - 下面的程序為什麽會發生除法溢出錯誤?

下面的程序為什麽會發生除法溢出錯誤?

CPU 執行除法指令時,是有可能溢出的。

特別是除數為零時,必然會出現:Divide? overflow。

此外,當被除數的高位,大於等於除數時,也會發生“溢出”。

執行 DIV? BH 指令後,商是存放在 AL 中,不能超出 8 位數。

但是,妳的商是 1000H,超出了 8 位,這就壹定會溢出。

所以,執行 DIV 指令之前,應該加以判斷。

較好的方法是:編寫壹個“不會溢出”的除法程序。

方法思路如下:

在右圖中,

被除數是:1A2B3C4DH,有 32 位數。

除數是:BL,僅有 8 位數。

商,是:32 位數。

按照圖中的步驟,只要 BL 不為零,就絕對不會發生溢出。

  • 上一篇:公司使用Git還是SVN Git管理代碼全是命令
  • 下一篇:windows10(64位)-autocad2016(64位)-Batchplot.vlx不能運行
  • copyright 2024編程學習大全網