📄 systemvars.lis
字号:
0000 cpu LMM
.module systemvars.c
.area text(rom, con, rel)
0000 .dbfile ./systemvars.c
0000 .dbfunc e pse_GREENLED_TransferFunction _pse_GREENLED_TransferFunction fV
0000 ; outputIndex -> X+0
0000 _pse_GREENLED_TransferFunction::
0000 .dbline -1
0000 10 push X
0001 4F mov X,SP
0002 3801 add SP,1
0004 .dbline 15
0004 ; //
0004 ; // SystemVars.c
0004 ; //
0004 ; // Updates system variables
0004 ; #include "CMXSystem.h"
0004 ; #include "CMXSystemFunction.h"
0004 ; #include "SystemConst.h"
0004 ; #include "FunctionParamDecl.h"
0004 ; #include "SystemVars.h"
0004 ;
0004 ; // system variable structure definition
0004 ; SYSTEM_VARS_STRUC SystemVars;
0004 ;
0004 ; void pse_GREENLED_TransferFunction()
0004 ; {
0004 .dbline 16
0004 ; BYTE outputIndex = SystemVars.ReadOnlyVars.pse_GREENLED;
0004 62D000 mov REG[0xd0],>_SystemVars
0007 5100 mov A,[_SystemVars]
0009 5400 mov [X+0],A
000B .dbline 18
000B ;
000B ; if (SystemVars.ReadOnlyVars.pse_Proximity_Status > 0)
000B 5000 mov A,0
000D 1202 sub A,[_SystemVars+1+1]
000F 5101 mov A,[_SystemVars+1]
0011 3180 xor A,-128
0013 62D000 mov REG[0xd0],>__r0
0016 5300 mov [__rX],A
0018 5080 mov A,(0 ^ 0x80)
001A 1A00 sbb A,[__rX]
001C D006 jnc L12
001E X0:
001E .dbline 19
001E ; {
001E .dbline 20
001E ; outputIndex = pse_GREENLED__ON;
001E 560001 mov [X+0],1
0021 .dbline 21
0021 ; }
0021 8004 xjmp L13
0023 L12:
0023 .dbline 22
0023 ; else if (1)
0023 .dbline 23
0023 ; {
0023 .dbline 24
0023 ; outputIndex = pse_GREENLED__OFF;
0023 560000 mov [X+0],0
0026 .dbline 25
0026 ; }
0026 L15:
0026 L13:
0026 .dbline 27
0026 ;
0026 ; SystemVars.ReadOnlyVars.pse_GREENLED = outputIndex;
0026 5200 mov A,[X+0]
0028 62D000 mov REG[0xd0],>_SystemVars
002B 5300 mov [_SystemVars],A
002D .dbline -2
002D .dbline 30
002D ;
002D ;
002D ; }
002D L11:
002D 38FF add SP,-1
002F 20 pop X
0030 .dbline 0 ; func end
0030 7F ret
0031 .dbsym l outputIndex 0 c
0031 .dbend
0031 .dbfunc e pse_REDLED_TransferFunction _pse_REDLED_TransferFunction fV
0031 ; outputIndex -> X+0
0031 _pse_REDLED_TransferFunction::
0031 .dbline -1
0031 10 push X
0032 4F mov X,SP
0033 3801 add SP,1
0035 .dbline 33
0035 ;
0035 ; void pse_REDLED_TransferFunction()
0035 ; {
0035 .dbline 34
0035 ; BYTE outputIndex = SystemVars.ReadOnlyVars.pse_REDLED;
0035 62D000 mov REG[0xd0],>_SystemVars
0038 5103 mov A,[_SystemVars+3]
003A 5400 mov [X+0],A
003C .dbline 36
003C ;
003C ; if (SystemVars.ReadOnlyVars.pse_Proximity_Status > 0)
003C 5000 mov A,0
003E 1202 sub A,[_SystemVars+1+1]
0040 5101 mov A,[_SystemVars+1]
0042 3180 xor A,-128
0044 62D000 mov REG[0xd0],>__r0
0047 5300 mov [__rX],A
0049 5080 mov A,(0 ^ 0x80)
004B 1A00 sbb A,[__rX]
004D D006 jnc L19
004F X1:
004F .dbline 37
004F ; {
004F .dbline 38
004F ; outputIndex = pse_REDLED__OFF;
004F 560000 mov [X+0],0
0052 .dbline 39
0052 ; }
0052 8004 xjmp L20
0054 L19:
0054 .dbline 40
0054 ; else if (1)
0054 .dbline 41
0054 ; {
0054 .dbline 42
0054 ; outputIndex = pse_REDLED__ON;
0054 560001 mov [X+0],1
0057 .dbline 43
0057 ; }
0057 L22:
0057 L20:
0057 .dbline 45
0057 ;
0057 ; SystemVars.ReadOnlyVars.pse_REDLED = outputIndex;
0057 5200 mov A,[X+0]
0059 62D000 mov REG[0xd0],>_SystemVars
005C 5303 mov [_SystemVars+3],A
005E .dbline -2
005E .dbline 48
005E ;
005E ;
005E ; }
005E L17:
005E 38FF add SP,-1
0060 20 pop X
0061 .dbline 0 ; func end
0061 7F ret
0062 .dbsym l outputIndex 0 c
0062 .dbend
.area data(ram, con, rel)
0000 .dbfile ./systemvars.c
0000 _SystemVars::
0000 00000000 .byte 0,0,0,0
0004 .dbsym e SystemVars _SystemVars X
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -