![]() |
Ideen gesucht: einfaches Programm in Assambler
Hallo,
ich schreibe bald (jezt noch 14,5 Stunden) eine Klausur in Info und brauche ein wenig Stoff zum Üben. Im Unterricht arbeiten wir mit dem Modell-Assambler WinALI. Als letztes haben wir Quicksort gemacht, nur damit ihr wisst wo ich in etwa damit stehe. Ich möchte irgendwas machen, was nochmal alles ausnutzt, was wir gemacht haben, das sind: Arrays, (rekursive) Prozeduren inkl. Parameterübergabe und lokalen Variablen, alle Arten von schleifen ja eh... das ganze bewegt sich zahlenmäßig im smallint-Bereich. Wem spontan ein Problem ainfällt, das diese Anforderungen nich zu weit ausreitzt (Bspl. Arrays als lok. Var. oder x verschiedene Prozeduren), dem wäre ich dankbar, wenn er sich melden würde :corky: Wer will darf nachher auch meine Lösung sehen xD lg, everdream p.s.: funktionen hatten wir noch nicht, d.h. referenzparameter sollten bitte nicht drin vorkommen. |
Re: Ideen gesucht: einfaches Programm in Assambler
Wie wäre es denn mit den Fibonacci-Zahlen?
|
Re: Ideen gesucht: einfaches Programm in Assambler
Die Lösung von Fibonacci ohne function is natürlich nich grade schön, aber im Prinzip ist das ne gute Idee... Dann speicher ich nebenher einfach noch alle Fibs in ein Array und lasse das dann von einer weiteren Prozedur ausgeben... joa, vielen Dank für den Tipp!
--> weitere Ideen sind natürlich trotzdem gefragt, fange jetzt mit Fibonacci an, aber der Abend hat ja grad' erst angefangen :stupid: |
Re: Ideen gesucht: einfaches Programm in Assambler
Okay, ich wäre dann soweit:
Delphi-Quellcode:
Geht bis fib(23), weil mehr in die 2 bytes leider nicht rein passen :roll:
fibo start 0
lda 5, '4094' ini input lda 0,'0' sta 0,fibs(0) lda 3,'2' lda 0,'1' sta 0,fibs(3) sub 5,'10' lda 0,'0' sta 0,2(5) lda 0,'1' sta 0,4(5) lda 0,'2' sta 0,6(5) la 0,rfib sta 0,0(5) b fib rfib add 5,'6' lda 0,'0' sta 0,2(5) la 0,rput sta 0,0(5) b put rput eoj input DS F fibs DS 25F * Datenschachtel: fib; * nr1 | 0(5) | Rücksprungadresse * nr2 | 2(5) | 1. Parameter: a * nr3 | 4(5) | 2. Parameter: b * nr4 | 6(5) | 3. Parameter: n * nr5 | 8(5) | lok. Variable: c * Gesamtgröße: 10 bytes (-> Offset) fib lda 0,2(5) add 0,4(5) sta 0,8(5) lda 0,6(5) add 0,'1' cmp 0,input bh p1 ldr 4,5 sub 5,'10' lda 0,4(4) sta 0,2(5) lda 0,8(4) sta 0,4(5) lda 0,6(4) add 0,'1' sta 0,6(5) la 0,rek sta 0,0(5) b fib rek add 5,'10' p1 lda 3,6(5) mul 3,'2' lda 0,8(5) sta 0,fibs(3) lda 0,0(5) br 0 * Datenschachtel: put; * nr1 | 0(5) | Rücksprungadresse * nr2 | 2(5) | lok. Variable * Gesamtgröße: 2 bytes (-> Offset) put lda 3,2(5) mul 3,'2' outi fibs(3) lda 0,2(5) add 0,'1' sta 0,2(5) cmp 0,input bnh put lda 0,0(5) br 0 Dafür wird auch wirklich alles schön ausgegeben... Soooo, hat noch jemand was für mich? |
Re: Ideen gesucht: einfaches Programm in Assambler
mkay, klausur is super gelaufen, 13 bis 15 punkte sollten drin sein.
Die Übung mit den Fibonacci-Zahlen hat mi übrigens sehr geholfen, war ne gute Idee! Danke nochmal -> Thema kann nu eigentlisch weg... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz