1 | if (adc1_Offset == 0x8000)
|
2 | 000004B8 LDS R24,0x21C9 Load direct from data space
|
3 | 000004BA LDS R25,0x21CA Load direct from data space
|
4 | 000004BC SUBI R24,0x00 Subtract immediate
|
5 | 000004BD SBCI R25,0x80 Subtract immediate with carry
|
6 | 000004BE BREQ PC+0x03 Branch if equal
|
7 | 000004BF LDI R20,0x00 Load immediate
|
8 | 000004C0 RJMP PC+0x0030 Relative jump
|
9 | --- D:\dSeb work\AVRStudio5\LeoCode NightBuild\EM\default/.././main.c ----------
|
10 | while( !(ADCA_CH1_INTFLAGS&0x01)&0x01 );
|
11 | 000004C1 LDS R24,0x022B Load direct from data space
|
12 | 000004C3 SBRS R24,0 Skip if bit in register set
|
13 | 000004C4 RJMP PC-0x0003 Relative jump
|
14 | ADCA_INTFLAGS = 0b0010; //clear ADC1 flag
|
15 | 000004C5 LDI R24,0x02 Load immediate
|
16 | 000004C6 STS 0x0206,R24 Store direct to data space
|
17 | adc1_Offset = ADCA_CH1_RES-0x1234;
|
18 | 000004C8 LDS R18,0x022C Load direct from data space
|
19 | 000004CA LDS R19,0x022D Load direct from data space
|
20 | 000004CC SUBI R18,0x34 Subtract immediate
|
21 | 000004CD SBCI R19,0x12 Subtract immediate with carry
|
22 | 000004CE LDI R20,0x01 Load immediate
|
23 | ADCA_INTFLAGS = 0b0010; //clear ADC1 flag
|
24 | 000004CF LDI R21,0x02 Load immediate
|
25 | ADCA_CTRLA |= (0b0010<<2); // ([3210]<<2): channel 1
|
26 | 000004D0 LDS R24,0x0200 Load direct from data space
|
27 | 000004D2 ORI R24,0x08 Logical OR with immediate
|
28 | 000004D3 STS 0x0200,R24 Store direct to data space
|
29 | while( !(ADCA_CH1_INTFLAGS&0x01)&0x01 );
|
30 | 000004D5 LDS R24,0x022B Load direct from data space
|
31 | 000004D7 SBRS R24,0 Skip if bit in register set
|
32 | 000004D8 RJMP PC-0x0003 Relative jump
|
33 | ADCA_INTFLAGS = 0b0010; //clear ADC1 flag
|
34 | 000004D9 STS 0x0206,R21 Store direct to data space
|
35 | adc1_Offset += (ADCA_CH1_RES);
|
36 | 000004DB LDS R24,0x022C Load direct from data space
|
37 | 000004DD LDS R25,0x022D Load direct from data space
|
38 | adc1_Offset+=10;
|
39 | 000004DF ADIW R24,0x0A Add immediate to word
|
40 | 000004E0 ADD R18,R24 Add without carry
|
41 | 000004E1 ADC R19,R25 Add with carry
|
42 | for (uint8_t i=1; i<=3; i++)
|
43 | 000004E2 SUBI R20,0xFF Subtract immediate
|
44 | --- D:\dSeb work\AVRStudio5\LeoCode NightBuild\EM\default/.././main.c ----------
|
45 | 000004E3 CPI R20,0x04 Compare with immediate
|
46 | 000004E4 BRNE PC-0x14 Branch if not equal
|
47 | adc1_Offset = adc1_Offset>>2; //div 4
|
48 | 000004E5 LSR R19 Logical shift right
|
49 | 000004E6 ROR R18 Rotate right through carry
|
50 | 000004E7 LSR R19 Logical shift right
|
51 | 000004E8 ROR R18 Rotate right through carry
|
52 | adc1_Offset = adc1_Offset - 512;
|
53 | 000004E9 SUBI R18,0x00 Subtract immediate
|
54 | 000004EA SBCI R19,0x02 Subtract immediate with carry
|
55 | 000004EB STS 0x21C9,R18 Store direct to data space
|
56 | 000004ED STS 0x21CA,R19 Store direct to data space
|
57 | 000004EF LDI R20,0x01 Load immediate
|
58 | ADCA_CTRLA |= (0b0010<<2);
|
59 | 000004F0 LDS R24,0x0200 Load direct from data space
|
60 | 000004F2 ORI R24,0x08 Logical OR with immediate
|
61 | 000004F3 STS 0x0200,R24 Store direct to data space
|