Forum: Mikrocontroller und Digitale Elektronik Probleme in Assembler mit Tiny15


von marco (Gast)


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

von Johannes A. (Gast)


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

von Johannes A. (Gast)


Lesenswert?

Sorry, ich übersah: Auch für ldi gilt erstens...

Gruß Johannes

von marco (Gast)


Lesenswert?

Danke jetzt hat es geklappt!

MfG
Marco

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
Noch kein Account? Hier anmelden.