8051 - kleines Problem

Ich hab folgendes Problem mit einem 8051 Mycrocontroler:

Der 8051 ist ein 8-Bit-Microcontroler, d.h. die meisten seiner Register
sind 8 Bit breit und auch der Speicher ist nur byteweise adressierbar.
Der externe Datenspeicher und auch der separate Programmspeicher werden
jedoch über
16-Bit-Adressen adressiert. Dafür steht ein 16-Bit-Register zur
Verfügung, der sogenannte Datenpointer DPTR. Der Programm-Counter PC ist
auch 16 Bit breit, er kann jedoch nicht explizit angesprochen werden.
Dadurch gibt
es nun zumeist 8-Bit-Register aber auch ein einzelnes 16-Bit-Register
(DPTR), welches jedoch auch byteweise adressiert werden kann, nämlich
Low- und Highbyte extra. Wie kann man diese Gegebenheiten in den
Maschinen-Makros umsetzen ? (Geht der GCC nicht davon aus, dass alle in
FIXED_REGISTERS, ... usw. benannten Register dieselbe Breite aufweisen?)

Vielen Dank für eure Hilfe !

mfg
 
AW: 8051 - kleines Problem

Hi!


Berechtigte Frage...

Es ist so, dass alle Register wirklich 8Bit - Register sind.
Auch ist es so, dass das ProgrammCounter - Reg. 16 Bit umfasst; das geht aber nur, indem 2 Register scheinbar zusammengefasst werden.


Ein Beispiel, wo der PC verändert wird (z.B. durch einen Sprungbefehl):

Der Opcode für Jump wird eingelesen --> 1. Byte
Das Byte für den neuen, niederwertigeren PC wird eingelesen -->2. Byte
Das Byte für den neuen, höherwertigeren PC wird eingelesen --> 3. Byte


=> Um ein 16Bit - Register zu verändern, werden nacheinander 2 8Bit - Register verändert.



Hoffe, nun ist alles klar...

...So, und vor lauter Bits und Bytes habe ich jetzt ein ziemliches Verlangen nach...
...Bitte ein Bit!!! :drink:


Grüße an die Füße, 8)
Christian
 

Jobs

Jobmail abonieren - keine Jobs mehr verpassen:

Ich möchte die wöchentliche Jobmail erhalten und akzeptiere die Datenschutzerklärung.
Du kannst die Jobmail jederzeit über den Link in der Mail abbestellen.

Wir verwenden Sendinblue als unsere Marketing-Plattform. Wenn Du das Formular ausfüllst und absendest, bestätigst Du, dass die von Dir angegebenen Informationen an Mailchimp zur Bearbeitung gemäß den Nutzungsbedingungen übertragen werden.

Top