frage zur Klausur ss05 aufgabe 5

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

arithmetische shift mit dinatos

Im Akku AC stehe eine 2K-Zahl
Schreiben sie für Dinatos ein Programm,das einen arithmetischen shift nach rechts ausführt ,sie dürfen ab Adresse 100 beliebig benutzen

a) beschreiben sie zuerst abstrakt die einzelnen schritte,die zu programmieren sind
1. ..................................
2. .........................
3. .........................
4. .......................

b) verfassen sie das entschprechende dinatos-programm der (opcode benotigt 8bit)


kann mir jemand bei dieser Augabe Helfen
entweder verstehe ich nicht was hier von uns verlangt ist oder ..........


danke

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von Krümelmonster »

Bei einem arithemtischen Shift muss (afaik) das Vorzeichen mitgeshiftet werden.

Ich würde zuerst den Akku. nach 100 speichern, dann um 31 nach rechts shiften (damit das Vorzeichen im Akku steht).
2. Prüfen ob AC=1.
3. 100 wieder in den AC laden und eins nach rechts shiften.
4. Falls C=1, dann noch "or 80000000" (Vorne das Vorzeichen ergänzen)
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von Krümelmonster »

habe gerade gesehen, dass DINATOS kein or kann ;)

Also nochmal:
1. sta 100
2. lda# 80000000
3. and 100
4. sta 101
5. lda 100
6. shr 1
7. add 101

Und nochmal abstrakt ;-)
1. Vorzeichen filtern.
2. Vorzeichen speichern.
3. Nach rechts shiften.
4. Vorzeichen "addieren".
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

sta 100
shr 31
if=# 0
brnc #3
lda 100
shr 1
stop
lda 100
shr 1
add 2 hoch 31
stop

uups meine sieht scheiße aus aber ,glaube auch richtig

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von Krümelmonster »

add addiert keine Konstante, sondern den Wert einer Speicherzelle.

Du müsstest also \(2^{31}\) (0x80000000) erst vorher speichern.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
oren78
BSc Spammer
BSc Spammer
Beiträge: 1373
Registriert: 17. Nov 2006 17:47
Wohnort: Darmstadt

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von oren78 »

kamel123pl hat geschrieben:sta 100
add 2 hoch 31
ähmmm...ich glaub das ist weniger möglich ;-)
"Unter allen menschlichen Entdeckungen sollte die Entdeckung der Fehler die wichtigste sein.", Stanisław Jerzy Lec

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von seth2k1 »

denkt daran, dass ihr 8bit für den opcode verbratet
"Hallo, ich verkaufe diese modischen Lederjacken!"

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

lol

soll man alle konstanten in hex shreiben oder dezimal sonst wäre auch meine shift 31 falsh da

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von seth2k1 »

kamel123pl hat geschrieben:lol

soll man alle konstanten in hex shreiben oder dezimal sonst wäre auch meine shift 31 falsh da
meiner meinung nach in dec
"Hallo, ich verkaufe diese modischen Lederjacken!"

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von Krümelmonster »

seth2k1 hat geschrieben:denkt daran, dass ihr 8bit für den opcode verbratet
Das heißt?

Ist es nicht möglich eine 32bit Konstante zu laden?
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

dann kan man auch kein lda# 80000000

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von seth2k1 »

Krümelmonster hat geschrieben:
seth2k1 hat geschrieben:denkt daran, dass ihr 8bit für den opcode verbratet
Das heißt?

Ist es nicht möglich eine 32bit Konstante zu laden?
wenn ich mir die folie 5-12 anschaue (unten die befehlsstruktur), würde ich das behaupten.. sicher wissen tu ich es aber auch nicht
"Hallo, ich verkaufe diese modischen Lederjacken!"

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von seth2k1 »

tipp:
lda# 0
not
shr 1
not
"Hallo, ich verkaufe diese modischen Lederjacken!"

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

sta 100
shr 31
if=# 0
brnc #3
lda 100
shr 1
stop
lda 100
not
shr 1
not

stop

kamel123pl
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 10. Nov 2005 14:36

Re: frage zur Klausur ss05 aufgabe 5

Beitrag von kamel123pl »

cool gleichzeitig :D

Antworten

Zurück zu „Archiv“