在进行有符号数运算的时候,如果结果超出了机器所能表示的范围称为溢出
- OF记录有符号数操作执行指令后
- 有溢出,OF = 1,OV/Overflow
- 无溢出,OF = 0,NV/Not Overflow
assume cs:codesg
codesg segment
start: mov AL,98
ADD AL,99
ADD AL,0F0H
ADD AL,88H
mov ax,4c00h
int 21h
codesg ends
end start
- 不能以字母开头
- 98D + 99D = 197D超出127D溢出
- F0H = -16D
- 最高位是1代表负数
- -16D + (-120D) = -136D超出-128D有溢出
CF和OF的区别
- CF对无符号数运算有意义的进/借位标志位
CF进位标志CARRY FLAG - OF对有符号数运算有意义的溢出标志位
assume cs:codesg
codesg segment
start: MOV AL,0F0H
ADD AL,88H
mov ax,4c00h
int 21h
codesg ends
end start