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.