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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.