📄 main.lis
字号:
0000 cpu LMM
.module main.c
.area text(rom, con, rel)
0000 .dbfile ./main.c
0000 .dbfunc e main _main fV
0000 ; OSC_CR1_Bak -> X+1
0000 ; i -> X+0
0000 _main::
0000 .dbline -1
0000 10 push X
0001 4F mov X,SP
0002 3802 add SP,2
0004 .dbline 8
0004 ; //----------------------------------------------------------------------------
0004 ; // C main line
0004 ; //----------------------------------------------------------------------------
0004 ;
0004 ; #include <m8c.h> // part specific constants and macros
0004 ; #include "PSoCAPI.h" // PSoC API definitions for all User Modules
0004 ; void main()
0004 ; {
0004 .dbline 10
0004 ; unsigned char i,OSC_CR1_Bak;
0004 ; ADC10_1_Start(ADC10_1_FULLRANGE);
0004 10 push X
0005 5003 mov A,3
0007 7C0000 xcall _ADC10_1_Start
000A 20 pop X
000B .dbline 11
000B ; M8C_EnableGInt;
000B 7101 or F, 01h
000D
000D .dbline 12
000D ; OSC_CR1_Bak=OSC_CR1;
000D 7110 or F,0x10 ; iopage = 1
000F 5DE1 mov A,REG[0xe1]
0011 5401 mov [X+1],A
0013 70EF and F,0xEF ; iopage = 0
0015 8044 xjmp L3
0017 L2:
0017 .dbline 14
0017 ; while(1)
0017 ; {
0017 .dbline 15
0017 ; OSC_CR1 = OSC_CR1_Bak ;
0017 7110 or F,0x10 ; iopage = 1
0019 5201 mov A,[X+1]
001B 60E1 mov REG[0xe1],A
001D 70EF and F,0xEF ; iopage = 0
001F .dbline 16
001F ; OSC_CR1 = 0x1C;
001F 7110 or F,0x10 ; iopage = 1
0021 62E11C mov REG[0xe1],28
0024 70EF and F,0xEF ; iopage = 0
0026 L5:
0026 .dbline 17
0026 L6:
0026 .dbline 17
0026 ; while(ADC10_1_fIsDataAvailable() == 0);
0026 10 push X
0027 7C0000 xcall _ADC10_1_fIsDataAvailable
002A 62D000 mov REG[0xd0],>__r0
002D 20 pop X
002E 3900 cmp A,0
0030 AFF5 jz L5
0032 .dbline 18
0032 ; ADC10_1_StartADC();
0032 10 push X
0033 7C0000 xcall _ADC10_1_StartADC
0036 .dbline 19
0036 ; TX8_1_Start(TX8_1_PARITY_NONE);
0036 5000 mov A,0
0038 7C0000 xcall _TX8_1_Start
003B .dbline 20
003B ; TX8_1_PutSHexInt(ADC10_1_iGetData());
003B 7C0000 xcall _ADC10_1_iGetData
003E 62D000 mov REG[0xd0],>__r0
0041 5300 mov [__r1],A
0043 10 push X
0044 5100 mov A,[__r1]
0046 20 pop X
0047 7C0000 xcall _TX8_1_PutSHexInt
004A .dbline 21
004A ; ADC10_1_ClearFlag(); // Clear data ready flag
004A 7C0000 xcall _ADC10_1_ClearFlag
004D 20 pop X
004E .dbline 22
004E 560000 mov [X+0],0
0051 8003 xjmp L11
0053 L8:
0053 .dbline 22
0053 L9:
0053 .dbline 22
0053 7700 inc [X+0]
0055 L11:
0055 .dbline 22
0055 3D00FF cmp [X+0],-1
0058 CFFA jc L8
005A X1:
005A .dbline 23
005A L3:
005A .dbline 13
005A 8FBC xjmp L2
005C X0:
005C .dbline -2
005C .dbline 24
005C ; for(i=0;i<0xff;i++);
005C ; }
005C ; }
005C L1:
005C 38FE add SP,-2
005E 20 pop X
005F .dbline 0 ; func end
005F 8FFF jmp .
0061 .dbsym l OSC_CR1_Bak 1 c
0061 .dbsym l i 0 c
0061 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -