?? scobcdadd.asm
字號:
;********************SCOBCDADD********************
;本程序實現單字節壓縮BCD碼加法。
;入口參數:被加數在SOU中,加數在RLT中。
;出口參數:結果在SOU中,進位位在STATUS:C中。
;占用資源:W,STATUS,024H,026H,028H,一重堆棧。
IFNDEF SCOBCDADD1
#DEFINE SCOBCDADD1
SCOBCDADD CLRF TEMP1 ;結果高位清零
MOVF RLT,W
ADDWF SOU,F ;二進制加法
RLF TEMP1,F
BTFSC STATUS,DC ;DC = 0 ?
GOTO ADJUST ;調整LSD
MOVLW 6
ADDWF SOU,F ;通過加6檢測是否 LSD > 9
BTFSC STATUS,C
INCF TEMP1,F
BTFSS STATUS,DC ;檢查半進位
SUBWF SOU,F ; LSD < 9 ,恢復原值
GOTO OVER1
ADJUST MOVLW 6
ADDWF SOU,F
OVER1 MOVLW 60 ;MSD加6
ADDWF SOU,F
BTFSC STATUS,C
RETLW 0
BTFSS TEMP1,0
SUBWF SOU,F
RRF TEMP1,F
RETLW 0
ENDIF
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -