Forum: Mikrocontroller und Digitale Elektronik Assemblercode eines H8S/2357


von Günther (Gast)


Lesenswert?

Moin Leute,
wir sitzen grade an einer Klausuraufgabe im Fach Computertechnik und 
kommen nicht weiter. Es ist ein Assemblercode eines H8S/2357 gegeben. 
Soweit ist alles klar, bis auf folgende Zeilen:

0000001E 00010002* LAB4: DC.W  1,2,4,8,16,32,64,128,256,512,1024,2048
00000036 10020000*       DC.W  4094,8192,16384,32768
00000010           LAB5: EQU   ($-LAB4)/2 ;Was passiert hier? Was macht 
das Dollarzeichen?

Danke euch

Grüße

von Stefan B. (stefan) Benutzerseite


Lesenswert?

$ ist der aktuelle Location Counter.
Das Konstrukt berechnet wahrscheinlich die Grösse der Datentabelle.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der "location counter" ist bei Beginn der Deklaration von LAB4 0x1E.

Es werden 16 WORDs definiert, also ist der "location counter" danach 
0x3E.

Davon wird LAB4 abgezogen, was 0x20 ergibt, und das wiederum wird durch 
zwei geteilt - das Resultat ist 0x10 (16).

Offensichtlich wird so die Anzahl der unter LAB4 abgegelegten 
16-Bit-Konstanten bestimmt.

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.