C64 Türkiye sayı 4, sayfa 10

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 10

sec sbc #$37 rts ;--------------------------------------------; convert pha lsr lsr lsr lsr jsr convert0 sta temp0 convert1 pla and #$0f convert0 cmp #$0a bcs hexharf clc adc #$39 hexharf sec sbc #$09 sta temp1 rts ;--------------------------------------------; convex jsr convert lda temp0 sta oper,x inx lda temp1 sta oper,x inx rts ;--------------------------------------------; input_bytes ldx #$00 lda $fc ;start hi jsr convex lda $fb ;start lo jsr convex lda $fe ;finish hi jsr convex lda $fd ;finish lo jsr convex lda #$2c sta sw jsr $e544 dex lda #$0d jsr $ffd2 lda #$05 jsr $ffd2 check_1 lda #$0d jsr $ffd2 ldy #$00 sty byte_cnt jsr start_adr lda #$3a jsr $ffd2 lda #$20 jsr $ffd2 ;--------------------------------------------; ; bir satırdaki baytların girilmesi ;--------------------------------------------; one_line jsr key_in

ldy byte_cnt sta ($fb),y lda #$20 jsr $ffd2 inc byte_cnt ldy byte_cnt cpy #$08 bne one_line jsr checksum ;kontrol toplamı burada hesaplanıyor ;--------------------------------------------; ;kullanıcının kontrol toplamı girdiği yer ;--------------------------------------------;

jsr key_in sta $05 jsr key_in sta $04 ;--------------------------------------------; ; kontrol toplamları karşılaştırma ; önce yüksek byte'ı karşılaştır ;--------------------------------------------;

lda $05 cmp $03 bne check_err ;--------------------------------------------; ; sonra alçak byte'ı karşılaştır ;--------------------------------------------;

lda $04 cmp $02 bne check_err ;--------------------------------------------; ; programın sonuna gelindi mi? ;--------------------------------------------; ; önce alçak baytı karşılaştır ;--------------------------------------------;

lda $fb clc adc #$08 sta $fb bcc no_hi_adr inc $fc no_hi_adr lda $fb cmp $fd bne check_1 ;--------------------------------------------; ; sonra yüksek baytı karşılaştır ;--------------------------------------------;

lda $fc cmp $fe bne check_1 jsr end_of jmp save ;--------------------------------------------; check_err lda #<err_mes ldy #>err_mes jsr $ab1e jmp check_1 ;--------------------------------------------; ; program sonunda yapılacak olan işler ;--------------------------------------------; end_of lda #$00

Klavyeyle gezinmek için ← ve → tuşları.