[CALU] Re: Assembler etc.

  • From: Günther Wimpassinger <e0525147@xxxxxxxxxxxxxxxxxxxx>
  • To: calu-ss2010-tuwien@xxxxxxxxxxxxx
  • Date: Fri, 23 Apr 2010 01:33:51 +0200

Zitat von Benedikt Huber <benedikt@xxxxxxxxxxxxxxxxxx>:

Hello,
auch hallo,

Der Assembler ist jetzt endlich fertig. Ich hab auch einigen
Maschinencode erzeugt und kontrolliert. Habs aber nicht bei allen
gemacht. Nach wie vor ist meine Frage im Bezug auf "PREDSET/PREDAND"
noch nicht beantwortet worden.

ich hab mit dem binsim angefangen, werd ihn aber erst am Sonntag
fertigmachen koennen.
Hm, ist okay.


@josip: falls du am code weiterhacken willst, einfach aendern (aber
vielleicht mir bescheidgeben, damit wir uns nicht ueberschneiden).

Ein paar Fragen:
@sim:
Koennte jemand die 8 Felder des p Parameter kommentieren bitte? Ich
nehm an meine Struktur  (Anhang) mapt irgendwie darauf.
p[x].t .. type
p[x].v .. value
p[x].s .. label-name

Die Reihenfolge ist meist von hinten nach vorne. Also p[0] = rd usw.
Bei den LD/ST Befehlen ist es ein bisschen anders, da hab ich es im
assembler bei den funktionen dokumentiert.


@asm:
Kompiliert bei mir (noch) nicht:
asmopcode.c: In function ‘add_instr’:
asmopcode.c:489: warning: implicit declaration of function ‘SWAPEND3’
asmopcode.c: In function ‘nop’:
asmopcode.c:569: warning: implicit declaration of function ‘SIGT_0’
Versuchs mal jetzt :)

@ISA:
Eventuelle Aenderungen bitte unbedingt in isa_final.{excel,pdf}  eintragen


@gcc
Irgendeine Ahnung, welches Flag man fuer binary constants (e.g.
0b0010) gcc uebergeben muss?
Oder kann das der mit Leopard geshipte nicht?
keine Ahnung

@Martin: Ich kann keinen SHA1 code nicht assemblieren, weil zu großen
Konstanten darin vorkommen. Kannst du das nachbessern? Ich werde morgen
jedenfalls meine Examples fertig machen. Und alle Änderungen die ich
an der Syntax vorgenommen habe, befinden sich, wie gesagt, im "inttxt"
(interpreter text).

@all: Momentan sind unsere Adressen für Sprünge so berechnet, dass
die erste Instruktion an Adresse 0 liegt. D.h. alle Programme müssten
dort beginnen. Wenn wir das nicht wollen, müssen wir eine Möglichkeit
der Adressmanipulation zur Verfügung stellen.
[a] im Assembler. Mit einer ".org" Anweisung, sagt ich, ab welcher
Adresse sich die nächsten Befehle befinden sollen. Bsp: ".org 0x100"
Die Adressen sind Instruktionsweise.
[b] Der "Uploader" passt die Adressen beim Übertragen zum FPGA an.
Bsp: "upld asm.hex 0x200". Bei allen B/CALL wird 0x200 addiert. Hier
liegt der Vorteil darin, dass man im voraus noch nicht die Adresse wo
sich das Programm mal befinden wird, nicht wissen muss.

Vote:
[a]:
[b]: Günther

gute nacht
Günther

p.s. hab jetzt das "inttxt" auf "txtsim" umbenannt, damit die
verwandtschaft zum "binsim" besser sichtbar wird.
p.p.s. @Martin: hab im "txtsim" Textsimulator noch ein paar
kleinigkeiten Ausgebessert.


Other related posts: