2013-01-25 50 views
1

我有這個非常簡單的彙編代碼:裝配,檢測溢出的寄存器

start: 
add ax, 100  
; if ax overflow add to bx 1 
jmp start 

,但我不知道如何檢測AX寄存器溢出,誰能幫助我?

回答

7

ADD指令將適當FLAGS反映了溢出條件。有兩種溢出:有符號和無符號。你必須決定什麼是合適的,並且使用jc/jnc作爲未簽名的,使用jo/jno作爲已簽名的。

add ax, 100 
jnc noUnsignedOverflow 
... 
noUnsignedOverflow: 

add ax, 100 
jno noSignedOverflow 
... 
noSignedOverflow: