![]()
Member since Nov 2002
377 posts
|
![]()
Subject: Vorbei?
Und, wie ist die Stimmungslage? Die Klausur war sicherlich machbar. Ein wenig wenig Zeit, aber das war uns wohl schon vorher klar.
odd: popl %eax andl $1, %eax ret .... |
Repetition is a sign of stupidity. Repetition is a sign of stupidity. Repetition is a sign of stupidity.
|
![]()
Member since Oct 2002
750 posts
|
![]()
ja gut war dass es kleine aufgaben waren, da kann man sich irgendwie punkte zusammenschnorren und gut war die letzte aufgabe (falls meine vor Redundanz strotzende Volladdierer Variante durchgeht
![]() das sind aber 4 Zeilen es soll doch in 3 gehen ![]() ![]() |
"I will speculate that today’s single-threaded applications as actually used in the field could actually see a performance boost for most users by going to a dual-core chip, not because the extra core is actually doing anything useful, but because it is running the adware and spyware that infest many users’ systems and are otherwise slowing down the single CPU that user has today."
|
![]()
Member since Oct 2002
298 posts
|
![]()
In reply to post #1
Und was genau soll das machen? Die Rücksprungadresse mit 1 verunden? ![]() Ich fände besser: movl 4(%esp), %eax andl $1, %eax ret Ansonsten, was mir noch im Gedächtnis geblieben ist: struct foo { Little-Endianunsigned char c; short int i; long n; } mov $L1, %sp jmp L10 L1: .word L2 L2: ... L10: ret Über den Kontrukt wird die Rücksprungadresse so verändert, dass ein Ausführen von Code im Datensegment (Flash-Speicher?) möglich wird (beim ret wird der Code, der als Daten vorliegt ausgeführt). Da das normalerweise (mit nem Call beispielsweise) zu nem Segfault führen würde, wird dieses Konstrukt verwendet. Das sind mal ein paar Brocken, obs stimmt weiß ich nicht. Allgemein fand ich die Klausur ganz fair, vor allem der Inkrementierer am Schluss - das waren wirklich geschenkte 10 Punkte, wenn man sich mal die alten Klausuren bzw. Übungen angeschaut hat. ![]() Ich hoffe, es hat sich niemand an ner Aufgabe festgebissen, wie ich in SP2... ![]() |
![]()
Member since Nov 2002
3282 posts
|
![]() Ich auch. Hast du dir die 4711 auch mal angeschaut? Das letzte war ein short int. (IIRC, welcher Indian kann ich mich jetzt aber auch nicht mehr erinnern.) Wieso werden da Daten ausgeführt? Wo sind die denn? Und zur BIOS-Zeit gibt's sehr wahrscheinlich noch keinen segfault... Außer du hast ein Multi-Tasking-Fähiges BIOS. ![]() Den hab ich vor seinen Augen von meinem Blatt abgemalt... ![]() |
Physikalisch gesehen ist ein Quantensprung die kleinstmögliche Zustandsänderung, meist von einem höheren auf ein niedrigeres Niveau.
Komprenu Energiemonitoring-Software | dotforward Webhosting |
Member since Jan 2003
1009 posts
|
![]()
stimmung: eher schlecht, ich idiot hab natürlich nur ganz wenig doku dabei und prompt fragt er den endian mist ab.
die is_big_endian war doch eine nullstellige funktion? movl $1, %eax xorw %ah, %ah ich hoffe des geht so ... ![]() |
![]()
Member since Nov 2002
377 posts
|
![]()
In reply to post #4
popl macht doch genau das .... oder nicht?
Den Inkrementierer habe auch abgemalt ... ![]() Wieviele Bytes brauch eurer ergänztes Assemblerprogramm? Ich werfe mal spontan die Zahl "30" in den Raum. Ich glaube mittlerweile aber, dass es deutlich mehr sind. Und was ist die Bedeutung von 0x0fffffff ??? Bei dem Bioscode ist auf jeden Fall klar, dass man da eine Adresse auf den Stack legt die dann durch ret angesprungen wird ... ich würde einfach nur sagen, dass das ein "erweitertes call" ist mit angabe der Adresse wohin zurückgesprungen werden soll ... |
Repetition is a sign of stupidity. Repetition is a sign of stupidity. Repetition is a sign of stupidity.
|
Member since Jan 2003
1009 posts
|
![]()
sorry, ich hab odd mit is_big_endian verwechselt. :grummel:
|
![]()
Member since Nov 2002
3282 posts
|
![]()
In reply to post #6
32, bin mir aber nicht sicher, da ich die genaue Kodierung nicht kenne. Du meinst sicher 0x7FFFFFFF, oder? Das ist halt 2^31 - 1. Weiß auch net. Hab's aber falsch hingeschrieben... Wie so viele scheinbar... |
Physikalisch gesehen ist ein Quantensprung die kleinstmögliche Zustandsänderung, meist von einem höheren auf ein niedrigeres Niveau.
Komprenu Energiemonitoring-Software | dotforward Webhosting |
Member since Oct 2002
1296 posts
|
![]()
geil find ich auch, dass ich nen ausgedruckten 4bit inkrementierer dabeihatte
![]() |
BLUBB
|
![]()
Member since May 2003
387 posts
|
![]()
Ich fand die Klausur recht dumm.
Gut, das Schaltnetz war geschenkt, aber bei der Mehrheit der anderen Fragen hab ich dumm rumgeraten. Haette ich OTRS4 doch auch vorgezogen... die frueheren Klausuren lagen mir definitiv eher. |
Der Pinky, der Pinky und der Brain, Brain, Brain, Brain!
|
![]()
Member since May 2003
298 posts
|
![]()
In reply to post #9
Es ist zwar jetzt irrelevant, aber
![]() ![]() ![]() ![]() ![]() das mit dem 0x7ff... würde ich sagen ist die grösste darstellbare positive Zahl (wenn man mit signed ints rechnet). Bei dieser is_endian Aufgabe würde ich folgendes vorschlagen: movl $1,%eax pushl %eax xorl %eax,%eax movb 4(%esp),%al pop %ebx ret man beachte das movb. Damit hol ich mir das einzelne Byte an dieser Adresse. wenn man da ein movl mach, dreht einem der Prozessor die bytes ja wieder richig hin, oder? Das pop ist nur der vollständigkeit halber um den stack aufzuräumen, den wert selbst brauch ich nicht, also ab damit nach ebx |
Nothing's real until you feel
|
![]()
Member since Oct 2002
956 posts
|
![]()
In reply to post #3
was ist denn ein unsigned char? du meinst sicher 'nen short, gell? @sebbi: der letzte Wert auf dem Stack nach einem Programmaufruf ist die Rücksprungadresse, die du dir in deinem Bsp durch das popl geholt hast - und beim ret springt er dann an die Adresse die den Wert der zu überprüfenden Zahl hat ![]() |
Im mod(1) sind wir alle gleich....
UQi ⊂ ΦMilch ⊂ ΦNutz ;i ∈ ℕ Q ∪ Φk = φNutz ∀k ∈ Deck |
![]()
Member since Nov 2002
3282 posts
|
![]() char: -128 ... 127 uchar: 0 ... 255 short: -32768 ... 32767 ushort: 0 ... 65535 |
Physikalisch gesehen ist ein Quantensprung die kleinstmögliche Zustandsänderung, meist von einem höheren auf ein niedrigeres Niveau.
Komprenu Energiemonitoring-Software | dotforward Webhosting |
![]()
Member since Oct 2002
956 posts
|
![]()
aba aba is ein char nich so für Buchstabseln gedacht oder so?
was solln denn da die negativen Werte?!? *verwirrt_sei* |
Im mod(1) sind wir alle gleich....
UQi ⊂ ΦMilch ⊂ ΦNutz ;i ∈ ℕ Q ∪ Φk = φNutz ∀k ∈ Deck |
![]()
Member since Nov 2002
3282 posts
|
![]()
Hattest du kein SysProg1?
|
Physikalisch gesehen ist ein Quantensprung die kleinstmögliche Zustandsänderung, meist von einem höheren auf ein niedrigeres Niveau.
Komprenu Energiemonitoring-Software | dotforward Webhosting |
Datenschutz |
Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev,
© 2003-2011 by Yves Goergen