00000000: 00 0A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |..**************|
00000010: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000020: 2A 2A 0D 2A A0 A0 A0 A0 A0 A0 A0 A0 62 75 62 62 |**.*........bubb|
00000030: 6C 65 A0 73 6F 72 74 A0 A0 A0 A0 A0 A0 A0 A0 A0 |le.sort.........|
00000040: A0 A0 2A 0D 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |..*.************|
00000050: 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A |****************|
00000060: 2A 2A 2A 2A 0D 20 6C 64 61 20 23 24 30 30 0D 20 |****. lda #$00. |
00000070: 73 74 61 20 66 6C 61 67 0D 20 6C 64 78 20 23 24 |sta flag. ldx #$|
00000080: 30 30 0D 6C 6F 6F 70 31 20 6C 64 61 20 24 66 30 |00.loop1 lda $f0|
00000090: 30 30 2C 78 0D 20 73 74 61 20 24 30 34 30 30 2C |00,x. sta $0400,|
000000A0: 78 0D 20 69 6E 78 0D 20 63 70 78 20 23 24 30 30 |x. inx. cpx #$00|
000000B0: 0D 20 62 6E 65 20 6C 6F 6F 70 31 0D 20 6C 64 61 |. bne loop1. lda|
000000C0: 20 23 36 34 0D 20 73 74 61 20 31 39 37 0D 77 61 | #64. sta 197.wa|
000000D0: 69 74 20 6C 64 61 20 31 39 37 0D 20 63 6D 70 20 |it lda 197. cmp |
000000E0: 23 36 34 0D 20 62 65 71 20 77 61 69 74 0D 20 6C |#64. beq wait. l|
000000F0: 64 78 20 23 24 30 30 0D 20 6C 64 79 20 23 31 0D |dx #$00. ldy #1.|
00000100: 6C 6F 6F 70 32 20 6C 64 61 20 23 30 0D 20 73 74 |loop2 lda #0. st|
00000110: 61 20 66 6C 61 67 0D 20 6C 64 61 20 24 30 34 30 |a flag. lda $040|
00000120: 30 2C 78 0D 20 73 74 61 20 74 65 6D 70 0D 20 6C |0,x. sta temp. l|
00000130: 64 61 20 24 30 34 30 30 2C 79 0D 20 63 6D 70 20 |da $0400,y. cmp |
00000140: 74 65 6D 70 0D 20 62 6D 69 20 6E 65 78 74 31 0D |temp. bmi next1.|
00000150: 20 73 74 61 20 24 30 34 30 30 2C 78 0D 20 6C 64 | sta $0400,x. ld|
00000160: 61 20 74 65 6D 70 0D 20 73 74 61 20 24 30 34 30 |a temp. sta $040|
00000170: 30 2C 79 0D 20 6C 64 61 20 23 31 0D 20 73 74 61 |0,y. lda #1. sta|
00000180: 20 66 6C 61 67 0D 6E 65 78 74 31 20 6C 64 61 20 | flag.next1 lda |
00000190: 66 6C 61 67 0D 20 63 6D 70 20 23 31 0D 20 62 6E |flag. cmp #1. bn|
000001A0: 65 20 65 6E 64 0D 20 6A 6D 70 20 6C 6F 6F 70 32 |e end. jmp loop2|
000001B0: 0D 65 6E 64 20 6C 64 61 20 23 30 0D 20 73 74 61 |.end lda #0. sta|
000001C0: 20 31 39 38 0D 20 72 74 73 0D 74 65 6D 70 20 64 | 198. rts.temp d|
000001D0: 66 62 20 30 0D 66 6C 61 67 20 64 66 62 20 30 0D |fb 0.flag dfb 0.|
..********************************.*
BUBBLE SORT *.************
********************. LDA #$00. STA FLAG
. LDX #$00.LOOP1 LDA $F000,X. STA $0400,
X. INX. CPX #$00. BNE LOOP1. LDA #64. ST
A 197.WAIT LDA 197. CMP #64. BEQ WAIT. L
DX #$00. LDY #1.LOOP2 LDA #0. STA FLAG.
LDA $0400,X. STA TEMP. LDA $0400,Y. CMP
TEMP. BMI NEXT1. STA $0400,X. LDA TEMP.
STA $0400,Y. LDA #1. STA FLAG.NEXT1 LDA
FLAG. CMP #1. BNE END. JMP LOOP2.END LDA
#0. STA 198. RTS.TEMP DFB 0.FLAG DFB 0.
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL