myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Microprocessor Simulator - GNU/GPL

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 09.05.12, 07:38   #1
Kay000
Anfänger
 
Registriert seit: Mar 2010
Beiträge: 25
Bedankt: 11
Kay000 ist noch neu hier! | 0 Respekt Punkte
Standard Microprocessor Simulator - GNU/GPL

Hallo zusammen

Ich habe ein riesen Problem ich muss für ein Fach in der Schule Assembler programmieren. Mit Microprocessor Simulator - GNU/GPL. siehe [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Hat jemand von euch Erfahrung damit und könnte mir 4 Aufgaben lösen...? Bitte meldet euch.. ICh weiss es ist nicht der Sinn Aufgaben für andere zu lösen, aber habe wirklich im Moment keine Zeit mich damit auseinanderzusetzen....

Gruss
Kay000 ist offline   Mit Zitat antworten
Ungelesen 09.05.12, 07:42   #2
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Warum hat man als Schüler keine Zeit?

Kinder? Beruf?
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 09.05.12, 08:07   #3
Kay000
Anfänger
 
Registriert seit: Mar 2010
Beiträge: 25
Bedankt: 11
Kay000 ist noch neu hier! | 0 Respekt Punkte
Standard

Beruf und müssen im Studium gerade noch im Team ein Projekt fertig machen, bin praktisch nur noch daran am arbeiten...
Kay000 ist offline   Mit Zitat antworten
Ungelesen 09.05.12, 08:56   #4
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

Wie wäre es einmal, wenn du einfach mal die Aufgabenstellungen bekannt gibst?
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten
Ungelesen 09.05.12, 09:09   #5
Kay000
Anfänger
 
Registriert seit: Mar 2010
Beiträge: 25
Bedankt: 11
Kay000 ist noch neu hier! | 0 Respekt Punkte
Standard

Gerne :-)

1. Aufruf von Subroutinen
=========================
Schreiben Sie Subroutinen, die die Einer- bzw. die Zehnerziffer beim 7-Segment-Display (Port 2) aktivieren.
Ueber die Tastatur (Port 3) soll es im Hauptprogramm möglich sein, Ziffern einzugeben, die die letzte (Ziffer-)Eingabe als Einer und den vormaligen Einer als Zehner (ähnlich Taschenrechnereingabe) darstellen. Der vormalige Zehner wird links herausgeschoben und vergessen. Mit Drücken von "Enter" soll Main abbrechen.



2. Aufruf einer SW-Interruptroutine
===================================
Schreiben Sie eine SW-Interruptroutine, die eine (unsigned 8-Bit) Hexzahl in eine Dezimalzahl wandelt. Die Schnittstelle sehe wie folgt aus:

; -----------------------------------------------------------------------------
; Software Interrupt Routine
; Convert an unsigned hex number (1 byte) into an unsigned decimal number
; (2 bytes).
;
; IN:
; AL := hexNumberToConvert
; OUT:
; AL := highByteOfDecimal
; BL := lowByteOfDecimal
; Other affected registers: None
;
; Example: (FFhex = 255dec)
; IN: AL := FF
; OUT: AL := 2, BL := 55
; -----------------------------------------------------------------------------

Zeigen Sie in Main, dass die SW-Interruptroutine funktioniert.



3. Aufruf von Interrupt-Routinen
================================
Schreiben Sie in einem Hauptprogramm einen Füllstandswert (genügend langsam) in eine globale Variable. Der Wert starte bei Null und werde laufend erhöht. Mit einer Interruptroutine werde der Füllstandswert jede Sekunde getestet. Ueberschreitet die Variable einen vorher festgelegten Wert, dann soll eine entsprechende Meldung an den VDU ausgegeben und das Hauptprogramm abgebrochen werden.



4. Türme von Hanoi
==================
Die Türme von Hanoi seien hier wie folgt dargestellt:

| | |
A | |
| | |
BBB | |
| | |
CCCCC | |
| | |
DDDDDDD | |
=============================================

Ziel:
Der Turm steht am Schluss ganz rechts.
Regeln:
Es darf nur eine Scheibe pro Mal von einem Pfosten zu einem andern bewegt werden.
Es darf zu keinem Zeitpunkt eine kleinere Scheibe unter einer grösseren liegen.

Lösen Sie die Aufgabe Tabellen-getrieben.
Die ersten drei Zeilen der VDU sollen die drei Pfosten darstellen. Jede Scheibe soll mit einem einzigen Buchstaben A, B, C und D repräsentiert werden. Mit Eingabe von "Return" soll jeweils ein Schritt (ein Umlegen einer Scheibe) vorgenommen werden. Nach gelöster Aufgabe werde dies auf der vierten VDU-Zele gemeldet und das Hauptprogramm verlassen.

PS: Wäre froh wenn kommentare beigefügt sind, damit ich Kay000 dies auch nachverfolgen kann....
Kay000 ist offline   Mit Zitat antworten
Ungelesen 14.05.12, 12:45   #6
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

Hab mich mal ein wenig gespielt und zumindest die ersten 3 Aufgaben gelöst:

Aufgabe 1:

Aufgabe 2:

Aufgabe 3:

Bei Aufgabe 4 geht mir immer der Speicher aus ... 0x00 - 0xBF für Programm und Stack ist schon ein bisschen wenig für so eine Aufgabe.

EDIT: Aufgabe 4 habe ich jetzt doch noch "irgendwie" lösen können ... siehe [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten
Ungelesen 14.05.12, 16:16   #7
Kay000
Anfänger
 
Registriert seit: Mar 2010
Beiträge: 25
Bedankt: 11
Kay000 ist noch neu hier! | 0 Respekt Punkte
Standard

Poah du bis mein Held slahn Vielen vielen Dank, wenn ich mal was für dich machen kann, meld dich!!!

Hast du den Teil zu Aufgabe 4 auch, wo dir der Speicher ausgeht? Frag sonst mal meinen Lehrer ob er mir sagen kann, wie er sich das genau vorgestellt hat

Werde mir das dieses Wochenende mal anschauen, was du da gezaubert hast und versuchen das ganze nachzuvollziehen

Beste Grüsse und nochmals vielen vielen Dank!!!
Kay000 ist offline   Mit Zitat antworten
Ungelesen 15.05.12, 07:02   #8
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

Ok, ich habe es dann irgendwie doch geschafft. Jedoch liegt die Betonung hier auf "IRGENDWIE". Meine aktuelle Lösung ist so was von schlecht ... aber meine erste und bis jetzt einzige die funktioniert (bzw. überhaupt in den RAM passt ... und damit meinen ich, dass ich 100% des Speichers verbrauche ...).

Aufgabe 4:

Das Programm löst nicht wirklich das Rätsel, sondern gibt nur die einzelnen Schritte zur Lösung aus (jedoch ist es wohl laut Aufgabenstellung nicht gegen die Regeln ). Sollte es tatsächlich jemand schaffen das Rätsel, Programmiertechnisch mit dem Simulator zu lösen, würde ich sehr gerne diese Lösung sehen.
Übrigens braucht mir keiner sagen, wie hässlich diese Lösung ist ... dessen bin ich mir bewusst.
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten
Ungelesen 15.05.12, 16:30   #9
sahid
Hopfi
 
Benutzerbild von sahid
 
Registriert seit: Sep 2009
Beiträge: 6
Bedankt: 0
sahid hatte eine beschämende und traurige vergangenheit | -1 Respekt Punkte
Standard oha

Zitat:
Zitat von Kay000 Beitrag anzeigen
Gerne :-)

1. Aufruf von Subroutinen
=========================
Schreiben Sie Subroutinen, die die Einer- bzw. die Zehnerziffer beim 7-Segment-Display (Port 2) aktivieren.
Ueber die Tastatur (Port 3) soll es im Hauptprogramm möglich sein, Ziffern einzugeben, die die letzte (Ziffer-)Eingabe als Einer und den vormaligen Einer als Zehner (ähnlich Taschenrechnereingabe) darstellen. Der vormalige Zehner wird links herausgeschoben und vergessen. Mit Drücken von "Enter" soll Main abbrechen.



2. Aufruf einer SW-Interruptroutine
===================================
Schreiben Sie eine SW-Interruptroutine, die eine (unsigned 8-Bit) Hexzahl in eine Dezimalzahl wandelt. Die Schnittstelle sehe wie folgt aus:

; -----------------------------------------------------------------------------
; Software Interrupt Routine
; Convert an unsigned hex number (1 byte) into an unsigned decimal number
; (2 bytes).
;
; IN:
; AL := hexNumberToConvert
; OUT:
; AL := highByteOfDecimal
; BL := lowByteOfDecimal
; Other affected registers: None
;
; Example: (FFhex = 255dec)
; IN: AL := FF
; OUT: AL := 2, BL := 55
; -----------------------------------------------------------------------------

Zeigen Sie in Main, dass die SW-Interruptroutine funktioniert.



3. Aufruf von Interrupt-Routinen
================================
Schreiben Sie in einem Hauptprogramm einen Füllstandswert (genügend langsam) in eine globale Variable. Der Wert starte bei Null und werde laufend erhöht. Mit einer Interruptroutine werde der Füllstandswert jede Sekunde getestet. Ueberschreitet die Variable einen vorher festgelegten Wert, dann soll eine entsprechende Meldung an den VDU ausgegeben und das Hauptprogramm abgebrochen werden.



4. Türme von Hanoi
==================
Die Türme von Hanoi seien hier wie folgt dargestellt:

| | |
A | |
| | |
BBB | |
| | |
CCCCC | |
| | |
DDDDDDD | |
=============================================

Ziel:
Der Turm steht am Schluss ganz rechts.
Regeln:
Es darf nur eine Scheibe pro Mal von einem Pfosten zu einem andern bewegt werden.
Es darf zu keinem Zeitpunkt eine kleinere Scheibe unter einer grösseren liegen.

Lösen Sie die Aufgabe Tabellen-getrieben.
Die ersten drei Zeilen der VDU sollen die drei Pfosten darstellen. Jede Scheibe soll mit einem einzigen Buchstaben A, B, C und D repräsentiert werden. Mit Eingabe von "Return" soll jeweils ein Schritt (ein Umlegen einer Scheibe) vorgenommen werden. Nach gelöster Aufgabe werde dies auf der vierten VDU-Zele gemeldet und das Hauptprogramm verlassen.

PS: Wäre froh wenn kommentare beigefügt sind, damit ich Kay000 dies auch nachverfolgen kann....
sahid ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 Uhr.


Sitemap

().