[CALU] Binär-Assembler

  • From: Günther Wimpassinger <e0525147@xxxxxxxxxxxxxxxxxxxx>
  • To: "CALU G. Wimpassinger" <calu-ss2010-tuwien@xxxxxxxxxxxxx>
  • Date: Wed, 21 Apr 2010 18:21:56 +0200

Hi,

kurze Anmerkung:

Unser ASM(interpreter) unterstützt ".long", usw. Bis jetzt habe ich
einfach an der Stelle an der diese Anweisung stand die entsprechenden
Daten in das "Instruction Memory" geschrieben.

Da wir beschlossen haben, die Instruktionen wortweise zu adressieren,
stellt sich mir die Frage wie folgender Code im Binärformat aussehen
soll [unsere Instruktionen sind 32 Bit breit, wovon nur die unteren 24
Bit verwendet werden].

      nop
      .long 0x12345
      nop
      .byte 0xff
lbl1:  nop
      .byte 0xff
lbl2:  .short 0x4321
      nop

An welchen Adressen stehen die Instruktionen, wo die Daten und welche
Adressen haben die Labels?

Überlegt euch mal, wie und welches Speicher wir haben und an welchen
Adressen diese liegen. Vielleicht denk ich einfach nur zu kompliziert.
Ich mach es jetzt erstmal so, dass der Assembler diese ".long", etc.
Einträge separat behandle und diese keinen Instruktionsspeicher
benötigen. Die Intel-Hex Ausgabe wird vorerst einen .code und eine
.data section haben, wo jede Zeile 4 Byte (32 Bit) lang ist.

Martins Interpreter handhabt das so, wenn ich richtig liege so, dass es
sich dabei um einen separaten Speicher (er nennt es Flash) handelt.

lg
Günther


Other related posts:

  • » [CALU] Binär-Assembler - Günther Wimpassinger