currentsource.lst
来自「Application Note Abstract The unique co」· LST 代码 · 共 1,542 行 · 第 1/5 页
LST
1,542 行
00F4: 30 HALT
00F5: 30 HALT
00F6: 30 HALT
00F7: 30 HALT
00F8: 30 HALT
00F9: 30 HALT
00FA: 30 HALT
00FB: 30 HALT
00FC: 30 HALT
00FD: 30 HALT
00FE: 30 HALT
00FF: 30 HALT
0100: 61 00 MOV REG[X+0],A
0102: 60 55 MOV REG[85],A
0104: 62 D8 63 MOV REG[216],99
0107: 00 SSC
0108: E1 53 JACC 0x025C
010A: 00 SSC
010B: 00 SSC
010C: 01 1C ADD A,28
010E: 02 00 ADD A,[__r0]
0110: 03 00 ADD A,[X+0]
0112: 04 00 ADD [__r0],A
0114: 05 00 ADD [X+0],A
0116: 06 00 07 ADD [__r0],7
0119: 00 SSC
011A: 08 PUSH A
011B: 00 SSC
011C: 09 02 ADC A,2
011E: 0A 00 ADC A,[__r0]
0120: 0B 00 ADC A,[X+0]
0122: 0C 00 ADC [__r0],A
0124: 0D 00 ADC [X+0],A
0126: 0E 00 0F ADC [__r0],15
0129: 00 SSC
012A: 10 PUSH X
012B: 00 SSC
012C: 11 00 SUB A,0
012E: 12 00 SUB A,[__r0]
0130: 13 00 SUB A,[X+0]
0132: 14 00 SUB [__r0],A
0134: 15 00 SUB [X+0],A
0136: 16 00 17 SUB [__r0],23
0139: 00 SSC
013A: E3 87 JACC 0x04C2
013C: FF 60 INDEX 0x009E
013E: 6B 64 RLC [100]
0140: 00 SSC
0141: 63 07 65 MOV REG[X+7],101
0144: 00 SSC
0145: E6 00 JACC 0x0746
0147: 02 00 ADD A,[__r0]
0149: 01 00 ADD A,0
014B: 06 00 05 ADD [__r0],5
014E: 00 SSC
014F: 0A 00 ADC A,[__r0]
0151: 09 00 ADC A,0
0153: 0E 00 0D ADC [__r0],13
0156: 00 SSC
0157: 12 00 SUB A,[__r0]
0159: 11 00 SUB A,0
015B: 16 00 15 SUB [__r0],21
015E: 00 SSC
015F: 79 DEC X
0160: FD 7A INDEX 0xFEDC
0162: 21 7B AND A,123
0164: 20 POP X
0165: 80 80 JMP _DAC6_2_WriteBlind
0167: 81 40 JMP 0x02A8
0169: 82 20 JMP 0x038A
016B: 83 30 JMP 0x049C
016D: 98 80 CALL 0xF9EF
016F: 99 80 CALL 0xFAF1
0171: 9A 20 CALL 0xFB93
0173: 9B 30 CALL 0xFCA5
0175: 90 10 CALL 0x0187
0177: 91 30 CALL 0x02A9
0179: 92 A0 CALL 0x041B
017B: 93 3F CALL 0x04BC
017D: 88 10 JMP 0xF98E
017F: 89 10 JMP 0xFA90
0181: 8A A0 JMP 0xFC22
0183: 8B 3F JMP 0xFCC3
0185: FF 90 INDEX 0x0117
FILE: lib\psocconfig.asm
(0001) ;
(0002) ; PSoCConfig.asm
(0003) ;
(0004) ; Version 0.84
(0005) ; Data: 19 December, 2000
(0006) ; Copyright Cypress MicroSystems 2000
(0007) ;
(0008) ; This file is generated by the Device Editor on Application Generation.
(0009) ; It contains code which loads the configuration data table generated in
(0010) ; the file PSoCConfigTBL.asm
(0011) ;
(0012) ; DO NOT EDIT THIS FILE MANUALLY, AS IT IS OVERWRITTEN!!!
(0013) ; Edits to this file will not be preserved.
(0014) ;
(0015) include "m8c.inc"
(0016)
(0017) export LoadConfigInit
(0018) export _LoadConfigInit
(0019) export LoadConfig_currentsource
(0020) export _LoadConfig_currentsource
(0021)
(0022) export NO_SHADOW
(0023) export _NO_SHADOW
(0024)
(0025) FLAG_CFG_MASK: equ 10h ;M8C flag register REG address bit mask
(0026) END_CONFIG_TABLE: equ ffh ;end of config table indicator
(0027)
(0028) AREA psoc_config(rom, rel)
(0029)
(0030) _LoadConfigInit:
(0031) LoadConfigInit:
(0032)
(0033) call LoadConfig_currentsource
0187: 01 7F ADD A,127
(0034)
(0035) ret
0189: 08 PUSH A
(0036)
(0037) ;
(0038) ; Load Configuration currentsource
(0039) ;
(0040) _LoadConfig_currentsource:
(0041) LoadConfig_currentsource:
(0042) push a
(0043) push x
018A: 10 PUSH X
(0044) M8C_SetBank1 ;set for bank 1
018B: 71 10 OR F,16
(0045) mov A, >LoadConfigTBL_currentsource_Bank1 ;load bank 1 table
018D: 50 01 MOV A,1
(0046) mov X, <LoadConfigTBL_currentsource_Bank1
018F: 57 00 MOV X,0
(0047) call LoadConfig ;load the bank 1 values
0191: 90 0B CALL 0x019E
(0048) M8C_SetBank0 ;switch to bank 0
0193: 70 EF AND F,239
(0049) mov A, >LoadConfigTBL_currentsource_Bank0 ;load bank 0 table
0195: 50 01 MOV A,1
(0050) mov X, <LoadConfigTBL_currentsource_Bank0
0197: 57 3D MOV X,61
(0051) call LoadConfig ;load the bank 0 values
0199: 90 03 CALL 0x019E
(0052) pop x
019B: 20 POP X
(0053) pop a
019C: 18 POP A
(0054) ret
019D: 7F RET
(0055)
(0056)
(0057) ;
(0058) ; LoadConfig
(0059) ;
(0060) ; This function is not exported. It assumes that the address of the table
(0061) ; to be loaded is contained in the X and A registers as if a romx instruction
(0062) ; is the next instruction to be executed, i.e. lower address in X and uppper
(0063) ; address in A. There is no return value.
(0064) ;
(0065) LoadConfig:
(0066) add SP, 1
019E: 38 01 ADD SP,1
(0067) LoadConfigLp:
(0068) M8C_ClearWDT ;clear the watchdog for long inits
01A0: 62 E3 00 MOV REG[227],0
(0069) push X ;save config table address on stack
01A3: 10 PUSH X
(0070) push A
01A4: 08 PUSH A
(0071) romx ;load config address
01A5: 28 ROMX
(0072) cmp A, END_CONFIG_TABLE ;check for end of table
01A6: 39 FF CMP A,255
(0073) jz EndLoadConfig ;if so, end of load
01A8: A0 1A JZ 0x01C3
(0074) mov X, SP ;save the address away
01AA: 4F MOV X,SP
(0075) mov [X-3], A
01AB: 54 FD MOV [X-3],A
(0076) pop A ;retrieve the table address
01AD: 18 POP A
(0077) pop X
01AE: 20 POP X
(0078) inc X ;advance to the data byte
01AF: 75 INC X
(0079) jnc NoOverFlow1 ;check for overflow
01B0: D0 02 JNC 0x01B3
(0080) inc A ;if so, increment MSB
01B2: 74 INC A
(0081) NoOverFlow1:
(0082) push X ;save the config table address again
01B3: 10 PUSH X
(0083) push A
01B4: 08 PUSH A
(0084) romx ;load the config data
01B5: 28 ROMX
(0085) mov X, SP ;retrieve the config address
01B6: 4F MOV X,SP
(0086) mov X, [X-3]
01B7: 59 FD MOV X,[X-3]
(0087) mov reg[X], A ;write the config data
01B9: 61 00 MOV REG[X+0],A
(0088) pop A ;retrieve the table address
01BB: 18 POP A
(0089) pop X
01BC: 20 POP X
(0090) inc X ;advance to the next address
01BD: 75 INC X
(0091) jnc NoOverFlow2 ;check for overflow
01BE: D0 02 JNC 0x01C1
(0092) inc A ;if so, increment MSB
01C0: 74 INC A
(0093) NoOverFlow2:
(0094) jmp LoadConfigLp ;loop back
01C1: 8F DE JMP 0x01A0
(0095) EndLoadConfig:
(0096) pop A ;clean up the stack
01C3: 18 POP A
(0097) pop X
01C4: 20 POP X
(0098) add SP, -1
01C5: 38 FF ADD SP,255
(0099) ret
01C7: 7F RET
FILE: .\main.asm
(0001) ;-----------------------------------
(0002) ; Current Source Assembly Program
(0003) ;
(0004) ; 2002 Nov 21
(0005) ;
(0006) ; Copyright (c) 2002
(0007) ; Cypress Microsystems, Inc.
(0008) ; All rights reserved.
(0009) ;-----------------------------------
(0010) include "m8c.inc"
(0011) include "dac6_1.inc"
(0012) include "dac6_2.inc"
(0013) include "buffer.inc"
(0014) export _main
(0015) _main:
(0016) mov A,Buffer_HIGHPOWER
__text_start:
_main:
01C8: 50 03 MOV A,3
(0017) call Buffer_Start
01CA: 90 85 CALL _Buffer_SetPower
(0018)
(0019) mov A,DAC6_1_HIGHPOWER
01CC: 50 03 MOV A,3
(0020) call DAC6_1_Start
01CE: 90 48 CALL DAC6_1_Start
(0021)
(0022) mov A,DAC6_2_HIGHPOWER
01D0: 50 03 MOV A,3
(0023) call DAC6_2_Start
01D2: 90 0B CALL _DAC6_2_Start
(0024)
(0025) mov A,-31
01D4: 50 E1 MOV A,225
(0026) call DAC6_1_WriteStall
01D6: 90 5B CALL _DAC6_1_WriteStall
(0027)
(0028) mov A,-31
01D8: 50 E1 MOV A,225
(0029) call DAC6_2_WriteStall
01DA: 90 1E CALL DAC6_2_WriteStall
(0030) loop:
(0031) jmp loop
01DC: 8F FF JMP 0x01DC
(0032) ret
01DE: 7F RET
FILE: lib\dac6_2.asm
(0001) ;;************************************************************************
(0002) ;;************************************************************************
(0003) ;;
(0004) ;; DAC6_2.ASM (from DAC6.asm user module template)
(0005) ;; Rev C, 2002 July 25
(0006) ;;
(0007) ;; Assembler source for 6-bit Switched Capacitor DAC API
(0008) ;;
(0009) ;; Copyright (c) Cypress MicroSystems 2001-2002. All Rights Reserved.
(0010) ;;
(0011) ;;************************************************************************
(0012) ;;************************************************************************
(0013) ;;
(0014)
(0015) export DAC6_2_Start
(0016) export _DAC6_2_Start
(0017) export DAC6_2_SetPower
(0018) export _DAC6_2_SetPower
(0019)
(0020) export DAC6_2_WriteBlind
(0021) export _DAC6_2_WriteBlind
(0022) export DAC6_2_WriteStall
(0023) export _DAC6_2_WriteStall
(0024)
(0025) export DAC6_2_Stop
(0026) export _DAC6_2_Stop
(0027)
(0028) ;; -----------------------------------------------------------------
(0029) ;; Register Definitions
(0030) ;; -----------------------------------------------------------------
(0031) ;;
(0032) ;; Uses 1 Switched Cap Block configured as shown. This API depends
(0033) ;; on knowing the exact personalization of CR0 and CR3 bitfields
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?