📄 asm
字号:
mov fuwh5,c
l6wh_dif: mov c, acc.6
jnb difuwh6,l7wh_dif
mov fuwh6,c
l7wh_dif: mov c, acc.7 ;;
jnb difuwh7,DifNew00
mov fuwh7,c
DifNew00: mov a,difwhIn0
mov difwhTmp0,a
;---------------------------------------------------
difW8_15: mov difwhOut1,#0 ;wh
mov a,DifwhIn1
xrl a,difwhTmp1
l8wh_dif: mov c,acc.0
jnb difuwh8,l9wh_dif
mov fuwh8,c
l9wh_dif: mov c, acc.1
jnb difuwh9,l10wh_dif
mov fuwh9,c
l10wh_dif: mov c, acc.2
jnb difuwh10,l11wh_dif
mov fuwh10,c
l11wh_dif: mov c, acc.3
jnb difuwh11,l12wh_dif
mov fuwh11,c
l12wh_dif: mov c, acc.4
jb difdwh12,l13wh_dif
mov fdwh12,c
l13wh_dif: mov c, acc.5
jnb difuCntW1,l14wh_dif
mov fuCntW1,c
l14wh_dif: mov c, acc.6
jnb difuCntW0,l15wh_dif
mov fuCntW0,c
l15wh_dif: mov c, acc.7 ;;
jnb difu_SFTClk,DifNew000
mov fu_SFTClk,c
DifNew000: mov a,difwhIn1
mov difwhTmp1,a
;-------------------------------------------------
DIF1_7: mov difPrgOut0,#0
mov a,DifPrgIn0
xrl a,difPrgTmp0
l0_dif: mov c,acc.0
jnb difu0,l1_dif
mov fu0,c
l1_dif: mov c, acc.1
jnb difu1,l2_dif
mov fu1,c
l2_dif: mov c, acc.2
jnb difu2,l3_dif
mov fu2,c
l3_dif: mov c, acc.3
jnb difu3,l4_dif
mov fu3,c
l4_dif: mov c, acc.4
jnb difu4,l5_dif
mov fu4,c
l5_dif: mov c, acc.5
jnb difu5,l6_dif
mov fu5,c
l6_dif: mov c, acc.6
jnb difu6,l7_dif
mov fu6,c
l7_dif: mov c, acc.7 ;;
jnb difu7,DifNew0
mov fu7,c
DifNew0: mov a,difPrgIn0
mov difPrgTmp0,a
;-------------------------------------------------
DIF8_15: mov difPrgOut1,#0
mov a,DifPrgIn1
xrl a,difPrgTmp1
l8_dif: mov c,acc.0
jb difd8,l9_dif
mov fd8,c
l9_dif: mov c, acc.1
jb difd9,l10_dif
mov fd9,c
l10_dif: mov c, acc.2
jb difd10,l11_dif
mov fd10,c
l11_dif: mov c, acc.3
jb difd11,l12_dif
mov fd11,c
l12_dif: mov c, acc.4
jnb difuCnt0,l13_dif
mov FuCnt0,c
l13_dif: mov c, acc.5
jnb difuCnt1,l14_dif
mov fuCnt1,c
l14_dif: mov c, acc.6
jnb difuCnt2,l15_dif
mov FuCnt2,c
l15_dif: mov c, acc.7 ;;
jb difdCnt3,DifNew1
mov FdCnt3,c
DifNew1: mov a,difPrgIn1
mov difPrgTmp1,a
ret
;-------------------------------------------------------------------------------------
SFT: jnb FU_SFTClk,SFT_ret
mov c,SFT_D
mov a,SFT_Reg0
rlc a
mov SFT_Reg0,a
mov a,SFT_Reg1
rlc a
mov SFT_Reg1,a
mov SFT_BitOV,c
SFT_ret: ret
;-------------------------------------------------------------------------------------
TimeCnterRefresh:
mov c,Time1Out
anl c,Time1Str
mov Time1Out,c
mov c,Time2Out
anl c,Time2Str
mov Time2Out,c
mov c,Time3Out
anl c,Time3Str
mov Time3Out,c
mov c,Time4Out
anl c,Time4Str
mov Time4Out,c
mov c,Time5Out
anl c,Time5Str
mov Time5Out,c
mov c,Time6Out
anl c,Time6Str
mov Time6Out,c
mov c,Time7Out
anl c,Time7Str
mov Time7Out,c
mov c,Time8Out
anl c,Time8Str
mov Time8Out,c
;--------------------------------------------------
mov c,Cnter0Out
anl c,Cnter0Str
mov Cnter0Out,c
mov c,Cnter1Out
anl c,Cnter1Str
mov Cnter1Out,c
mov c,Cnter2Out
anl c,Cnter2Str
mov Cnter2Out,c
mov c,Cnter3Out
anl c,Cnter3Str
mov Cnter3Out,c
mov c,CnterW0Out ;WH
anl c,CnterW0Str
mov CnterW0Out,c
mov c,CnterW1Out
anl c,CnterW1Str
mov CnterW1Out,c
ret
;-------------------------------------------------------------------------------------
CnterInt: jb Cnter0Out,Cnter1Int
mov c,Cnter0Str
anl c,FuCnt0
jnc Cnter1Int
djnz Cnter0ctrL,Cnter1Int
djnz Cnter0ctrH,Cnter1Int
setb Cnter0Out
Cnter1Int: jb Cnter1Out,Cnter2Int
mov c,Cnter1Str
anl c,FuCnt1
jnc Cnter2Int
djnz Cnter1ctrL,Cnter2Int
djnz Cnter1ctrH,Cnter2Int
setb Cnter1Out
Cnter2Int: jb Cnter2Out,Cnter3Int
mov c,Cnter2Str
anl c,FuCnt2
jnc Cnter3Int
djnz Cnter2ctrL,Cnter3Int
djnz Cnter2ctrH,Cnter3Int
setb Cnter2Out
Cnter3Int: jb Cnter3Out,CnterW0Int
mov c,Cnter3Str
anl c,FdCnt3
jnc CnterW0Int
djnz Cnter3ctrL,CnterW0Int
djnz Cnter3ctrH,CnterW0Int
setb Cnter3Out
CnterW0Int: jb CnterW0Out,CnterW1Int
mov c,CnterW0Str
anl c,FuCntW0
jnc CnterW1Int
djnz CnterW0ctrL,CnterW1Int
djnz CnterW0ctrH,CnterW1Int
setb CnterW0Out
CnterW1Int: jb CnterW1Out,CnterIntret
mov c,CnterW1Str
anl c,FuCntW1
jnc CnterIntret
djnz CnterW1ctrL,CnterIntret
djnz CnterW1ctrH,CnterIntret
setb CnterW1Out
CnterIntret: ret
;-------------------------------------------------------------------------------------
ScanIO: mov a,p1 ;Qn=Xn-1*Xn + Qn-1*Xn-1 + Qn-1*Xn
cpl a
mov r7,a ;r7=new
anl a,Inp1_Old ;r6 tmp
mov r6,a
mov a,Inp1_Sta
anl a,Inp1_Old
orl a,r6
mov r6,a
mov a,r7
anl a,Inp1_Sta
orl a,r6
mov Inp1_Sta,a
mov Inp1_Old,r7
ScanP3: mov a,p3 ;Qn=Xn-1*Xn + Qn-1*Xn-1 + Qn-1*Xn
cpl a
mov r7,a ;r7=new
anl a,Inp3_Old ;r6 tmp
mov r6,a
mov a,Inp3_Sta
anl a,Inp3_Old
orl a,r6
mov r6,a
mov a,r7
anl a,Inp3_Sta
orl a,r6
mov Inp3_Sta,a
mov Inp3_Old,r7
ret
;-------------------------------------------------------------------------------------
TimeInt: jb Time1Out ,Time2Int
jnb Time1Str,Time2Int
djnz Time1ctrL,Time2Int
djnz Time1ctrH,Time2Int
setb Time1Out
Time2Int: jb Time2Out,Time3Int
jnb Time2Str,Time3Int
djnz Time2ctrL,Time3Int
djnz Time2ctrH,Time3Int
setb Time2Out
Time3Int: jb Time3Out,Time4Int ;;;;
jnb Time3Str,Time4Int
djnz Time3ctrL,Time4Int
djnz Time3ctrH,Time4Int
setb Time3Out
Time4Int: jb Time4Out,Time5Int
jnb Time4Str,Time5Int
djnz Time4ctrL,Time5Int
djnz Time4ctrH,Time5Int
setb Time4Out
Time5Int: jb Time5Out,Time6Int
jnb Time5Str,Time6Int
djnz Time5ctrL,Time6Int
djnz Time5ctrH,Time6Int
setb Time5Out
Time6Int: jb Time6Out,Time7Int
jnb Time6Str,Time7Int
djnz Time6ctrL,Time7Int
djnz Time6ctrH,Time7Int
setb Time6Out
Time7Int: jb Time7Out,Time8Int
jnb Time7Str,Time8Int
djnz Time7ctrL,Time8Int
djnz Time7ctrH,Time8Int
setb Time7Out
Time8Int: jb Time8Out,TimeIntret
jnb Time8Str,TimeIntret
djnz Time8ctrL,TimeIntret
djnz Time8ctrH,TimeIntret
setb Time8Out
TimeIntRet: ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -