Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » U88xx Stack verhalten? » Themenansicht

Autor Thread - Seiten: -1-
000
27.10.2013, 09:52 Uhr
PIC18F2550

Avatar von PIC18F2550

Hi,

PUSH auf externen RAM.

Wird der Pointer erst decrementiert und dann geschrieben oder erst geschrieben und dann decrementiert?

Mich zieht es zur 1. Variante hin aber im Borman/Rentsch kann ich nichts dazu finden.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
27.10.2013, 12:18 Uhr
Wusel_1



Erst geschrieben und dann decrement.
--
Beste Grüße Andreas
______________________________________
DL9UNF ex Y22MF es Y35ZF
JO42VP - DOK: Y43 - LDK: CE

*** wer glaubt, hört auf zu denken ***
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
27.10.2013, 12:32 Uhr
PIC18F2550

Avatar von PIC18F2550

Ju+Te Computer 2k version

; +-----------+-----------------------------------+
; |1k RAM FFFF| 512 Byte Graphik- |
; | FE00| Bildwiederholspeicher |
; +-----------+-----------------------------------+
; | FDFF| 128 Byte Systemstack |
; | FD80| |
; +-----------+-----------------------------------+


SPHM EQU 000FEh ; original
SPLM EQU 00000h ; original


;-----------------------------------------------------------------------------
; Eintritt aus Bootstrap Module
;-----------------------------------------------------------------------------
M_08FF:
srp #0F0h ; SFR-Page
assume RP:0F0h
ld SPL ,#0 ; Stackpointer auf %FE00
ld SPH ,#SPHM


Das würde bedeuten das die Zelle FD00h von Stackpointer und vom BWS gemeinsam genutzt wird?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
27.10.2013, 12:43 Uhr
kaiOr

Avatar von kaiOr

http://bitsavers.trailing-edge.com/pdf/zilog/z8/Z8_Assembly_Language_Programming_Manual_Dec80.pdf

Seite 82

Erst wird decrementiert und dann geschrieben.

Als Ostdeutsche Referenz hätte ich hier die "Arbeitsunterlagen zur Anwendung des Einchip- Microrechners UB 8810 / UB 8820" der Ingenieurhochschule Dresden. Da stehts auch so drin.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
27.10.2013, 13:53 Uhr
PIC18F2550

Avatar von PIC18F2550

Arbeitsunterlagen als pdf?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 27.10.2013 um 13:54 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
27.10.2013, 15:52 Uhr
Micha

Avatar von Micha


Zitat:
PUSH auf externen RAM.

wo soll denn sonst hingepusht werden? :neenee:

Praktisch hab ich die Tage ausgiebig mit einem Z180 experimentiert. Hab auch experimentiert, ob man am Anfang
LD SP,0
oder
LD SP,FFFFh
laden muss, damit der Stack an der Oberkante von 64K Speicher loslegt. Die erste Variante ist richtig.

Anders ausgedrückt: der SP führt Pre-Decrement aus.

Dieser Beitrag wurde am 27.10.2013 um 16:01 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
27.10.2013, 18:09 Uhr
paulotto



Hallo Micha,

hier geht es um einen Z8 und da ist das Mittel der Wahl der interne Registersatz für den Stack. Man wählt über das Portmoderegister PM01 den internen Stack aus und setzt SPL auf 80h. Da der SP zuerst dekrementiert wird, weist er dann auf das letzte verfügbare Register 7Fh, wo dann der erste Wert abgelegt wird (z.B. bei PUSH, bei CALL oder bei Eintritt in die ISR).

Gruß Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
27.10.2013, 21:08 Uhr
PIC18F2550

Avatar von PIC18F2550

Danke für eure Antworten.

Eine Frage noch kennt jemand eine Webseite wo der UB88xx auf deutsch beschrieben ist?
Oder kann mir jemand Dokumente zum UB88xx auf deutsch als pdf zukommen lassen?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
27.10.2013, 21:31 Uhr
meikel

Avatar von meikel


Zitat:
PIC18F2550 schrieb
Oder kann mir jemand Dokumente zum UB88xx auf deutsch als pdf zukommen lassen?

Ich verwende diese Schwarte:
Einchipmikrorechner
Kieser, Heiko und Mario Bankel
1. Auflage, VEB Verlag Technik Berlin, 1986, 319 Seiten

Hier gäbe es die 2. Auflage von 1989, gebraucht und zu einem akzeptablen Preis:
http://www.amazon.de/Einchipmikrorechner-Heiko-Kieser/dp/3341007393

Obs das Teil auch als PDF/ebook gibt, habe ich nicht ermitteln können.
Aber das gibt es:
http://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/tiny:abc.pdf
Und hier gibts weitere Literaturhinweise:
http://hc-ddr.hucki.net/wiki/doku.php/tiny:u881

<006>

Zitat:
Da der SP zuerst dekrementiert wird, weist er dann auf das letzte verfügbare Register 7Fh, wo dann der erste Wert abgelegt wird (z.B. bei PUSH, bei CALL oder bei Eintritt in die ISR).

Etwas ungenau.
push src:
SP := SP - 1
@SP := src

call, Interrupt:
SP := SP - 2
@SP := PC (zeigt auf den Befehl nach dem call)
Dummerweise steht in meinem Buch nicht die Reihenfolge drin (oder ich finde es nicht), wie die 16bit Returnadresse auf dem Stapel landet.
Bei literalen 16Bit-Eingabedaten folgt dem Befehl das H-Byte und das L-Byte.

Beim Z8 gilt zumindest das:
FFE Stack Pointer High Byte SPH XX
FFF Stack Pointer Low Byte SPL XX

Da Du möglicherweise den Ju+Te Computer beackerst:
http://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/tiny:buch.pdf
Auf Seite 11 wird die etwas trickreiche Bildausgabe erläutert.

EDIT
btw: haste auch den MPBASIC Interpreter, der im U883x wohnt? Falls ja: wo gefunden?

Erledigt weil gefunden.

Dieser Beitrag wurde am 28.10.2013 um 00:06 Uhr von meikel editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
28.10.2013, 09:18 Uhr
P.S.



@PIC18F2550 <007>
(Zitat): "... kann mir jemand Dokumente zum UB88xx auf deutsch als pdf zukommen lassen?"
Dem kann abgeholfen werden - siehe hier: http://www.ps-blnkd.de/Seite3.htm.
Unter "ebooks und Vorträge" steht - PS-eBook "Einchipmikrorechner made in GDR - ein Tutorial". -

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weiß nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheber- und Markenrecht!
PS

Dieser Beitrag wurde am 28.10.2013 um 09:18 Uhr von P.S. editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
28.10.2013, 13:11 Uhr
u.nickel



@ meikel:

push src:
SP := SP - 1
@SP := src

Nicht "Etwas ungenau", sondern ganz genau!!!
Erst decrementieren, dann ablegen...

Und nicht das es zu Verwechselungen führt:
Beim Z8 gilt zumindest das:
FFE Stack Pointer High Byte SPH XX
FFF Stack Pointer Low Byte SPL XX
Damit sind die EMR-internen Register FF und FE gemeint.

Zur Ablage der 16-bit Rückkehradressen:
call ziel:
SP := SP - 1
@SP := PC L-Teil
SP := SP - 1
@SP := PC H-Teil
PC:= Ziel

Gruß Uwe
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
28.10.2013, 20:21 Uhr
meikel

Avatar von meikel

@u.nickel
Ich wollte auch darauf hinweisen, daß beim Push nur ein Byte und beim Call 2 Bytes gestapelt werden.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
28.10.2013, 21:57 Uhr
kaiOr

Avatar von kaiOr


Zitat:
PIC18F2550 schrieb
Arbeitsunterlagen als pdf?

Najo, A5-Heft, braun in braun. Musst mal guggn obs für dich lesbar ist.
http://pontacko.tfn-clan.de/files/tmp/Anwdg_EMR_UB88xx.pdf

Dieser Beitrag wurde am 28.10.2013 um 22:00 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
28.10.2013, 22:41 Uhr
PIC18F2550

Avatar von PIC18F2550

Danke kaiOr,

ist alles lesbar.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
06.11.2013, 21:55 Uhr
PIC18F2550

Avatar von PIC18F2550


Zitat:
meikel schrieb
Einchipmikrorechner
Kieser, Heiko und Mario Bankel
1. Auflage, VEB Verlag Technik Berlin, 1986, 319 Seiten

Hier gäbe es die 2. Auflage von 1989, gebraucht und zu einem akzeptablen Preis:
http://www.amazon.de/Einchipmikrorechner-Heiko-Kieser/dp/3341007393

Danke das Buch hab ich jetzt da und es werden gleich ein paar Dinge verständlicher.

Ist im sehr guten zustand und enthält keine Kritzelein.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 06.11.2013 um 21:55 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek