Probleme in Assembler mit Tiny15

Gast #426727
Lesenswert?

Ich habe bisher immer einen ATMegae8535 in C programmiert. Als der 
Compiler mir bei der MCU ATTiny15 meldete das sie nicht unterstützt 
wird, musste ich jetzt auf AVR-Studio umsteigen.

Folgendes kleines Demoprogramm habe ich geschireben:

1   .include "tn15def.inc"
2
3    ldi  r0, 0x3F
4    out  DDRB, r0
5
6    ldi  r0, 0x10
7    clr  r1
8
9   main:  out  PORTB, r0
10  loop:  inc  r1
11    cpi  r1, 0x00
12    brne loop
13    eor  r1, 0x10
14    rjmp main

In den Zeilen 4,6,11,13 bekomme ich den Fehler Invalid register.

Jetzt verstehe ich nicht ganau wo der Fehler liegt. Aufgefallen ist mir 
das sind alles Zeilen mit Wertzuweisung. Ich habe aber keine Ahnung was 
daran falsch sein soll.
Oder gibt es die Register 0 und 1 im Tiny 15 nicht? Aber dann müssten ja 
alle Zeilen falsch sein.

Ihr seht Fragen über Fragen.
Aber ich bin mir sich ihr könnt mir helfen!

MfG
marco
Gast #426733
Lesenswert?

Erstens kannst Du cpi nur auf die Register ab 16 anwenden,
und zweiten geht eor nur zwischen Registern.

Ansonsten hat der Tiny15 sehr wohl alle Register 0 bis 31,
nur kein RAM.

Gruß Johannes

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