Gast
#139349
Hallo miteinander, ich bin Student und habe mich in letzter Zeit im Rahmen unseres Baugruppen-Praktikums genauer mit dem Thema Mini-Modul MM-537 und dessen Programmierung beschäftigt. Während meiner Arbeit bin ich dann auf dieses Forum gestoßen und hoffe, dass Ihr mir bei meinen kleinen Problemchen, die ich noch habe, helfen könnt. Meine Praktikums-Aufgabe besteht darin, während unseres Baugruppen-Praktikums ein Programm zu entwickeln, das die Registerbänke wahlweise binär oder hexadezimal auf dem Monitor (über den Hyper-Terminal) des Host-PC anzeigt. Übergabeparameter sollen einmal die Registerbank-Nr. und zum anderen die Darstellungsart (B oder H) sein. Im Anhang findet Ihr das von mir geschriebene Programm (Regbank.c), welches die Aufgabe erfüllen soll. Leider funktioniert das Programm noch nicht. Höchstwahrscheinlich liegt es an folgenden Punkten. Könnt Ihr mir dazu ein paar Tipps geben? - Kann man die Tastatureingabe der Tasten 0,1,2,3,B und H in dieser Form übergeben? Oder muss man über Bitadressen gehen? - Wenn man den Inhalt des Registers im binären Format ausgeben möchte, welchen Buchstaben schreibe ich dann in die Anweisung? Für hexadezimal: %16x (Variable umfasst 16Stellen und ist vom Typ Hexadezimal) Ist dies auch für das binäre Format möglich? Für binär: %64b ???? - Die vier Registerbänke bestehen aus jeweils 8 Teilregistern R0 .. R7, die jeweils 8bit groß sind. Wie spreche ich denn die gesamte Registerbank, die insgesamt 64bit (8x8bit=8byte) groß ist, an? Das heißt, welche Adressen besitzen die vier Registerbänke? Kann man denn einfach (siehe Programmsyntax) den Inhalt der jeweiligen Registerbank, insofern man jetzt mal annimmt, dass z.B. die Adresse der Registerbank 0 RB0 ist, mit inhalt&=RB0; auslesen? - Der Zugriff auf die vier Registerbänke erfolgt ja über das PSW. Das heißt durch Ändern von zwei Bitstellen im PSW kann man den Zugriff auf die Registerbänke umstellen. Die Bitstellen heißen, wie bekannt, RS1 und RS0. Mit welchem Befehl, insofern meine Herangehensweise für das Auslesen des Registerbank-Inhaltes (siehe Programm) falsch ist, kann ich diese beiden Bits setzen, um zwischen den vier Registerbänken hin- und herzuschalten? Und wie greife ich dann auf die vier Registerbänke zu? Ich hoffe, dass Ihr mir weiterhelfen könnt und bedanke mich schon mal im Voraus für Eure Hilfe. Mit freundlichen Grüßen Mike Werner