⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmx_rgbled.lis

📁  PSoC(可编程片上系统)是Cypress半导体公司生产的包含有8位微处理器核和数字与模拟混合的信号阵列芯片
💻 LIS
字号:
 0000                   cpu LMM
                        .module cmx_rgbled.c
                        .area text(rom, con, rel)
 0000                   .dbfile ./cmx_rgbled.c
 0000                   .dbfunc e CMX_RGBLED_Instantiate _CMX_RGBLED_Instantiate fV
 0000           ;        thisBLK -> X-5
 0000           _CMX_RGBLED_Instantiate::
 0000                   .dbline -1
 0000 10                push X
 0001 4F                mov X,SP
 0002                   .dbline 28
 0002           ; //*****************************************************************************
 0002           ; //*****************************************************************************
 0002           ; //  FILENAME:  CMX_RGBLED.c
 0002           ; //  Version: 1.1, Updated on 2007/03/08 at 09:37:41 
 0002           ; //  Application: PSoC Express 2.0
 0002           ; //
 0002           ; //  DESCRIPTION:  
 0002           ; //     This Driver calls DIO_SetValue to set IOs.
 0002           ; //
 0002           ; //-----------------------------------------------------------------------------
 0002           ; //      Copyright (c) Cypress MicroSystems 2007. All Rights Reserved.
 0002           ; //*****************************************************************************
 0002           ; //*****************************************************************************
 0002           ; 
 0002           ; #include "m8c.h"
 0002           ; #include "CMX_RGBLED.h"
 0002           ; #include "cmx.h"
 0002           ; 
 0002           ; // *********************** RGBLED_Instantiate() *******************************
 0002           ; //
 0002           ; //  Description:
 0002           ; //    This function doesn't do anything at this time, but is placed here
 0002           ; //    for forward compatibility.
 0002           ; //
 0002           ; //
 0002           ; 
 0002           ; void CMX_RGBLED_Instantiate(const CMX_RGBLED_ParameterBlock * thisBLK)
 0002           ; {
 0002                   .dbline -2
 0002                   .dbline 30
 0002           ;    // Blank function  
 0002           ; }
 0002           L3:
 0002 20                pop X
 0003                   .dbline 0 ; func end
 0003 7F                ret
 0004                   .dbsym l thisBLK -5 pX
 0004                   .dbend
 0004                   .dbfunc e CMX_RGBLED_SetValue _CMX_RGBLED_SetValue fV
 0004           ;         bState -> X-6
 0004           ;        thisBLK -> X-5
 0004           _CMX_RGBLED_SetValue::
 0004                   .dbline -1
 0004 10                push X
 0005 4F                mov X,SP
 0006                   .dbline 47
 0006           ; 
 0006           ; // *********************** RGBLED_SetValue() *******************************
 0006           ; //
 0006           ; //  Description:
 0006           ; //    This function sets the individual compenent drivers  
 0006           ; //
 0006           ; //    input:
 0006           ; //       thisBLK  => Pointer to ParameterBlock for this instance.
 0006           ; //      local_state => BYTE input variable that determine state of this driver
 0006           ; //
 0006           ; //   Return Value:
 0006           ; //      None.
 0006           ; //   THEORY of OPERATION or PROCEDURE: 
 0006           ; //    Driver output states include: OFF, RED, GREEN, BLUE. 
 0006           ; 
 0006           ; void CMX_RGBLED_SetValue(const CMX_RGBLED_ParameterBlock * thisBLK, BYTE bState)
 0006           ; {
 0006                   .dbline 48
 0006           ;       if(bState >= 3) bState = 4;
 0006 3DFA03            cmp [X-6],3
 0009 C004              jc L5
 000B           X0:
 000B                   .dbline 48
 000B 56FA04            mov [X-6],4
 000E           L5:
 000E                   .dbline 49
 000E           ;       bState ^= thisBLK->bDrivePolarity;
 000E 62D000            mov REG[0xd0],>__r0
 0011 52FC              mov A,[X-4]
 0013 0106              add A,6
 0015 5300              mov [__r1],A
 0017 52FB              mov A,[X-5]
 0019 0900              adc A,0
 001B 10                push X
 001C 5800              mov X,[__r1]
 001E 28                romx
 001F 20                pop X
 0020 5300              mov [__r0],A
 0022 52FA              mov A,[X-6]
 0024 3200              xor A,[__r0]
 0026 54FA              mov [X-6],A
 0028                   .dbline 52
 0028           ;       
 0028           ;       // Set appropriate subcontainer driver states
 0028           ;       CMX_DIO_SetValue(thisBLK->DriverPin_RED, bState & 1);
 0028 52FA              mov A,[X-6]
 002A 2101              and A,1
 002C 08                push A
 002D 52FC              mov A,[X-4]
 002F 0104              add A,4
 0031 5300              mov [__r1],A
 0033 52FB              mov A,[X-5]
 0035 0900              adc A,0
 0037 10                push X
 0038 08                push A
 0039 5800              mov X,[__r1]
 003B 28                romx
 003C 5300              mov [__r0],A
 003E 18                pop A
 003F 75                inc X
 0040 0900              adc A,0
 0042 28                romx
 0043 5300              mov [__r1],A
 0045 20                pop X
 0046 5100              mov A,[__r0]
 0048 08                push A
 0049 5100              mov A,[__r1]
 004B 08                push A
 004C 7C0000            xcall _CMX_DIO_SetValue
 004F 38FD              add SP,-3
 0051                   .dbline 53
 0051           ;       CMX_DIO_SetValue(thisBLK->DriverPin_GREEN, (bState >> 1) & 1);
 0051 52FA              mov A,[X-6]
 0053 62D000            mov REG[0xd0],>__r0
 0056 5300              mov [__r0],A
 0058 70FB              and F,-5
 005A 6E00              rrc [__r0]
 005C 260001            and [__r0],1
 005F 5100              mov A,[__r0]
 0061 08                push A
 0062 52FC              mov A,[X-4]
 0064 0102              add A,2
 0066 5300              mov [__r1],A
 0068 52FB              mov A,[X-5]
 006A 0900              adc A,0
 006C 10                push X
 006D 08                push A
 006E 5800              mov X,[__r1]
 0070 28                romx
 0071 5300              mov [__r0],A
 0073 18                pop A
 0074 75                inc X
 0075 0900              adc A,0
 0077 28                romx
 0078 5300              mov [__r1],A
 007A 20                pop X
 007B 5100              mov A,[__r0]
 007D 08                push A
 007E 5100              mov A,[__r1]
 0080 08                push A
 0081 7C0000            xcall _CMX_DIO_SetValue
 0084 38FD              add SP,-3
 0086                   .dbline 54
 0086           ;       CMX_DIO_SetValue(thisBLK->DriverPin_BLUE, (bState >> 2) & 1);
 0086 52FA              mov A,[X-6]
 0088 62D000            mov REG[0xd0],>__r0
 008B 5300              mov [__r0],A
 008D 6800              asr [__r0]
 008F 6800              asr [__r0]
 0091 26003F            and [__r0],63
 0094 260001            and [__r0],1
 0097 5100              mov A,[__r0]
 0099 08                push A
 009A 52FC              mov A,[X-4]
 009C 5300              mov [__r1],A
 009E 52FB              mov A,[X-5]
 00A0 10                push X
 00A1 08                push A
 00A2 5800              mov X,[__r1]
 00A4 28                romx
 00A5 5300              mov [__r0],A
 00A7 18                pop A
 00A8 75                inc X
 00A9 0900              adc A,0
 00AB 28                romx
 00AC 5300              mov [__r1],A
 00AE 20                pop X
 00AF 5100              mov A,[__r0]
 00B1 08                push A
 00B2 5100              mov A,[__r1]
 00B4 08                push A
 00B5 7C0000            xcall _CMX_DIO_SetValue
 00B8 38FD              add SP,-3
 00BA                   .dbline -2
 00BA                   .dbline 55
 00BA           ; }
 00BA           L4:
 00BA 20                pop X
 00BB                   .dbline 0 ; func end
 00BB 7F                ret
 00BC                   .dbsym l bState -6 c
 00BC                   .dbsym l thisBLK -5 pX
 00BC                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -