00000000: 14 2D 2C 2D 01 00 3B 42 55 42 42 4C 45 53 4F 52 |.-,-..;BUBBLESOR|
00000010: 54 2D 49 4E 54 45 47 45 52 00 32 2D 02 00 3B 00 |T-INTEGER.2-..;.|
00000020: 40 2D 03 00 20 2E 42 41 24 43 32 30 30 00 46 2D |@-.. .BA$C200.F-|
00000030: 05 00 3B 00 5D 2D 0A 00 20 2E 45 51 43 48 4B 43 |..;.]-.. .EQCHKC|
00000040: 4F 4D 20 3D 20 24 41 45 46 44 00 74 2D 0B 00 20 |OM = $AEFD.t-.. |
00000050: 2E 45 51 56 41 52 49 41 42 20 3D 20 24 42 30 38 |.EQVARIAB = $B08|
00000060: 42 00 87 2D 0E 00 20 2E 45 51 46 4C 41 47 20 3D |B..-.. .EQFLAG =|
00000070: 20 24 41 42 00 9B 2D 0F 00 20 2E 45 51 41 52 52 | $AB..-.. .EQARR|
00000080: 41 59 20 3D 20 24 35 46 00 AB 2D 10 00 20 2E 45 |AY = $5F..-.. .E|
00000090: 51 49 20 3D 20 24 41 37 00 BB 2D 11 00 20 2E 45 |QI = $A7..-.. .E|
000000A0: 51 4A 20 3D 20 24 41 39 00 CC 2D 12 00 20 2E 45 |QJ = $A9..-.. .E|
000000B0: 51 4A 31 20 3D 20 24 38 42 00 DC 2D 13 00 20 2E |QJ1 = $8B..-.. .|
000000C0: 45 51 4E 20 3D 20 24 38 44 00 E2 2D 14 00 3B 00 |EQN = $8D..-..;.|
000000D0: F8 2D 15 00 53 54 41 52 54 20 20 4A 53 52 20 43 |.-..START JSR C|
000000E0: 48 4B 43 4F 4D 00 1B 2E 16 00 20 4A 53 52 56 41 |HKCOM..... JSRVA|
000000F0: 52 49 41 42 20 20 20 20 20 20 20 3B 53 54 41 52 |RIAB ;STAR|
00000100: 54 41 44 52 45 53 53 45 00 42 2E 17 00 20 4C 44 |TADRESSE.B... LD|
00000110: 41 41 52 52 41 59 20 20 20 20 20 20 20 20 3B 44 |AARRAY ;D|
00000120: 45 53 20 46 4C 45 44 45 53 20 48 4F 4C 45 4E 00 |ES FLEDES HOLEN.|
00000130: 4E 2E 18 00 20 4C 44 59 23 30 32 00 57 2E 19 00 |N... LDY#02.W...|
00000140: 20 43 4C 43 00 7A 2E 19 00 20 41 44 43 28 41 52 | CLC.z... ADC(AR|
00000150: 52 41 59 29 2C 59 20 20 20 20 3B 2B 41 52 52 41 |RAY),Y ;+ARRA|
00000160: 59 4C 41 45 4E 47 45 00 A1 2E 1A 00 20 53 54 41 |YLAENGE..... STA|
00000170: 4E 20 20 20 20 20 20 20 20 20 20 20 20 3B 3D 45 |N ;=E|
00000180: 4E 44 45 20 44 45 53 20 41 52 52 41 59 53 00 AA |NDE DES ARRAYS..|
00000190: 2E 1B 00 20 49 4E 59 00 BA 2E 1C 00 20 4C 44 41 |... INY..... LDA|
000001A0: 41 52 52 41 59 2B 31 00 CC 2E 1D 00 20 41 44 43 |ARRAY+1..... ADC|
000001B0: 28 41 52 52 41 59 29 2C 59 00 D8 2E 1E 00 20 53 |(ARRAY),Y..... S|
000001C0: 54 41 4E 2B 31 00 F9 2E 1F 00 20 4C 44 41 4E 20 |TAN+1..... LDAN |
000001D0: 20 20 20 20 20 20 20 20 20 20 20 3B 5A 45 49 47 | ;ZEIG|
000001E0: 45 52 20 41 55 46 00 17 2F 20 00 20 53 45 43 20 |ER AUF../ . SEC |
000001F0: 20 20 20 20 20 20 20 20 20 20 20 20 3B 4C 45 54 | ;LET|
00000200: 5A 54 45 53 00 3A 2F 21 00 20 53 42 43 23 30 32 |ZTES.:/!. SBC#02|
00000210: 20 20 20 20 20 20 20 20 20 20 3B 41 52 52 41 59 | ;ARRAY|
00000220: 45 4C 45 4D 45 4E 54 00 57 2F 22 00 20 53 54 41 |ELEMENT.W/". STA|
00000230: 4E 20 20 20 20 20 20 20 20 20 20 20 20 3B 53 45 |N ;SE|
00000240: 54 5A 45 4E 00 7D 2F 23 00 20 42 43 53 4C 4F 4F |TZEN.}/#. BCSLOO|
00000250: 50 31 20 20 20 20 20 20 20 20 3B 28 3D 45 4E 44 |P1 ;(=END|
00000260: 45 2D 35 20 42 59 54 45 53 29 00 89 2F 24 00 20 |E-5 BYTES)../$. |
00000270: 44 45 43 4E 2B 31 00 8F 2F 25 00 3B 00 A4 2F 26 |DECN+1../%.;../&|
00000280: 00 4C 4F 4F 50 31 20 20 4C 44 41 20 41 52 52 41 |.LOOP1 LDA ARRA|
00000290: 59 00 C4 2F 27 00 20 43 4C 43 20 20 20 20 20 20 |Y../'. CLC |
000002A0: 20 20 20 20 20 20 20 3B 53 54 41 52 54 20 41 55 | ;START AU|
000002B0: 46 00 E1 2F 28 00 20 41 44 43 23 30 37 20 20 20 |F../(. ADC#07 |
000002C0: 20 20 20 20 20 20 20 3B 45 52 53 54 45 53 00 04 | ;ERSTES..|
000002D0: 30 29 00 20 53 54 41 49 20 20 20 20 20 20 20 20 |0). STAI |
000002E0: 20 20 20 20 3B 41 52 52 41 59 45 4C 45 4D 45 4E | ;ARRAYELEMEN|
000002F0: 54 00 21 30 2A 00 20 4C 44 41 41 52 52 41 59 2B |T.!0*. LDAARRAY+|
00000300: 31 20 20 20 20 20 20 3B 53 45 54 5A 45 4E 00 45 |1 ;SETZEN.E|
00000310: 30 2B 00 20 41 44 43 23 30 30 20 20 20 20 20 20 |0+. ADC#00 |
00000320: 20 20 20 20 3B 28 48 45 41 44 45 52 4C 41 45 4E | ;(HEADERLAEN|
00000330: 47 45 00 65 30 2C 00 20 53 54 41 49 2B 31 20 20 |GE.e0,. STAI+1 |
00000340: 20 20 20 20 20 20 20 20 3B 3D 37 20 42 59 54 45 | ;=7 BYTE|
00000350: 53 29 00 6B 30 2D 00 3B 00 8C 30 2E 00 4C 4F 4F |S).k0-.;..0..LOO|
00000360: 50 49 20 20 4C 44 59 20 23 30 30 20 20 20 3B 53 |PI LDY #00 ;S|
00000370: 43 48 4C 45 49 46 45 20 49 00 99 30 2F 00 20 53 |CHLEIFE I..0/. S|
00000380: 54 59 46 4C 41 47 00 B6 30 30 00 20 4C 44 41 4E |TYFLAG..00. LDAN|
00000390: 20 20 20 20 20 20 20 20 20 20 20 20 3B 46 4C 20 | ;FL |
000003A0: 3D 20 30 00 C0 30 31 00 20 53 54 41 4A 00 DA 30 |= 0..01. STAJ..0|
000003B0: 32 00 20 4C 44 41 4E 2B 31 20 20 20 20 20 20 20 |2. LDAN+1 |
000003C0: 20 20 20 3B 4A 3D 4E 00 E6 30 33 00 20 53 54 41 | ;J=N..03. STA|
000003D0: 4A 2B 31 00 EC 30 34 00 3B 00 0D 31 35 00 4C 4F |J+1..04.;..15.LO|
000003E0: 4F 50 4A 20 20 4C 44 41 20 4A 20 20 20 20 20 3B |OPJ LDA J ;|
000003F0: 53 43 48 4C 45 49 46 45 20 4A 00 16 31 36 00 20 |SCHLEIFE J..16. |
00000400: 53 45 43 00 33 31 37 00 20 53 42 43 23 30 32 20 |SEC.317. SBC#02 |
00000410: 20 20 20 20 20 20 20 20 20 3B 4A 31 3D 4A 2D 31 | ;J1=J-1|
00000420: 00 3E 31 38 00 20 53 54 41 4A 31 00 5F 31 39 00 |.>18. STAJ1._19.|
00000430: 20 4C 44 41 4A 2B 31 20 20 20 20 20 20 20 20 20 | LDAJ+1 |
00000440: 20 3B 46 45 4C 44 25 28 4A 2D 31 29 00 6B 31 3A | ;FELD%(J-1).k1:|
00000450: 00 20 53 42 43 23 30 30 00 78 31 3B 00 20 53 54 |. SBC#00.x1;. ST|
00000460: 41 4A 31 2B 31 00 9F 31 3C 00 20 4C 44 59 23 30 |AJ1+1..1<. LDY#0|
00000470: 30 20 20 20 20 20 20 20 20 20 20 3B 48 49 2D 42 |0 ;HI-B|
00000480: 59 54 45 20 46 45 4C 44 25 28 4A 29 00 C2 31 3D |YTE FELD%(J)..1=|
00000490: 00 20 4C 44 41 28 4A 29 2C 59 20 20 20 20 20 20 |. LDA(J),Y |
000004A0: 20 20 3B 3E 3D 46 45 4C 44 25 28 4A 2D 31 29 00 | ;>=FELD%(J-1).|
000004B0: E8 31 3E 00 20 43 4D 50 28 4A 31 29 2C 59 20 20 |.1>. CMP(J1),Y |
000004C0: 20 20 20 20 20 3B 4A 41 2C 20 44 41 4E 4E 20 57 | ;JA, DANN W|
000004D0: 45 49 54 45 52 00 F7 31 3F 00 20 42 43 43 54 41 |EITER..1?. BCCTA|
000004E0: 55 53 43 48 00 1F 32 40 00 20 49 4E 59 20 20 20 |USCH..2@. INY |
000004F0: 20 20 20 20 20 20 20 20 20 20 3B 4C 4F 57 2D 42 | ;LOW-B|
00000500: 59 54 45 20 46 45 4C 44 25 28 4A 29 00 42 32 41 |YTE FELD%(J).B2A|
00000510: 00 20 4C 44 41 28 4A 29 2C 59 20 20 20 20 20 20 |. LDA(J),Y |
00000520: 20 20 3B 3E 3D 46 45 4C 44 25 28 4A 2D 31 29 00 | ;>=FELD%(J-1).|
00000530: 68 32 42 00 20 43 4D 50 28 4A 31 29 2C 59 20 20 |h2B. CMP(J1),Y |
00000540: 20 20 20 20 20 3B 4A 41 2C 20 44 41 4E 4E 20 57 | ;JA, DANN W|
00000550: 45 49 54 45 52 00 77 32 43 00 20 42 43 53 57 45 |EITER.w2C. BCSWE|
00000560: 49 54 45 52 00 7D 32 44 00 3B 00 9F 32 45 00 54 |ITER.}2D.;..2E.T|
00000570: 41 55 53 43 48 20 20 53 54 59 20 46 4C 41 47 20 |AUSCH STY FLAG |
00000580: 3B 46 4C 41 47 20 53 45 54 5A 45 4E 00 B1 32 47 |;FLAG SETZEN..2G|
00000590: 00 4C 31 20 20 4C 44 41 20 28 4A 29 2C 59 00 D3 |.L1 LDA (J),Y..|
000005A0: 32 48 00 20 54 41 58 20 20 20 20 20 20 20 20 20 |2H. TAX |
000005B0: 20 20 20 20 3B 46 45 4C 44 28 4A 29 20 4D 49 54 | ;FELD(J) MIT|
000005C0: 00 E2 32 49 00 20 4C 44 41 28 4A 31 29 2C 59 00 |..2I. LDA(J1),Y.|
000005D0: 02 33 4A 00 20 53 54 41 28 4A 29 2C 59 20 20 20 |.3J. STA(J),Y |
000005E0: 20 20 20 20 20 3B 46 45 4C 44 28 4A 2D 31 29 00 | ;FELD(J-1).|
000005F0: 0B 33 4B 00 20 54 58 41 00 2A 33 4C 00 20 53 54 |.3K. TXA.*3L. ST|
00000600: 41 28 4A 31 29 2C 59 20 20 20 20 20 20 20 3B 54 |A(J1),Y ;T|
00000610: 41 55 53 43 48 45 4E 00 33 33 4D 00 20 44 45 59 |AUSCHEN.33M. DEY|
00000620: 00 3E 33 4E 00 20 42 50 4C 4C 31 00 44 33 4F 00 |.>3N. BPLL1.D3O.|
00000630: 3B 00 56 33 50 00 57 45 49 54 45 52 20 20 4C 44 |;.V3P.WEITER LD|
00000640: 41 20 4A 00 5F 33 51 00 20 53 45 43 00 7B 33 52 |A J._3Q. SEC.{3R|
00000650: 00 20 53 42 43 23 30 32 20 20 20 20 20 20 20 20 |. SBC#02 |
00000660: 20 20 3B 4A 3D 4A 2D 31 00 85 33 53 00 20 53 54 | ;J=J-1..3S. ST|
00000670: 41 4A 00 92 33 54 00 20 42 43 53 45 4E 44 4A 00 |AJ..3T. BCSENDJ.|
00000680: 9E 33 55 00 20 44 45 43 4A 2B 31 00 A4 33 56 00 |.3U. DECJ+1..3V.|
00000690: 3B 00 C6 33 57 00 45 4E 44 4A 20 20 43 4D 50 20 |;..3W.ENDJ CMP |
000006A0: 49 20 20 20 20 20 20 3B 4A 20 42 49 53 20 41 55 |I ;J BIS AU|
000006B0: 46 20 49 00 ED 33 58 00 20 42 4E 45 4C 4F 4F 50 |F I..3X. BNELOOP|
000006C0: 4A 20 20 20 20 20 20 20 20 3B 48 45 52 55 4E 54 |J ;HERUNT|
000006D0: 45 52 47 45 5A 41 45 48 4C 54 00 12 34 59 00 20 |ERGEZAEHLT..4Y. |
000006E0: 4C 44 41 4A 2B 31 20 20 20 20 20 20 20 20 20 20 |LDAJ+1 |
000006F0: 3B 57 45 4E 4E 20 4E 45 49 4E 2C 20 4D 49 54 00 |;WENN NEIN, MIT.|
00000700: 33 34 5A 00 20 43 4D 50 49 2B 31 20 20 20 20 20 |34Z. CMPI+1 |
00000710: 20 20 20 20 20 3B 53 43 48 4C 45 49 46 45 20 4A | ;SCHLEIFE J|
00000720: 00 56 34 5B 00 20 42 4E 45 4C 4F 4F 50 4A 20 20 |.V4[. BNELOOPJ |
00000730: 20 20 20 20 20 20 3B 57 45 49 54 45 52 4D 41 43 | ;WEITERMAC|
00000740: 48 45 4E 00 5C 34 5C 00 3B 00 84 34 5D 00 20 4C |HEN.\4\.;..4]. L|
00000750: 44 41 46 4C 41 47 20 20 20 20 20 20 20 20 20 3B |DAFLAG ;|
00000760: 4B 45 49 4E 20 54 41 55 53 43 48 2C 20 44 41 4E |KEIN TAUSCH, DAN|
00000770: 4E 00 9F 34 5E 00 20 42 45 51 45 4E 44 45 20 20 |N..4^. BEQENDE |
00000780: 20 20 20 20 20 20 20 3B 45 4E 44 45 00 A5 34 5F | ;ENDE..4_|
00000790: 00 3B 00 AF 34 60 00 20 4C 44 41 49 00 CB 34 61 |.;..4`. LDAI..4a|
000007A0: 00 20 43 4C 43 20 20 20 20 20 20 20 20 20 20 20 |. CLC |
000007B0: 20 20 3B 49 3D 49 2B 31 00 D7 34 62 00 20 41 44 | ;I=I+1..4b. AD|
000007C0: 43 23 30 32 00 E1 34 63 00 20 53 54 41 49 00 EE |C#02..4c. STAI..|
000007D0: 34 64 00 20 42 43 43 45 4E 44 49 00 FA 34 65 00 |4d. BCCENDI..4e.|
000007E0: 20 49 4E 43 49 2B 31 00 00 35 66 00 3B 00 21 35 | INCI+1..5f.;.!5|
000007F0: 67 00 45 4E 44 49 20 20 43 4D 50 20 4E 20 20 20 |g.ENDI CMP N |
00000800: 20 20 3B 49 20 42 49 53 20 41 55 46 20 4E 00 45 | ;I BIS AUF N.E|
00000810: 35 68 00 20 42 4E 45 4C 4F 4F 50 49 20 20 20 20 |5h. BNELOOPI |
00000820: 20 20 20 3B 48 45 52 41 55 46 47 45 5A 41 45 48 | ;HERAUFGEZAEH|
00000830: 4C 54 00 69 35 69 00 20 4C 44 41 49 2B 31 20 20 |LT.i5i. LDAI+1 |
00000840: 20 20 20 20 20 20 20 3B 57 45 4E 4E 20 4E 45 49 | ;WENN NEI|
00000850: 4E 2C 20 4D 49 54 00 89 35 6A 00 20 43 4D 50 4E |N, MIT..5j. CMPN|
00000860: 2B 31 20 20 20 20 20 20 20 20 20 3B 53 43 48 4C |+1 ;SCHL|
00000870: 45 49 46 45 20 49 00 AB 35 6B 00 20 42 4E 45 4C |EIFE I..5k. BNEL|
00000880: 4F 4F 50 49 20 20 20 20 20 20 20 3B 57 45 49 54 |OOPI ;WEIT|
00000890: 45 52 4D 41 43 48 45 4E 00 B1 35 6C 00 3B 00 BF |ERMACHEN..5l.;..|
000008A0: 35 6D 00 45 4E 44 45 20 20 52 54 53 00 00 00 |5m.ENDE RTS... |
.-,-..;BUBBLESORT-INTEGER.2-..;.@-.. .BA
$C200.F-..;.]-.. .EQCHKCOM = $AEFD.T-..
.EQVARIAB = $B08B..-.. .EQFLAG = $AB..-.
. .EQARRAY = $5F..-.. .EQI = $A7..-.. .E
QJ = $A9.L-.. .EQJ1 = $8B..-.. .EQN = $8
D..-..;..-..START JSR CHKCOM..... JSRVA
RIAB ;STARTADRESSE.B... LDAARRAY
;DES FLEDES HOLEN.N... LDY#02.W...
CLC.Z... ADC(ARRAY),Y ;+ARRAYLAENGE.
.... STAN ;=ENDE DES ARRAYS..
... INY..... LDAARRAY+1.L... ADC(ARRAY),
Y.X... STAN+1..... LDAN ;ZEIG
ER AUF../ . SEC ;LETZTES.:/!
. SBC#02 ;ARRAYELEMENT.W/". STA
N ;SETZEN.}/#. BCSLOOP1
;(=ENDE-5 BYTES)../$. DECN+1../%.;../&
.LOOP1 LDA ARRAY.D/'. CLC ;
START AUF../(. ADC#07 ;ERSTES..
0). STAI ;ARRAYELEMENT.!0*. L
DAARRAY+1 ;SETZEN.E0+. ADC#00
;(HEADERLAENGE.E0,. STAI+1
;=7 BYTES).K0-.;..0..LOOPI LDY #00 ;S
CHLEIFE I..0/. STYFLAG..00. LDAN
;FL = 0..01. STAJ.Z02. LDAN+1
;J=N..03. STAJ+1..04.;..15.LOOPJ LDA
J ;SCHLEIFE J..16. SEC.317. SBC#02
;J1=J-1.>18. STAJ1._19. LDAJ+1
;FELD%(J-1).K1:. SBC#00.X1;. ST
AJ1+1..1<. LDY#00 ;HI-BYTE FELD
%(J).B1=. LDA(J),Y ;>=FELD%(J-1).
.1>. CMP(J1),Y ;JA, DANN WEITER..1
?. BCCTAUSCH..2@. INY ;LOW-B
YTE FELD%(J).B2A. LDA(J),Y ;>=FEL
D%(J-1).H2B. CMP(J1),Y ;JA, DANN W
EITER.W2C. BCSWEITER.}2D.;..2E.TAUSCH S
TY FLAG ;FLAG SETZEN..2G.L1 LDA (J),Y.S
2H. TAX ;FELD(J) MIT..2I. LD
A(J1),Y..3J. STA(J),Y ;FELD(J-1).
.3K. TXA.*3L. STA(J1),Y ;TAUSCHEN.
33M. DEY.>3N. BPLL1.D3O.;.V3P.WEITER LD
A J._3Q. SEC.{3R. SBC#02 ;J=J-1
..3S. STAJ..3T. BCSENDJ..3U. DECJ+1..3V.
;.F3W.ENDJ CMP I ;J BIS AUF I..3X.
BNELOOPJ ;HERUNTERGEZAEHLT..4Y.
LDAJ+1 ;WENN NEIN, MIT.34Z. CMP
I+1 ;SCHLEIFE J.V4[. BNELOOPJ
;WEITERMACHEN.\4\.;..4]. LDAFLAG
;KEIN TAUSCH, DANN..4^. BEQENDE
;ENDE..4_.;..4`. LDAI.K4A. CLC
;I=I+1.W4B. ADC#02..4C. STAI..
4D. BCCENDI..4E. INCI+1..5F.;.!5G.ENDI
CMP N ;I BIS AUF N.E5H. BNELOOPI
;HERAUFGEZAEHLT.I5I. LDAI+1 ;
WENN NEIN, MIT..5J. CMPN+1 ;SCHL
EIFE I..5K. BNELOOPI ;WEITERMACHEN
..5L.;..5M.ENDE RTS...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL