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 + -
显示快捷键?