?? 雙字節十六進制加法子程序.txt
字號:
LIST p=16f877
INCLUDE p16f877.inc
ACCALO EQU 20 ;存放加數或減數低8位
ACCAHI EQU 21 ;存放加數或減數高8位
FULL EQU 22 ;22.0存放進位
ACCBLO EQU 23 ;存放被加數或被減數低8位
ACCBHI EQU 24 ;存放被加數或被減數高8位
;影響字節 STATUS W 在0體運算
ORG 0X0000
START GOTO MAIN
MAIN MOVLW 0X01 ;被加數666EH送ACCB
MOVWF ACCBLO
MOVLW 0XFF
MOVWF ACCBHI
MOVLW 0X0FF ;加數BB8H送ACCA
MOVWF ACCALO
MOVLW 0XFF
MOVWF ACCAHI
CALL D_add ;調用雙字節加法子程序,求和
goto $
;***雙字節加法子程序,入口地址ACCB+ACCA,出口地址ACCB***
D_add MOVF ACCALO,0 ;ACCB和ACCA低半字節相加
ADDWF ACCBLO
BTFSC STATUS,C ;有進位否?
goto $+6 ;有,
MOVF ACCAHI,0 ;ACCA、ACCB高半字節相加
ADDWF ACCBHI
BTFSC STATUS,C
BSF FULL,0
RETURN ;子程序返回
MOVFW ACCBHI ;ACCB高字節加1,再加ACCAHI
ADDLW 1h
BTFSC STATUS,C ;有進位否?
BSF FULL,0
MOVWF ACCBHI
GOTO $-D'10'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -