









6301 Cross-Assembler V2.1-A   SORT1.MIC      03.01.1991    12:36:12    Page: 1
3.2.1. Sortier-Algorithmus 1 fr Bytes


LINE#  LOC    CODE                              SOURCE


   1  2000                       .list
   2  2000                       .file
   3  2000                       .title  3.2.1. Sortier-Algorithmus 1 fr Bytes
   4  2000               
   5  2000               staad   .equ    $40             ; Startadresse fr Vergleich
   6  2000               endad   .equ    $42             ; Endadresse fr Vergleich
   7  2000               
   8  2000   CE 20 2B    start   ldx     #area           ; Speicherbereich der Elemente
   9  2003   C6 17               ldab    #23             ; Anzahl-1 bergeben
  10  2005   8D 01               bsr     sort1           ; Aufruf des Sortierprogramms
  11  2007   3F                  swi
  12  2008               
  13  2008               ; SORT1 fr ein Bytefeld mit maximal 255 Eintrgen
  14  2008               
  15  2008   DF 40       sort1   stx     staad   ; Anfangsadresse retten
  16  200A   3A                  abx
  17  200B   DF 42               stx     endad   ; Endadresse retten
  18  200D   DE 40       again   ldx     staad   ; Anfangsadresse laden
  19  200F   A6 00               ldaa    ,x      ; 1. Element laden
  20  2011   A1 01       check   cmpa    1,x     ; mit nchsten Element vergleichen
  21  2013   22 05               bhi     1$      ; -> in richtiger Lage
  22  2015   E6 01               ldab    1,x     ; Nachbarelement wird neues lokales Minimum
  23  2017   A7 01               staa    1,x     ; alter Wert ist kein Minimum -> tauschen
  24  2019   17                  tba             ; neues lokales Minimum retten
  25  201A   08          1$      inx             ; nchstes Element adressieren
  26  201B   9C 42               cpx     endad   ; Ende eines Durchlaufs?
  27  201D   26 F2               bne     check   ; nein...
  28  201F   DE 40               ldx     staad   ; Anfangsadresse laden
  29  2021   A7 00               staa    ,x      ; neues lokales Minimum speichern
  30  2023   08                  inx             ; Liste wird um 1 kleiner
  31  2024   DF 40               stx     staad   ; neue Anfangsadresse speichern
  32  2026   9C 42               cpx     endad   ; alles sortiert?
  33  2028   26 E3               bne     again   ; nein, noch nicht...
  34  202A   39                  rts
  35  202B               
  36  202B               ;*****************************
  37  202B               ;  Einige unsortierte Zahlen
  38  202B               ;*****************************
  39  202B               
  40  202B   22E31F37    area    .db     34,$e3,$1f,55,67,$ff,$fe,$71
  41  2033   63654F5F            .db     99,%1100101,$4f,$5f,$6f,$70,$71,$71
  42  203B   1D020903            .db     %11101,2,9,3,8,%10101010,$ff,0
  43  2043               
  44  2043                        .end

Assembly successful, no errors detected.
Output-filename I:\TPACKER\SORT1.HX2
Elapsed time: 1.7 sec.
