?? calc.inc
字號:
;*************************************************************************
;實用的8051單片機運算類程序
;適用于Keil C51編譯器
;*************************************************************************
;*************************************************************************
;宏定義:XRLCB
;功能:CY與位變量_b異或,結果保存在CY中
;*************************************************************************
XRLCB MACRO _b
LOCAL next
JNB _b, next
CPL C
next:
ENDM
;*************************************************************************
;宏定義:XRLBB
;功能:兩個位變量異或,結果保存在CY中
;*************************************************************************
XRLBB MACRO b1, b2
LOCAL next
MOV C, b2
JNB b1, next
CPL C
next:
ENDM
;*************************************************************************
;宏定義:ADD_W
;功能:兩個16位數相加
;參數:(xh,xl) = (xh,xl) + (yh,yl)
;*************************************************************************
ADD_W MACRO xh,xl, yh,yl
MOV A, xl
ADD A, yl
MOV xl, A
MOV A, xh
ADDC A, yh
MOV xh, A
ENDM
;*************************************************************************
;宏定義:ADDC_W
;功能:兩個16位數帶進位相加
;參數:(xh,xl) = (xh,xl) + (yh,yl) + C
;*************************************************************************
ADDC_W MACRO xh,xl, yh,yl
MOV A, xl
ADDC A, yl
MOV xl, A
MOV A, xh
ADDC A, yh
MOV xh, A
ENDM
;*************************************************************************
;宏定義:INC_W
;功能:16位數自增1
;參數:(xh,xl) = (xh,xl) + 1
;*************************************************************************
INC_W MACRO xh, xl
LOCAL next
INC xl
MOV A, xl
JNZ next
INC xh
next:
ENDM
;*************************************************************************
;宏定義:SUB_W
;功能:兩個16位數相減
;參數:(xh,xl) = (xh,xl) - (yh,yl)
;*************************************************************************
SUB_W MACRO xh,xl, yh,yl
MOV A, xl
CLR C
SUBB A, yl
MOV xl, A
MOV A, xh
SUBB A, yh
MOV xh, A
ENDM
;*************************************************************************
;宏定義:SUBB_W
;功能:兩個16位數帶借位相減
;參數:(xh,xl) = (xh,xl) - (yh,yl) - C
;*************************************************************************
SUBB_W MACRO xh,xl, yh,yl
MOV A, xl
SUBB A, yl
MOV xl, A
MOV A, xh
SUBB A, yh
MOV xh, A
ENDM
;*************************************************************************
;宏定義:DEC_W
;功能:16位數自減1
;參數:(xh,xl) = (xh,xl) - 1
;*************************************************************************
DEC_W MACRO xh, xl
LOCAL next
MOV A, xl
JNZ next
DEC xh
next:
DEC xl
ENDM
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -