ich bekomme folgende fehlermeldung:
softuart_asm.S: Assembler messages:
softuart_asm.S:53: Error: constant value required
softuart_asm.S:63: Error: constant value required
dieser befehl wird beanstandet: sts wert_1,zl
wie schreibt man den in winavr-c?
ausschnitt hauptprogramm:
volatile uint8_t wert_1;
extern void soft_uart_empf(void);
programm uart.S :
#include <avr/io.h>
.global soft_uart_empf
.func soft_uart_empf
soft_uart_empf:
__Com1I:
ldi r24,0x09
rcall __Wtic_1
__C1I2:
rcall __Wtic_1
clc
ldi r16,4
out _SFR_IO_ADDR(PORTD), r16
sec
dec r24
breq __ende_1
ror zl
rjmp __C1I2
__Wtic_1:
dec r23
brne __Wtic_1
ret
__ende_1:
sts wert_1,zl
ret
.endfunc
.end
mfg karlheinz
nachbrenner: ror zl wird auch beanstandet. er nimmt den code zl nicht, was kann man dafür nehmen?
Hallo, kann es sein, dass im Assemblerprogramm das hier fehlt: .extern wert_1 ? Ansonsten würde ich mal probieren im Assembelerprogramm .comm wert_1,1 und im Hauptprogramm das als extern zu deklarieren. Grüße Andreas
wenn damit der ZL (ZPointer Lowbyte) gemeint ist: Man kann ROR und STS nur mit den Universal-Registern als Parameter benutzen (bei STS der hintere Parameter)..
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.