Fehler: "Operand out of range" bei out-Befehl

Gast #482517
Lesenswert?

Hallo!

Habe einen Asm-Code erhalten um DMX-Signale auszuwerten.

Jedoch tauchen beim compilieren mehrere Fehler folgender Art auf:

Bei

ldi temp, 0x01
out UBRRL, temp

erhalte ich die Fehlermeldung "Operand 1 out of range: 0xc4"

Dies wunderte mich nach einem Blick in die Hilfe auch nicht mehr, da es 
dort heisst: OUT A, Rr 0 < r < 31, 0 < A < 63
OK! 0xc4 ist natürlich größer als 63, aber ich möchte nun halt mal das 
Baud-Register vom UART beschreiben. Nur welchen Befehl kann ich anstelle 
von "out" nehmen??

Kann mir jemand weiter helfen?

Gruß Mark
(Firma: TravelRec.) Persönliche Seite #482691
Lesenswert?

Bei neueren AVR-Controllern sind etliche Register in den erweiterten 
I/O-Bereich gewandert, der sich nur mit "lds" für Lesen und "sts" für 
Schreiben ansprechen läßt. Direkte Bitmanipulationen sind dort auch 
nicht mehr mit "cbi", "sbi", "sbis" und "sbic" zu machen, sondern 
indirekt über ein temporäres Register mit "cbr", "sbr", "sbrs" und 
"sbrc".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren