标题: 求8位有符号二进制整数补码_51单片机汇编语言子程序 [打印本页]

作者: Kxuan163    时间: 2020-12-26 00:14
标题: 求8位有符号二进制整数补码_51单片机汇编语言子程序
本帖最后由 Kxuan163 于 2020-12-26 00:39 编辑

8位有符号二进制整数原码,最高位D7是符号位(0表示正数,1表示负数),
其余低7位是数值位,正数的补码与原码相同,负数的补码将原码尾数取反加1得到。
51汇编语言子程序如下:
;;入口:8位有符号二进制整数原码存于R2,
;;返回:求得补码仍存于R2。
CMPT:     MOV   A,  R2              ;A←原码
                RLC   A                      ;C←原码的符号位
                JNC    Positive            ;若符号位为零,是正数,直接返回
Negative: MOV   A,  R2              ;A←原码
                 CPL   A                     ;取反
                 INC   A                     ;加1
                 ORL   A,#10000000B      ;恢复符号位
                 MOV   R2,A                    ;R2←结果
Positive:   NOP
                 RET







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1