Hi, ich möchte folgenden C-Code in Assembler umschreiben:
1 | do
|
2 | {
|
3 | a = PINA & 0b10000000; |
4 | b = b-1; |
5 | } while ((a==0) && (b > 0)); |
6 | |
7 | if (b > 0) |
8 | PORTC = ~b; |
Ich habe schonal angefangen:
1 | .def a = r16 |
2 | .def b = r17 |
3 | |
4 | loopDo: |
5 | in a, PINA |
6 | ldi r19, 0b10000000 |
7 | and a, r19 |
8 | dec b |
9 | |
10 | sbrs a,7 |
11 | rjmp loopwhileBedingung1 |
12 | rjmp loopDoEnde |
13 | |
14 | loopwhileBedingung1: |
hier weiß ich nicht weiter, wie Frage ich ab, ob b größer als 0 ist? Liebe Grüße, krueemel