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ı.
Sayfa 11
sta $d015 sei lda #$31 ldx #$ea sta $0314 stx $0315 cli rts ;--------------------------------------------; save lda #<save_msg ldy #>save_msg jsr $ab1e save_key jsr $ffe4 cmp #$45 beq cihaz cmp #$48 bne save_key jsr end_of jmp $a474 ;--------------------------------------------; cihaz lda #<kas_dis ldy #>kas_dis jsr $ab1e kd_key jsr $ffe4 cmp #$4b beq kaset cmp #$44 bne kd_key ;--------------------------------------------; ; SETLFS rutini için hazırlık ;--------------------------------------------; disket lda #$08 .byte $2c kaset lda #$01 ldx #$08 ldy #$ff jsr $ffba ;--------------------------------------------; ; SETNAM rutini için hazırlık ;--------------------------------------------;
lda name_len ldx #<name ldy #>name jsr $ffbd ;--------------------------------------------; ; SAVE rutini için hazırlık ;--------------------------------------------;
lda start_lo ldx start_hi sta $fb stx $fc lda #$fb ldx $fd ;finish lo ldy $fe ;finish hi jsr $ffd8 jmp $a474 ;--------------------------------------------; start_adr lda $fc jsr memtohex lda $fb jsr memtohex
rts ;--------------------------------------------; memtohex pha lsr lsr lsr lsr jsr nibble pla and #$0f nibble cmp #$0a bcc number clc adc #$07 number clc adc #$30 jsr $ffd2 rts ;--------------------------------------------; checksum lda #$00 sta $02 sta $03 lda #<linechar1 ldy #>linechar1 jsr $ab1e ldy #$00 next_byte ldx multiple,y read_it lda ($fb),y clc adc $02 sta $02 bcc noinc03 inc $03 noinc03 dex bne read_it iny cpy #$08 bne next_byte rts ;--------------------------------------------; pre_text .byte 13,13 prg_name .text "program adi : " .byte 13 .text "baslama adr.: " .byte 5,36 .byte 13,158 .text "bitis adresi: " .byte 5,36 .byte 13,0 yes_no .byte 13,13 .text "emin misiniz ? (e/h)"
.byte 0 error_mes .byte 13,13,13 .text "adres hatasi!!" space_mes .byte 13 .text "tekrar icin 'space' tusuna basin !!"
.byte 13,0 err_mes .byte 158,13,13 .text "kontrol toplami