51单片机汇编16位算术问题

51单片机用C进行算术计算很简单,在汇编里如何区别分有符号还是无符号数?是不是只有作者才知道?16位数(整型)如何加减乘除?

在汇编中区别有符号与无符号看最高位,加入一个八位数那就看第八位为1就代表负数 为0代表正数, CF是进位标志可以利用CF看是否有进位,SF为符号位 当SF为1是代表负数 0时代表正数
刚看到你问楼上的两个 16位数相加用什么指令 是用ADD 这个语句这是不带进位的加, 带进位的加用ADC 系统会自动加上一个CF=1
假如解决了你的问题希望你能支持下我的答案 ,谢谢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-18
只能用8位的计算方法,先低8位后高8位...进行方步计算!
第2个回答  2011-07-16
寄存器是16位的,2个16位数加减乘除,是否溢出,进位,有个标识字的,通过检测那个追问

寄存器不是8位的吗?我知道DPTR是16位的。具体两个16位数相加是用什么指令呢?

相似回答