Forum: Mikrocontroller und Digitale Elektronik Frage zur µC Programmierung in ASM


von Josef L. (sheepocado)


Lesenswert?

Hi,

Ich habe jetzt schon öfters in Assembler Code Beispielen Befehle 
gesehen, bei denen die Register in [] Klammern stehen (für den Infineon 
C167).

1. was ist der Unterschied von [R0] zu R0  ?
2. ist RH0 & RL0 zusammen R0, oder sind es eigene Register?


vielen Dank für eure Hilfe!

von R. F. (rfr)


Lesenswert?

Das ist eine Assemblertypische Sonderschreibweise, die Besonderheiten im 
Zugriff darstellt. Du solltest das Manual zum Assembler heranziehen.

Gruss

Robert

von Falk B. (falk)


Lesenswert?

@  Josef L. (sheepocado)

>1. was ist der Unterschied von [R0] zu R0  ?

Stichwort indirekte Adressierung.

>2. ist RH0 & RL0 zusammen R0, oder sind es eigene Register?

Keine Ahnung, steht sicher im Handbuch des Assemblers/uC.

MFG
Falk

von Stefan B. (Gast)


Lesenswert?

R0 ist an dieser Steller der Inhalt von Register R0

[R0] ist das Wort oder Byte an einer Speicheradresse, die in R0 steht
(Indirect word or byte memory location)

Siehe auch:
Data Sheets => Instruction Set Manual
http://www.keil.com/dd/chip/2913.htm

von Josef L. (sheepocado)


Lesenswert?

vielen Dank, so eine Beschreibung habe ich gesucht!

Die Zusammenfassung die ich habe war wohl etwas zu knapp (wohl schon für 
erfahrene gedacht).

von Ben _. (burning_silicon)


Lesenswert?

ist beim x86 genauso

von Josef L. (sheepocado)


Angehängte Dateien:

Lesenswert?

Ich habe folgende Aufgabe in einer Klausur gefunden, leider ohne Lösung.

Stimmt mein Ergebnis so:

R1: 1234h
R4:  0FFh
R0:   0Fh  (oder hier die Adresse von Daten?)
R1:   0Fh
R2:  300h
R0: 0302h
R4:  0F0h
R0:   02h

b) MOV R0, 302h
   MOV 304h, R0

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.