📄 msneg.asm
字号:
;********************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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -