📄 cy4623_rdk.lst
字号:
(0129) ; X-1 MSB of config table address
(0130) ;
(0131) LoadConfig:
(0132) RAM_PROLOGUE RAM_USE_CLASS_2
01C0: 38 02 ADD SP,2 (0133) add SP, 2 ; Set up local vars
01C2: 10 PUSH X (0134) push X ; Save config table address on stack
01C3: 08 PUSH A (0135) push A
01C4: 4F MOV X,SP (0136) mov X, SP
01C5: 56 FC 00 MOV [X-4],0 (0137) mov [X-4], 0 ; Set default Destination to Bank 0
01C8: D0 04 JNC 0x01CD (0138) jnc .BankSelectSaved ; Carry says Bank 0 is OK
01CA: 56 FC 01 MOV [X-4],1 (0139) mov [X-4], 1 ; No Carry: default to Bank 1
(0140) .BankSelectSaved:
01CD: 18 POP A (0141) pop A
01CE: 20 POP X (0142) pop X
(0143)
(0144) LoadConfigLp:
01CF: 70 EF AND F,239 (0145) M8C_SetBank0 ; Switch to bank 0
01D1: 62 E3 00 MOV REG[227],0 (0146) M8C_ClearWDT ; Clear the watchdog for long inits
01D4: 10 PUSH X (0147) push X ; Preserve the config table address
01D5: 08 PUSH A (0148) push A
01D6: 28 ROMX (0149) romx ; Load register address from table
01D7: 39 FF CMP A,255 (0150) cmp A, END_CONFIG_TABLE ; End of table?
01D9: A0 1F JZ 0x01F9 (0151) jz EndLoadConfig ; Yes, go wrap it up
01DB: 4F MOV X,SP (0152) mov X, SP ;
01DC: 48 FC 01 TST [X-4],1 (0153) tst [X-4], 1 ; Loading IO Bank 1?
01DF: A0 03 JZ 0x01E3 (0154) jz .IOBankNowSet ; No, Bank 0 is fine
01E1: 71 10 OR F,16 (0155) M8C_SetBank1 ; Yes, switch to Bank 1
(0156) .IOBankNowSet:
01E3: 54 FD MOV [X-3],A (0157) mov [X-3], A ; Stash the register address
01E5: 18 POP A (0158) pop A ; Retrieve the table address
01E6: 20 POP X (0159) pop X
01E7: 75 INC X (0160) inc X ; Advance to the data byte
01E8: 09 00 ADC A,0 (0161) adc A, 0
01EA: 10 PUSH X (0162) push X ; Save the config table address again
01EB: 08 PUSH A (0163) push A
01EC: 28 ROMX (0164) romx ; load config data from the table
01ED: 4F MOV X,SP (0165) mov X, SP ; retrieve the register address
01EE: 59 FD MOV X,[X-3] (0166) mov X, [X-3]
01F0: 61 00 MOV REG[X+0],A (0167) mov reg[X], A ; Configure the register
01F2: 18 POP A (0168) pop A ; retrieve the table address
01F3: 20 POP X (0169) pop X
01F4: 75 INC X (0170) inc X ; advance to next table entry
01F5: 09 00 ADC A,0 (0171) adc A, 0
01F7: 8F D7 JMP 0x01CF (0172) jmp LoadConfigLp ; loop to configure another register
(0173) EndLoadConfig:
01F9: 38 FC ADD SP,252 (0174) add SP, -4
(0175) RAM_EPILOGUE RAM_USE_CLASS_2
01FB: 7F RET (0176) ret
FILE: lib\usb_std.asm
(0001) ;;*****************************************************************************
(0002) ;;*****************************************************************************
(0003) ;; FILENAME: USB_std.asm
(0004) ;; Version: 1.5.0.1, Updated on 2005/08/17 at 15:01:28
(0005) ;; Generated by PSoC Designer ver 4.2 b1013 : 02 September, 2004
(0006) ;;
(0007) ;; DESCRIPTION: USB Device User Module software implementation file
(0008) ;; for the enCoRe II family of devices
(0009) ;;
(0010) ;; NOTE: User Module APIs conform to the fastcall convention for marshalling
(0011) ;; arguments and observe the associated "Registers are volatile" policy.
(0012) ;; This means it is the caller's responsibility to preserve any values
(0013) ;; in the X and A registers that are still needed after the API
(0014) ;; function returns. Even though these registers may be preserved now,
(0015) ;; there is no guarantee they will be preserved in future releases.
(0016) ;;-----------------------------------------------------------------------------
(0017) ;; Copyright (c) Cypress Semiconductor 2004. All Rights Reserved.
(0018) ;;*****************************************************************************
(0019) ;;*****************************************************************************
(0020)
(0021) include "m8c.inc"
(0022) include "USB_macros.inc"
(0023) include "USB.inc"
(0024)
(0025) ;-----------------------------------------------
(0026) ; Global Symbols
(0027) ;-----------------------------------------------
(0028)
(0029) AREA bss (RAM,REL)
(0030)
(0031) ;-----------------------------------------------
(0032) ; Constant Definitions
(0033) ;-----------------------------------------------
(0034) ;-----------------------------------------------
(0035) ; Variable Allocation
(0036) ;-----------------------------------------------
(0037)
(0038) AREA UserModules (ROM, REL)
(0039)
(0040) ;-----------------------------------------------------------------------------
(0041) ; FUNCTION NAME: USB_Not_Supported
(0042) ;
(0043) ; DESCRIPTION: The USB_Not_Supported routine is invoked for any
(0044) ; USB request that is not supported. It is invoked with a
(0045) ; JMP/LJMP and does not return. It exits through the common
(0046) ; EP0 exit.
(0047) ;
(0048) ;-----------------------------------------------------------------------------
(0049) ;
(0050) ; ARGUMENTS: None
(0051) ;
(0052) ; RETURNS: Does not return
(0053) ;
(0054) ; SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
(0055) ;
(0056) ; THEORY of OPERATION or PROCEDURE:
(0057) ;
(0058) ;-----------------------------------------------------------------------------
(0059)
(0060) ; d2h_std_dev
(0061) IF (USB_CB_SRC_d2h_std_dev_00 & USB_NOT_SUPPORTED)
(0062) export USB_CB_d2h_std_dev_00
(0063) USB_CB_d2h_std_dev_00:
(0064) ENDIF
(0065) IF (USB_CB_SRC_d2h_std_dev_01 & USB_NOT_SUPPORTED)
(0066) export USB_CB_d2h_std_dev_01
(0067) USB_CB_d2h_std_dev_01:
(0068) ENDIF
(0069) IF (USB_CB_SRC_d2h_std_dev_02 & USB_NOT_SUPPORTED)
(0070) export USB_CB_d2h_std_dev_02
(0071) USB_CB_d2h_std_dev_02:
(0072) ENDIF
(0073) IF (USB_CB_SRC_d2h_std_dev_03 & USB_NOT_SUPPORTED)
(0074) export USB_CB_d2h_std_dev_03
(0075) USB_CB_d2h_std_dev_03:
(0076) ENDIF
(0077) IF (USB_CB_SRC_d2h_std_dev_04 & USB_NOT_SUPPORTED)
(0078) export USB_CB_d2h_std_dev_04
(0079) USB_CB_d2h_std_dev_04:
(0080) ENDIF
(0081) IF (USB_CB_SRC_d2h_std_dev_05 & USB_NOT_SUPPORTED)
(0082) export USB_CB_d2h_std_dev_05
(0083) USB_CB_d2h_std_dev_05:
(0084) ENDIF
(0085) IF (USB_CB_SRC_d2h_std_dev_06 & USB_NOT_SUPPORTED)
(0086) export USB_CB_d2h_std_dev_06
(0087) USB_CB_d2h_std_dev_06:
(0088) ENDIF
(0089) IF (USB_CB_SRC_d2h_std_dev_07 & USB_NOT_SUPPORTED)
(0090) export USB_CB_d2h_std_dev_07
(0091) USB_CB_d2h_std_dev_07:
(0092) ENDIF
(0093) IF (USB_CB_SRC_d2h_std_dev_08 & USB_NOT_SUPPORTED)
(0094) export USB_CB_d2h_std_dev_08
(0095) USB_CB_d2h_std_dev_08:
(0096) ENDIF
(0097)
(0098) ; h2d_std_dev
(0099) IF (USB_CB_SRC_h2d_std_dev_00 & USB_NOT_SUPPORTED)
(0100) export USB_CB_h2d_std_dev_00
(0101) USB_CB_h2d_std_dev_00:
(0102) ENDIF
(0103) IF (USB_CB_SRC_h2d_std_dev_01 & USB_NOT_SUPPORTED)
(0104) export USB_CB_h2d_std_dev_01
(0105) USB_CB_h2d_std_dev_01:
(0106) ENDIF
(0107) IF (USB_CB_SRC_h2d_std_dev_02 & USB_NOT_SUPPORTED)
(0108) export USB_CB_h2d_std_dev_02
(0109) USB_CB_h2d_std_dev_02:
(0110) ENDIF
(0111) IF (USB_CB_SRC_h2d_std_dev_03 & USB_NOT_SUPPORTED)
(0112) export USB_CB_h2d_std_dev_03
(0113) USB_CB_h2d_std_dev_03:
(0114) ENDIF
(0115) IF (USB_CB_SRC_h2d_std_dev_04 & USB_NOT_SUPPORTED)
(0116) export USB_CB_h2d_std_dev_04
(0117) USB_CB_h2d_std_dev_04:
(0118) ENDIF
(0119) IF (USB_CB_SRC_h2d_std_dev_05 & USB_NOT_SUPPORTED)
(0120) export USB_CB_h2d_std_dev_05
(0121) USB_CB_h2d_std_dev_05:
(0122) ENDIF
(0123) IF (USB_CB_SRC_h2d_std_dev_06 & USB_NOT_SUPPORTED)
(0124) export USB_CB_h2d_std_dev_06
(0125) USB_CB_h2d_std_dev_06:
(0126) ENDIF
(0127) IF (USB_CB_SRC_h2d_std_dev_07 & USB_NOT_SUPPORTED)
(0128) export USB_CB_h2d_std_dev_07
(0129) USB_CB_h2d_std_dev_07:
(0130) ENDIF
(0131) IF (USB_CB_SRC_h2d_std_dev_08 & USB_NOT_SUPPORTED)
(0132) export USB_CB_h2d_std_dev_08
(0133) USB_CB_h2d_std_dev_08:
(0134) ENDIF
(0135) IF (USB_CB_SRC_h2d_std_dev_09 & USB_NOT_SUPPORTED)
(0136) export USB_CB_h2d_std_dev_09
(0137) USB_CB_h2d_std_dev_09:
(0138) ENDIF
(0139)
(0140) ; d2h_std_ifc
(0141) IF (USB_CB_SRC_d2h_std_ifc_00 & USB_NOT_SUPPORTED)
(0142) export USB_CB_d2h_std_ifc_00
(0143) USB_CB_d2h_std_ifc_00:
(0144) ENDIF
(0145) IF (USB_CB_SRC_d2h_std_ifc_01 & USB_NOT_SUPPORTED)
(0146) export USB_CB_d2h_std_ifc_01
(0147) USB_CB_d2h_std_ifc_01:
(0148) ENDIF
(0149) IF (USB_CB_SRC_d2h_std_ifc_02 & USB_NOT_SUPPORTED)
(0150) export USB_CB_d2h_std_ifc_02
(0151) USB_CB_d2h_std_ifc_02:
(0152) ENDIF
(0153) IF (USB_CB_SRC_d2h_std_ifc_03 & USB_NOT_SUPPORTED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -