Welcome! » Log In » Create A New Profile

segmentregister

Posted by patrick 
segmentregister
September 27, 2004 11:05PM
warum werden die ersten 8 bits des internen datenbus in das segementregister geladen? zudem wie funktionieren die befehle load des segmentregisters?
Ich
Re:
September 28, 2004 12:42AM
Eigentlich wird in das SEG Register nur geladen, wenn eine Anweisung nach dem Schema LOAD/LOADI SEG i ausgeführt wird. Bis dahin werden die 24 niederen Bits mit den 8 Bits aus dem SEG Register zu einer 32-Bit-Adresse zusammengesetzt.
Ich denke, die Leitung die von DI zu SEG führt ist zum Nachladen von SEG da (so wie bei anderen Registern). Sobald du ein LOAD SEG ausführst wird SEG geclockt und der Wert, der da anliegt, ins SEG übernommen.

Sie funktionieren so, wie sie eigentlich definiert sind, nur mit dem einen Unterschied, dass der Wert, den du ins SEG speichern möchtest, eben nur 8-Bit lang sein kann.
Armin
Re:
September 28, 2004 09:34AM
Leider wurde nicht viel dazu gesagt welche Bits denn genau in das SEG geladen werden. Die ersten 8 des Datenbusses können es ja nicht sein... oder? Ab Bit 24, oder die letzten 8?

Und warum genau 8? Zur Erstellung der MemMap reichen doch 2, die restlichen 6 sind dann 0er?
Re:
September 28, 2004 10:41AM
ich seh darin auch ein problem den befehl so auszuführen wie er vorhanden ist. wenn man z.b. sagt man will aus der dem eprom mit einem befehl starten der besagt dass man einen wert in das sram schreibt, dann wird der programcounter den nächsten befehl im sram abrufen, da das segmentregister auf sram eingestellt ist, jedoch sollte die cpu die befehle aus dem eprom laden!
Ich
Re:
September 28, 2004 04:17PM
SEG betrifft nur LOAD/STORE wie man unschwer an den Datenpfaden erkennen kann. Man kann also durchaus ins SRAM schreiben ohne dabei das SEG Register zu benutzen. Zum Bsp. kann man STOREINj verwenden.

Warum genau 8? Weil genau 8 zur Verfügung stehen. Später verwendet man das Register SEG auch in Verbindung mit SRAMs, deren Adressen größern als 24-Bit sind.

Naja LOAD D i erwartet eine 32-Bit Konstante als Zweierkomplement. Wenn du jetzt SEG auf SRAM umstellen wölltest, dann würde ich einfach 128 ins SEG laden. Dann steht in SEG höchst wahrscheinlich 10000000. Wie das intern gelöst wird, ist erstmal nicht so wichtig.
Ich
Re:
September 29, 2004 05:31PM
test :D
Sorry, you do not have permission to post/reply in this forum.