home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Serious Magazine 12
/
Serious_Magazine_12_2003_01_07_Dial_pl_Side_B.atr
/
stuff1.arc
/
TOTO.ASM
< prev
next >
Wrap
Assembly Source File
|
1988-09-01
|
4KB
|
2 lines
¢*---- TOTO ----¢*¢* RUN - $9980¢* MEMHI - $9900¢*--------------¢¢ opt %10101¢¢pocz equ $9980¢¢clock equ $12 13 14¢ekrv equ $58 59¢ktab equ $79 7A¢¢colfs0 equ $2C0¢kbcods equ $2FC¢¢rand equ $D20A¢clear equ $F420¢¢*-Wlasne¢¢byte equ $F0¢addr equ $F1 F2¢word equ $F3 F4¢help equ $F5¢¢*----------------¢ org pocz¢¢begin equ *¢¢ jsr init¢¢bg0 jsr spkey¢¢ cmp #$1B¢ bne bg1¢¢ jmp exit¢¢bg1 cmp #$31 * Czy 1 - 6¢ bcc bg0¢ cmp #$37¢ bcs bg0¢ and #7¢ tax¢ dex¢ stx flx * Ktore losowanie¢ lda ile,x * Ile liczb jest potrzebne¢ sta fly¢ lda max,x * najwieksza liczba¢ sta fmax¢ lda ilos,x * Ile losowan¢ sta byte¢¢ jsr clear¢¢ ldy ekrv¢ ldx ekrv+1¢ sty word¢ stx word+1¢¢ ldy #word¢ lda #$50¢ jsr inad¢ ldy #0¢ sty help¢¢ ldx flx¢bg2 ldy #0¢ dex¢ bmi wyp¢bg3 iny¢ inc help¢ cpy #$1A¢ bne bg3¢ beq bg2¢¢wyp clc * Wypisz nazwe losowania¢ lda help¢ adc #6¢ tax¢ ldy #$0A¢wp1 lda nap1,x¢ sta (word),y¢ inx¢ iny¢ cpy #$1E¢ bne wp1¢¢ ldy #word¢ lda #$50¢ jsr inad¢¢ ldx byte¢¢loop equ *¢¢ stx byte¢¢*-Wypelnienie tablicy¢¢l0 ldy fly¢l1 lda rand¢ beq l1¢ cmp fmax¢ bcs l1¢ sta ktabl,y¢ dey¢ bne l1¢¢*-Sortowanie przez wstawianie¢¢sort equ *¢¢ ldx flx¢ cpx #5¢ beq pisz¢¢ ldy #2¢s0 tya¢ tax¢ dex¢ lda ktabl,y¢ sta help¢s1 lda ktabl,x¢ cmp help¢ bcc s2¢ beq l0¢ sta ktabl+1,x¢ dex¢ bne s1¢s2 lda help¢ sta ktabl+1,x¢ iny¢ cpy fly¢ bne s0¢¢*-Pisz liczby DEC¢¢pisz equ *¢¢ ldx flx¢ lda fny,x * pozycja do wypisu¢ tay¢ ldx fly¢ dex¢p1 lda #0¢ sta help¢ sed¢p2 lda help¢ adc #1¢ sta help¢ dec ktabl,x¢ bne p2¢ cld¢ jsr phex¢ dey¢ dex¢ bne p1¢¢ ldy #word¢ lda #$50¢ jsr inad¢¢ ldx byte¢ dex¢ bpl loop¢¢ ldy #word¢ lda #$28¢ jsr inad¢¢ ldx #0¢ ldy #2¢p5 lda nap7,x¢ sta (word),y¢ iny¢ inx¢ cpx #$18¢ bne p5¢¢sk jsr spkey¢ cmp #$1B¢ bne sk¢¢ jmp begin¢¢exit equ *¢¢ jsr clear¢ jmp ($0A)¢¢*-Sprawdz key¢¢spkey equ *¢¢ lda kbcods¢ cmp #$FF¢ beq spkey¢ ldy #$FF¢ sty kbcods¢ tay¢ lda (ktab),y¢ rts¢¢*-Dodaj Adr. Str.0¢¢inad equ *¢¢ clc¢ adc 0,y¢ sta 0,y¢ lda 1,y¢ adc #0¢ sta 1,y¢ rts¢¢*-Wyswietl liczby¢¢phex equ *¢¢ pha¢ jsr pxd¢ pla¢ lsr @¢ lsr @¢ lsr @¢ lsr @¢¢pxd and #$0F¢ ora #$10¢ cmp #$1A¢ bcc pxd1¢ adc #6¢pxd1 sta (word),y¢ dey¢ rts¢¢*--áחמחקá--¢¢init equ *¢¢ jsr clear¢¢ ldy ekrv¢ ldx ekrv+1¢ sty word¢ stx word+1¢¢ ldx #$1B * Wypisz tytul¢ ldy #$49¢in1 lda nap0,x¢ sta (word),y¢ dey¢ dex¢ bpl in1¢¢ ldy #word¢ lda #$7F¢ jsr inad¢¢ ldy <nap1¢ ldx >nap1¢ sty addr¢ stx addr+1¢¢ ldx #6 * Wypisz info¢in2 ldy #0¢in3 lda (addr),y¢ sta (word),y¢ iny¢ cpy #$1A¢ bne in3¢ tya¢ ldy #addr¢ jsr inad¢ ldy #word¢ lda #$50¢ jsr inad¢ dex¢ bpl in2¢¢ rts¢¢ brk¢¢*-Napis¢¢nap0 dta d'⑤ìáקנקIJכחםIJקנפáצסנפקנתךáÄò
'¢nap1 dta d'[1] - Duzy Lotek '¢nap2 dta d'[2] - Express Lotek '¢nap3 dta d'[3] - Zaklady specjalne '¢nap4 dta d'[4] - Multi Lotek '¢nap5 dta d'[5] - Szczesliwy numerek A'¢nap6 dta d'[6] - Szczesliwy numerek B'¢nap7 dta d' ףד≤π§ - Exit '¢¢*-Tablice¢¢flx dta b($00) * Ktore losowanie¢fly dta b($00) * Rej. ILE¢fmax dta b($00) * Rej. MAX¢¢*-Ile liczb do losowania zwiekszone o 1.¢¢ile dta b($07),b($06),b($06)¢ dta b($0B),b($05),b($02)¢¢*-Najwieksza dopuszczalna liczba.¢¢max dta b($31),b($2A),b($2D)¢ dta b($50),b($2D),b($24)¢¢*-Ilosc losowan zmiejszona o 1.¢¢ilos dta b($07),b($07),b($07)¢ dta b($02),b($00),b($00)¢¢*-pozycja do wypisu liczb¢¢fny dta b($19),b($17),b($19)¢ dta b($20),b($19),b($14)¢¢*-Tablica dla losowanych liczb.¢¢ktabl dta d' '¢¢ org $2E0¢ dta a(begin)¢¢*--------------¢ end¢¢