51单片机汇编的溢出标志位OV和进位标志位CY

时间:2020-12-18 01:21:18

ORG 0000H

MOV A,  #1
MOV R0,#126
ADD A, R0

NOP
END

A R0 A结果 CY A(s) R0(s) A结果(s) OV
1 126 127 0 1 126 127 0
1 127 128 0 1 127 -128 1
1 128 129 0 1 -128 -127 0
1 254 255 0 1 -2 -1 0
1 255 0 1 1 -1 0 0
5 255 4 1 5 -1 4 0
176 176 96 1 -80 -80 96 1
126 1 127 0 126 1 127 0
127 1 128 0 127 1 -128 1
128 1 129 0 -128 1 -127 0
254 1 255 0 -2 1 -1 0
255 1 0 1 -1 1 0 0
255 5 4 1 -1 5 4 0

说明:(s)表示是符号数

总结几点

一、无符号数转换为符号数
1 <2^7 结果=原数
2 >=2^7 结果=原数-2^8

二、无符号数大于2^8 
结果=原数-2^8
CY=1

三、有符号数超出(-2^7)~(2^7-1)范围
1 >2^7-1 结果=原数-2^8
2 <-2^7 结果=原数+2^8
OV=1

 

个人的一点见解,如有错误欢迎指正