Hier der Code
1 | void main(void) { |
2 | |
3 | //~ init_io();
|
4 | |
5 | PORTA = 0x00; |
6 | ADCON1 = 0x06; |
7 | TRISA = 0xFF; |
8 | |
9 | PORTB = 0x00; |
10 | TRISB = 0xFF; |
11 | |
12 | PORTC = 0x00; |
13 | TRISC = 0xFD; |
14 | |
15 | |
16 | while(1) { |
17 | RC1 ^= 1; |
18 | }
|
19 | }
|
Das Toggeln wird zu:
1 | l343: |
2 | bcf status, 5 ;RP0=0, select bank0 |
3 | movlw 1<<((57)&7) |
4 | xorwf ((57)/8),f |
5 | goto l343 |
Wenn die Initialisierung in init_io() verlagert wird, gibt es immer einen Befehl mehr beim Toggeln:
1 | l1517: |
2 | bcf status, 5 ;RP0=0, select bank0 |
3 | bcf status, 6 ;RP1=0, select bank0 |
4 | movlw 1<<((57)&7) |
5 | xorwf ((57)/8),f |
6 | goto l1517 |
Was passiert da und wieso?