我有这个非常简单的汇编代码:
start:
add ax, 100
; if ax overflow add to bx 1
jmp start
但我不知道如何检测ax寄存器溢出,有人可以帮助我吗?
答案 0 :(得分:7)
ADD
指令设置适当的FLAGS
反映溢出条件。溢出有两种:有符号和无符号。您必须确定哪些是合适的,并使用jc/jnc
表示未签名,jo/jno
表示签名。
add ax, 100
jnc noUnsignedOverflow
...
noUnsignedOverflow:
add ax, 100
jno noSignedOverflow
...
noSignedOverflow:
答案 1 :(得分:4)
使用jo
(如果溢出则跳转)或jno
(如果没有溢出则跳转)