- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: Tabelle in Assembler (ATMega163) Opcode Error

  1. #1
    Neuer Benutzer
    Registriert seit
    21.12.2011
    Ort
    Bochum
    Beiträge
    2

    Tabelle in Assembler (ATMega163) Opcode Error

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    Ich versuche gerade ein Lockup-Table in Assembler zu realisieren. Mein Ansatz ist so:

    Code:
    .include "m163def.inc"
    
    Table:
    .dw $0C, $05, $06, $0B, $09, $00, $0A, $0D, $03, $0E, $0F, $08, $04, $07, $01, $02
    Allerdings bekomme ich dann den Error:

    Code:
    AVR Simulator: Invalid opcode 0x000a at address 0x000006
    Weiß jemand was ich falsch mache? Ich dachte die Tabelle würde nun einfach in den SRAM geschrieben werden und ich könnte dann dort auf diese zugreifen, aber anscheinend kann ich diese nicht problemlos hineinschreiben.

    Ich freu mich falls mir jemand Tipps geben kann

    nablahero

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wenn das da oben dein komplettes programm ist (?) isses klar:
    Der Simulator glaubt, deine Werte seinen AVR-Instructions. Immerhin, bis $0a kommt er, dann fehlt ihm der Plan.

    "Table" u. ".dw" schreibt der Kompiler in den Programmspeicher. Damit er nicht das ob. Problem hat, musst du drüberspringen z.b.
    Code:
    .include "m163def.inc"
      jmp   Next
    
    Table:
    .dw $0C, $05, $06, $0B, $09, $00, $0A, $0D, $03, $0E, $0F, $08, $04, $07, $01, $02
    
    Next:
    Geändert von PicNick (21.12.2011 um 16:07 Uhr)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer
    Registriert seit
    21.12.2011
    Ort
    Bochum
    Beiträge
    2
    Vielen Dank, das klappt nun. Ich wusste nicht das ich das überspringen muss.

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Man könnte das ünnötige Überspringen vermeinden, wenn alle Tabellen am Ende des Quelcodes von ausführbaren Teil des Programms plaziert werden (z.B. mit "org" Direktive).
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

Ähnliche Themen

  1. error: parse error before '=' token
    Von Bääääär im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 29.06.2007, 18:48
  2. [ERLEDIGT] BASCOM Timer1: error 46: assignment error
    Von Heiner Schmitz im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 26.02.2007, 09:09
  3. AVR Studio "Invalid Opcode..." bei Simulation
    Von MinisterK im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 05.08.2006, 20:27
  4. Tabelle
    Von dark emporer im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 19.06.2005, 10:41
  5. Tabelle in Assembler
    Von Monaco im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 08.05.2005, 17:05

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress