📄 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 + -