msneg.asm
来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 29 行
ASM
29 行
;********************MSNEG********************
;本程序实现多字节有符号数求补。
;入口参数:待处理的数据地址在SADR中,字节数在CNT中。
;出口参数:补码表示的结果地址在SADR中,字节数在CNT中.
;占用资源:W,FSR,STATUS,020H,023H,一重堆栈。
;说明: 对一个数求补也即求其相反数的补码.
IFNDEF MSNEG1
#DEFINE MSNEG1
MSNEG MOVF SADR,W
MOVWF FSR
MOVLW 1
COMF INDF,F
ADDWF INDF,F ;第一个字节取反加1
DECF CNT,F
INCF FSR,F
LOOP6 COMF INDF,F ;其它各字节分别取反
BTFSC STATUS,C ;
ADDWF INDF,F ;加进位
INCF FSR,F
DECFSZ CNT,F
GOTO LOOP6
MOVF SADR,W
SUBWF FSR,W
MOVWF CNT
RETLW 0
ENDIF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?