📄 rfcode40old.asm
字号:
; LACL CARD_ALL
; BCND SUCCESS_INVF,GT
; NOP
; NOP
; LACL #0
; B FSK_OUT
;SUCCESS_INVF:LACL #1
;******************************************
FSK_OUT: NOP
NOP
RET
;*************捕获FSK信号******************************
RESET_TO_RDY_H:
LAR AR3,#_ISOMode
MAR *,AR3
LACL #20H
SACL *
LAR AR3,#_viccdata
MAR *,AR3
LACL #05H
SACL *+
LACL #03H ;FSK,HIGH RATE
SACL *+
LACL #26H
SACL *+
LACL #01BH
SACL *+
LACL #061H
SACL *+
RET
GET_SYSINF_L:
LAR AR3,#_ISOMode
MAR *,AR3
LACL #20H
SACL *
LAR AR3,#_viccdata
MAR *,AR3
LACL #05H
SACL *+
LACL #01H ;FSK,LOW RATE
SACL *+
LACL #2BH
SACL *+
LACL #04EH
SACL *+
LACL #089H
SACL *+
RET
GET_SYSINF_H:
LAR AR3,#_ISOMode
MAR *,AR3
LACL #20H
SACL *
LAR AR3,#_viccdata
MAR *,AR3
LACL #05H
SACL *+
LACL #03H ;FSK,HIGH RATE
SACL *+
LACL #2BH
SACL *+
LACL #0FEH
SACL *+
LACL #0BAH
SACL *+
RET
WRITE_SINGLE_H:
LAR AR3,#_ISOMode
MAR *,AR3
LACL #34H
SACL *
LAR AR3,#_viccdata
MAR *,AR3
LACL #0AH ;FSK,HIGH RATE
SACL *+
LACL #43H
SACL *+
LACL #21H
SACL *+
LACL #00H
SACL *+
LACL #011H
SACL *+
LACL #022H
SACL *+
LACL #033H
SACL *+
LACL #044H
SACL *+
LACL #020H
SACL *+
LACL #93H
SACL *+
RET
;;;;;;;;;;;;;;;;;;;;;;jiucuo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;****************************************************
FSK_JIEMA: LAR AR7,#ADDR_CAPTURE
LDP #5
SPLK #1,RXD_BYTES
; LAR AR7,#8B60H
MAR *,AR7
LACL #00H
SACL *+
LAR AR6,#8B80H
;**************ADD_JIUCUO*********
LAR AR3,#ADDR_JIUCUO_POSITION ;纠错
SPLK #0,JIUCUO_NUM
SPLK #0,JIUCUO_COUNTER ;
;************************
LDP #5
LACL STAGE
RPT #03H
SFR
ADD #01H
SACL STAGE
LAR AR4,STAGE
MAR *,AR4
SBRK #01H
SUB #03H
BCND S_JIEMA,GEQ
NOP
NOP ;ERROR
RET
S_JIEMA:
;****************************************
SAR AR6,TEMP
MAR *,AR6
ADRK #02H
LACL *+
SUB #35H
BCND JM_NOW,LT
NOP
NOP
LACL *+
SUB #35H
BCND JM_NOW,LT
NOP
NOP
LACL *+
SUB #35H
BCND JM_NOW,LT
NOP
NOP
B JIAOYAN
****************************************
JM_NOW: LAR AR6,TEMP
LAR AR5,#07H
SPLK #0,CAP4TEMP
JM_CYCLE: MAR *,AR6
LACL *+
SUB *+
BCND GET_ZERO,GEQ
NOP
NOP
LACL CAP4TEMP
SFR
OR #80H
SACL CAP4TEMP
B JM_ON
GET_ZERO: LACL CAP4TEMP
SFR
SACL CAP4TEMP
JM_ON:
;***************ADD_JIUCUO***********************
LACL JIUCUO_NUM
SUB #03H
BCND J_JM_CYCLE,GT
NOP
NOP
LACL JIUCUO_COUNTER
ADD #01H
SACL JIUCUO_COUNTER
MAR *,AR6
SBRK #02H
LACL *+
SUB *+
ABS
SUB #05H
BCND J_JM_CYCLE,GEQ ;高低频数据差大于等于5
NOP
NOP
LACL JIUCUO_NUM
ADD #01H
SACL JIUCUO_NUM
LACL JIUCUO_COUNTER
MAR *,AR3
SACL *+ ;保存可能出错的位置
;**************************************
J_JM_CYCLE: MAR *,AR5
BANZ JM_CYCLE
NOP
NOP
LACL CAP4TEMP
MAR *,AR7
SACL *+
LACL RXD_BYTES
ADD #01H
SACL RXD_BYTES
MAR *,AR4
BANZ S_JIEMA
NOP
LACL STAGE
SACL RXD_BYTES
JIAOYAN: NOP
*****************
LAR AR6,#2CAH
LDP #5
LACL RXD_BYTES
MAR *,AR6
SACL *+
LACL STAGE
SACL *
CALL CHECK ;校验
;**************************************
;***********ADD_JIUCUO*****************
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LDP #5
LACL JIUCUO_NUM
BCND RESULT_ZHISHI,EQ
NOP ;校验错误并有疑似错误位
NOP
;**************************************
LDP #5
LACL JIUCUO_NUM
SUB #01H
BCND JC_2BIT,NEQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK
B RESULT_ZHISHI
JC_2BIT: LDP #5
LACL JIUCUO_NUM
SUB #02H
BCND JC_3BIT,NEQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #01H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #01H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK
B RESULT_ZHISHI
JC_3BIT: LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #01H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #02H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK ;111
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #01H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK ;110
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #02H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK ;101
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #01H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
ADRK #02H
LACL *
SACL JIUCUO_COUNTER
CALL JIUCUO_ONEBIT
CALL CHECK ;011
LDP #4
LACL RESPONCE_FLAG
SUB #01H
BCND RESULT_ZHISHI,EQ
NOP
NOP
LAR AR3,#ADDR_JIUCUO_POSITION
MAR *,AR3
LACL *
SACL JIUCUO_COUNTER
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -