Forum: Mikrocontroller und Digitale Elektronik S12-CPU ASM was bedeutet das Symbol *


von Peter K. (kloetpatra)


Lesenswert?

Hi, ich möchte für den MC9S12G48 Controller ein Assemblerprogramm 
anzupassen und verstehe aber nicht genau was das Symbol * in folgendem 
Programmausschnitt bedeutet:
1
PORT_S       equ   $0248               ; Port S Data Register
2
SEL_MC       equ   $1                  ; Select MC - PortS Bit 0
3
...
4
5
wait:
6
             brclr PORT_S, #SEL_MC, *  ; Warten bis deselektiert

Ich weiß zwar dass solange gewartet wird, bis der Eingang Port S Bit 0 - 
low ist. Kann mir denn aber jemand die genaue Bedeutung von "*" 
erklären? Wo kann man das noch verwenden?

Im CPU-Manual 
(http://cache.freescale.com/files/microcontrollers/doc/ref_manual/S12XCPUV2.pdf) 
konnte ich leider absolut nichts dazu finden.

von Karl H. (kbuchegg)


Lesenswert?

Im CPU Manual wirst du da auch nicht fündig. Du musst im Handbuch deines 
Assemblers nachsehen.

Aus der Position geraten, könnte der * ein Platzhalter für den aktuellen 
Wert des Programmcounters sein. Kurz gesagt: Der * steht für die 
Adresse, an der der Befehl steht. Genaueres weiß aber mit Sicherhit die 
Doku zum Assembler (also der Teil der Doku, in der auch zb equ 
beschrieben ist)

: Bearbeitet durch User
von Peter K. (kloetpatra)


Lesenswert?

Super vielen Dank, ja genau da steht es.

> The * refers to the beginning of the instruction where it is specified.

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.