Effizientes Projekt Schlange mit Richtungs- und Zeitsteuerung im Schuljahr 2013/14 history menue Letztmalig dran rumgefummelt: 28.11.13 18:02:20

... meine Schlange 2013

begrenzt verwendbar - selbst aufpassen, ab welcher Stelle es Blödsinn wird ;-)

Informatik-Profi-Wissen

Ablaufmuster für die Schlange

 

ASide-Assembler 2013

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Projektbeschreibung: Gesucht ist ein effizientes Programm zur Durchlaufsteuerung einer "Schlange" nach definiertem Muster noch ohne die Steuerung von Laufrichtung sowie der zeitlichen Abfolge - sprich: der Laufgeschwindigkeit! Siehe dazu SCHLANGE05

Anmerkungen zur Steuerung: es müssen keine Registerinhalte gerettet werden, AF wird zum Zeitpunkt des Aufrufs des UP nicht mehr benötigt und die Alternativregister sind nicht in Benutzung

Pseudocode zum Programm:

Zeile Marke Block Adresse Hex-Code Assembler-Code Kommentar
    ORG 2000H ;Adresse Programmbeginn
0001 M5: INIT 2000H DD 21 50 20 LD LD IX, 2050H ;Adresse erstes Digit Bildwiederholspeicher in IX
0002 2004H FD 21 55 20 LD LD IY, 2055H ;Anfangsdigit (linkes) des Bildwiederholspeichers in IY
0003 2008H 0E 16 LD C, 16H ;Anzahl der Muster in C 16H
0004 M4:   200AH 16 06 LD D, 0CH ;Anzahl leere Digits in D
0005 SPACE 200CH 3E 00 LD A, 0CH ;Bitmuster für Blank-Digit
0006 200EH 21 50 20 LD HL, 2050H ;Ergebnis auf Speicherplatz ablegen
0007 M1: 2011H 77 LD (HL), A ;Ditgit leer schreiben
0008     2012H 23 INC HL ;Digitzähler heraufzählen
0009     2013H 15 DEC D ;Ereigniszähler für Digits leer herunterzählen
0010     2014H 20 FB JRNZ M1: ;nächstes Digit
0011   QUEUE 2016H 21 60 20 LD HL, 2060H ;Zeiger auf Anfang Codetabelle
0012     2019H 16 02 LD D, 02H ;Anzahl einzutragender Zeichen
0013 M2:   201BH 7E LD A, (HL) ;aktuelles Zeichen von Tabelle in A holen
0014     201CH FD 77 LD (IY), A ;Inhalt von A auf den Bildwiederholspeicher schreiben
0015     201EH FD 2B DEC IY ;rechtes Zeichen bezogen auf letzte Position einstellen
0016     2020H 23 INC HL ;Codetabellenzeiger auf nächstes Zeichen
0017     2021H 15 DEC D ;Zeichenzähler herabsetzen
0018     2022H 20 F7 JRNZ M2: ;zwei Zeichen geschrieben?
0019   DISPLAY 2024H 06 40 LD B, 40H ;Anzeigezeit laden
0020 M3:   2026H CD 83 04 CALL DAK1 ;CALL DAK1-Ausgabe Unterprogramm aufrufen
0021     2029H 10 FB DJNZ M3: ;B decrementieren und relativer Sprung auf M3, wenn nicht Null
0022     202BH 0D DEC C ;Bildanzahl reduzieren
0023     202CH 20 DF JRNZ M4: ;nächste Zweiergruppe
0024     202EH 18 DF LD B, 40H ;Anzeigezeit laden
0025     202FH 76 HALT ;Programmstopp
0026  
0027   TABLE:
0028   2050H ORG 2050H ;Datenadresse organisieren
0029   2050H 38 DEFB 38EH
0030   2051H 2B DEFB 2BAH
0031   2052H 00 DEFB 00AH

Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 28. November 2013 um 20.37 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist