Olli Z. schrieb:
> Die S12 Doku von NXP sagt jedoch das hier eine Immediate
> Memory Value Adressierung
Also das muß mittlerweile bald 40 Jahre her sein, daß ich mich mal ein
wenig mit Assembler beschäftigt hatte, aber Immediate 'Adressierung'
gehört zu den wenigen Dingen, die mir davon in Erinnerung geblieben
sind; vermutlich genau deshalb, weil diese 'Adressierungsvariante' ohne
Adresse auskommt - der Operand steht eben unmittelbar nach dem Opcode im
Speicher.
Olli Z. schrieb:
> der Inhalt der Speicherstelle $3FFF in den SP geladen werden
Steht das wirklich genau so (also ohne Klammern, Kommas o.ä. um $3FFF)
in der Doku?
Olli Z. schrieb:
> also da es 16 Bit sind $3FFF und $4000.
Daß die Doku auch das sagt, hast Du aber mit Sicherheit frei erfunden.
Als ich beim Lesen Deines OP an diesem Punkt angekommen war, hab ich
mich dann doch ziemlich gewundert, ob NXP hier unter Immediate
Adressierung etwas völlig anderes versteht, als allgemein üblich?
Olli Z. schrieb:
> "Loads the most significant byte of the SP with the content
> of memory location M : M + 1, and loads the least significant
> byte of the SP with the content of the next byte of memory at > M : M + 1."
Nachdem in dieser Erklärung der Ausdruck M : M + 1 explizit zwei Mal
vorkommt, erst für das MSB und dann nochmal in Bezug auf das LSB, kann
dieser Ausdruck offensichtlich nicht direkt für die beiden
aufeinanderfolgenden Bytes an Adresse M und M+1 stehen, sondern nur für
die Anweisung bzw. den Vorgang daß M um eins hochgezählt wird.
Olli Z. schrieb:
> Oder ist "M" ein Synonym für PC (Program-Counter)?
Das könnte man so sagen, ja. Ich vermute 'M' steht konkret für das
Memory (Address Register) des Rechenwerks, daß direkt den Zustand der
Adressleitungen repräsentiert.
Wenn das Rechenwerk dieses M grundsätzlich inkrementiert während es
gleichzeitig den eben geladenen Opcode decodiert - was jedenfalls
absolut sinnvoll wäre, weil der nächste Speicherzugriff fast immer
(außer bei Stackoperationen) auf diese unmittelbar folgende
Speicherstelle erfolgen wird - dann kann es anschließend sofort mit der
Befehlsausführung beginnen. Das erklärt dann auch die Bezeichnung
Immediate, dessen Bedeutung ja eine zeitliche und keine Örtliche
Unmittelbarkeit ist.
Olli Z. schrieb:
> Komisch das wirklich alles erklärt ist nur dieses "M"
> nicht... naja.
Dann schau noch mal ganz genau… (kleiner Tip: Seite 22, ganz oben)