📄 pocsag_decoder.lst
字号:
(0078) ;
(0079) ; ARGUMENTS:
(0080) ; none.
(0081) ;
(0082) ; RETURNS:
(0083) ; none.
(0084) ;
(0085) ; SIDE EFFECTS:
(0086) ; none.
(0087) ;
(0088) ; THEORY of OPERATION:
(0089) ; Clears the specific user module interrupt enable mask bit.
(0090) ;
(0091) ;-----------------------------------------------------------------------------
(0092) TX8_1_DisableInt:
(0093) _TX8_1_DisableInt:
(0094) M8C_DisableIntMask TX8_1_INT_REG, bTX8_1_INT_MASK
(0095) ret
02D5: 7F RET
(0096)
(0097)
(0098) ;-----------------------------------------------------------------------------
(0099) ; FUNCTION NAME: TX8_1_Start(BYTE bParity)
(0100) ;
(0101) ; DESCRIPTION:
(0102) ; Sets the start bit and parity in the Control register of this user module.
(0103) ; The transmitter will begin transmitting if a byte has been written into the
(0104) ; transmit buffer.
(0105) ;
(0106) ; ARGUMENTS:
(0107) ; BYTE bParity - parity of transmitted data. Use defined masks.
(0108) ;
(0109) ; RETURNS:
(0110) ; none.
(0111) ;
(0112) ; SIDE EFFECTS:
(0113) ; none.
(0114) ;
(0115) ; THEORY of OPERATION:
(0116) ; Set the specified parity and start bits in the Control register.
(0117) ;
(0118) ;-----------------------------------------------------------------------------
(0119) TX8_1_Start:
(0120) _TX8_1_Start:
(0121) or A, bfCONTROL_REG_START_BIT
_TX8_1_Start:
TX8_1_Start:
02D6: 29 01 OR A,1
(0122) mov REG[TX8_1_CONTROL_REG], A
02D8: 60 33 MOV REG[51],A
(0123) ret
02DA: 7F RET
(0124)
(0125)
(0126) ;-----------------------------------------------------------------------------
(0127) ; FUNCTION NAME: TX8_1_Stop
(0128) ;
(0129) ; DESCRIPTION:
(0130) ; Disables TX8 operation.
(0131) ;
(0132) ; ARGUMENTS:
(0133) ; none.
(0134) ;
(0135) ; RETURNS:
(0136) ; none.
(0137) ;
(0138) ; SIDE EFFECTS:
(0139) ; none.
(0140) ;
(0141) ; THEORY of OPERATION:
(0142) ; Clear the start bit in the Control register.
(0143) ;
(0144) ;-----------------------------------------------------------------------------
(0145) TX8_1_Stop:
(0146) _TX8_1_Stop:
(0147) and REG[TX8_1_CONTROL_REG], ~bfCONTROL_REG_START_BIT
TX8_1_Stop:
_TX8_1_Stop:
02DB: 41 33 FE AND REG[51],254
(0148) ret
02DE: 7F RET
(0149)
(0150)
(0151) ;-----------------------------------------------------------------------------
(0152) ; FUNCTION NAME: TX8_1_SendData
(0153) ;
(0154) ; DESCRIPTION:
(0155) ; Disables TX8 operation.
(0156) ;
(0157) ; ARGUMENTS:
(0158) ; BYTE TxData - data to transmit.
(0159) ;
(0160) ; RETURNS:
(0161) ; none.
(0162) ;
(0163) ; SIDE EFFECTS:
(0164) ; none.
(0165) ;
(0166) ; THEORY of OPERATION:
(0167) ; Writes data to the TX buffer register.
(0168) ;
(0169) ;-----------------------------------------------------------------------------
(0170) TX8_1_SendData:
(0171) _TX8_1_SendData:
(0172) mov REG[TX8_1_TX_BUFFER_REG], A
TX8_1_SendData:
_TX8_1_SendData:
02DF: 60 31 MOV REG[49],A
(0173) ret
02E1: 7F RET
(0174)
(0175)
(0176) ;-----------------------------------------------------------------------------
(0177) ; FUNCTION NAME: bTX8_1_ReadTxStatus
(0178) ;
(0179) ; DESCRIPTION:
(0180) ; Reads the Tx Status bits in the Control/Status register.
(0181) ;
(0182) ; ARGUMENTS:
(0183) ; none.
(0184) ;
(0185) ; RETURNS:
(0186) ; BYTE bTxStatus - transmit status data. Use the following defined bits
(0187) ; masks: TX_COMPLETE and TX_BUFFER_EMPTY
(0188) ;
(0189) ; SIDE EFFECTS:
(0190) ; none.
(0191) ;
(0192) ; THEORY of OPERATION:
(0193) ; Read the status and control register.
(0194) ;
(0195) ;-----------------------------------------------------------------------------
(0196) bTX8_1_ReadTxStatus:
(0197) _bTX8_1_ReadTxStatus:
(0198) mov A, REG[TX8_1_CONTROL_REG]
_bTX8_1_ReadTxStatus:
bTX8_1_ReadTxStatus:
02E2: 5D 33 MOV A,REG[51]
(0199) ret
02E4: 7F RET
FILE: C:\PROGRA~1\CYPRES~1\PSOCDE~1\PROJECTS\POCSAG~1\LIB\TIMER8_1.ASM
(0001) ;------------------------------------------------------------------------------
Timer8_1_EnableInt:
_Timer8_1_EnableInt:
02E5: 43 E1 01 OR REG[225],1
(0002) ; FILENAME: Timer8_1.asm
(0003) ; VERSION: Rev B, 2002 Mar 30
(0004) ;------------------------------------------------------------------------------
(0005) ; DESCRIPTION:
(0006) ; Timer8_1 Timer8 User Module API.
(0007) ;------------------------------------------------------------------------------
(0008) ; Copyright (c) Cypress MicroSystems 2000-2002. All Rights Reserved.
(0009) ;------------------------------------------------------------------------------
(0010)
(0011) ;-----------------------------------------------
(0012) ; include instance specific register definitions
(0013) ;-----------------------------------------------
(0014) include "m8c.inc"
(0015) include "Timer8_1.inc"
(0016)
(0017) area text (ROM, REL)
(0018)
(0019) ;-------------------------------------------------------------------
(0020) ; Declare the functions global for both assembler and C compiler.
(0021) ;
(0022) ; Note that there are two names for each API. First name is
(0023) ; assembler reference. Name with underscore is name refence for
(0024) ; C compiler. Calling function in C source code does not require
(0025) ; the underscore.
(0026) ;-------------------------------------------------------------------
(0027) export Timer8_1_EnableInt
(0028) export _Timer8_1_EnableInt
(0029) export Timer8_1_DisableInt
(0030) export _Timer8_1_DisableInt
(0031) export Timer8_1_Start
(0032) export _Timer8_1_Start
(0033) export Timer8_1_Stop
(0034) export _Timer8_1_Stop
(0035) export Timer8_1_WritePeriod
(0036) export _Timer8_1_WritePeriod
(0037) export Timer8_1_WriteCompareValue
(0038) export _Timer8_1_WriteCompareValue
(0039) export bTimer8_1_ReadCompareValue
(0040) export _bTimer8_1_ReadCompareValue
(0041) export bTimer8_1_ReadTimer
(0042) export _bTimer8_1_ReadTimer
(0043) export bTimer8_1_ReadTimerSaveCV
(0044) export _bTimer8_1_ReadTimerSaveCV
(0045) export bTimer8_1_ReadCounter ; obsolete
(0046) export _bTimer8_1_ReadCounter ; obsolete
(0047) export bTimer8_1_CaptureCounter ; obsolete
(0048) export _bTimer8_1_CaptureCounter ; obsolete
(0049)
(0050) ;-----------
(0051) ; EQUATES
(0052) ;-----------
(0053) bfCONTROL_REG_START_BIT: equ 1 ; Control register start bit
(0054)
(0055) ;-----------------------------------------------------------------------------
(0056) ; FUNCTION NAME: Timer8_1_EnableInt
(0057) ;
(0058) ; DESCRIPTION:
(0059) ; Enables this Timer's interrupt by setting the interrupt enable mask bit
(0060) ; associated with this User Module. Remember to call the global interrupt
(0061) ; enable function by using the macro: M8C_EnableGInt.
(0062) ;
(0063) ; ARGUMENTS:
(0064) ; none.
(0065) ;
(0066) ; RETURNS:
(0067) ; none.
(0068) ;
(0069) ; SIDE EFFECTS:
(0070) ; none.
(0071) ;
(0072) ; THEORY of OPERATION:
(0073) ; Sets the specific user module interrupt enable mask bit.
(0074) ;
(0075) ;-----------------------------------------------------------------------------
(0076) Timer8_1_EnableInt:
(0077) _Timer8_1_EnableInt:
(0078) M8C_EnableIntMask Timer8_1_INT_REG, bTimer8_1_INT_MASK
(0079) ret
02E8: 7F RET
_Timer8_1_DisableInt:
Timer8_1_DisableInt:
02E9: 5D FF MOV A,REG[255]
02EB: 70 FE AND F,254
02ED: 41 E1 FE AND REG[225],254
02F0: 21 80 AND A,128
02F2: A0 03 JZ 0x02F6
02F4: 71 01 OR F,1
(0080)
(0081)
(0082) ;-----------------------------------------------------------------------------
(0083) ; FUNCTION NAME: Timer8_1_DisableInt
(0084) ;
(0085) ; DESCRIPTION:
(0086) ; Disables this timer's interrupt by clearing the interrupt enable mask bit
(0087) ; associated with this User Module.
(0088) ;
(0089) ; ARGUMENTS:
(0090) ; none.
(0091) ;
(0092) ; RETURNS:
(0093) ; none.
(0094) ;
(0095) ; SIDE EFFECTS:
(0096) ; none.
(0097) ;
(0098) ; THEORY of OPERATION:
(0099) ; Clears the specific user module interrupt enable mask bit.
(0100) ;
(0101) ;-----------------------------------------------------------------------------
(0102) Timer8_1_DisableInt:
(0103) _Timer8_1_DisableInt:
(0104) M8C_DisableIntMask Timer8_1_INT_REG, bTimer8_1_INT_MASK
(0105) ret
02F6: 7F RET
(0106)
(0107)
(0108) ;-----------------------------------------------------------------------------
(0109) ; FUNCTION NAME: Timer8_1_Start
(0110) ;
(0111) ; DESCRIPTION:
(0112) ; Sets the start bit in the Control register of this user module. The
(0113) ; timer will begin counting on the next input clock.
(0114) ;
(0115) ; ARGUMENTS:
(0116) ; none.
(0117) ;
(0118) ; RETURNS:
(0119) ; none.
(0120) ;
(0121) ; SIDE EFFECTS:
(0122) ; none.
(0123) ;
(0124) ; THEORY of OPERATION:
(0125) ; Set the start bit in the Control register.
(0126) ;
(0127) ;-----------------------------------------------------------------------------
(0128) Timer8_1_Start:
(0129) _Timer8_1_Start:
(0130) or REG[Timer8_1_CONTROL_REG], bfCONTROL_REG_START_BIT
_Timer8_1_Start:
Timer8_1_Start:
02F7: 43 23 01 OR REG[35],1
(0131) ret
02FA: 7F RET
(0132)
(0133)
(0134) ;-----------------------------------------------------------------------------
(0135) ; FUNCTION NAME: Timer8_1_Stop
(0136) ;
(0137) ; DESCRIPTION:
(0138) ; Disables Timer operation.
(0139) ;
(0140) ; ARGUMENTS:
(0141) ; none.
(0142) ;
(0143) ; RETURNS:
(0144) ; none.
(0145) ;
(0146) ; SIDE EFFECTS:
(0147) ; After this function completes, the Counter register will latch any data
(0148) ; written to the Period register. Writing to the Period register is
(0149) ; performed using the Timer8_1_WritePeriod function.
(0150) ;
(0151) ; THEORY of OPERATION:
(0152) ; Clear the start bit in the Control register.
(0153) ;
(0154) ;-----------------------------------------------------------------------------
(0155) Timer8_1_Stop:
(0156) _Timer8_1_Stop:
(0157) and REG[Timer8_1_CONTROL_REG], ~bfCONTROL_REG_START_BIT
_Timer8_1_Stop:
Timer8_1_Sto
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -