İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Konular - myriac

Sayfa: [1]
1
çeşitli / sos - 1
« : 06.10.2005 17:37:47 »
* = $c000

jsr clear_screen
ldy #$40
jsr delay
ldx # < text1
ldy # > text1
jsr copy_text
ldy #$80
jsr delay
ldx # < text2
ldy # > text2
jsr copy_text
ldy #$c0
jsr delay
ldx # < text3
ldy # > text3
jsr copy_text
end:
jmp end


clear_screen:
ldx #0
lda #20
cs_loop:
sta $0400,x
sta $0500,x
sta $0600,x
sta $0700,x
inx
bne cs_loop
rts

screen = $0400 + (12*40)

copy_text:
stx ct_loop + 1
sty ct_loop + 2
ldx #0
ct_loop:
lda $0000,x
sta screen,x
inx
cpx #40
bne ct_loop
rts

delay:
ldx #0
d_loop:
dex
bne d_loop
dey
bne d_loop
rts
text1:
!scr "merhaba dunya "
text2:
!scr "iste geliyorum "
text3:
!scr "bangir bangir "

lütfen birisi aklımı açsın :
3. chapter' ın bu kısmına kada bilgilerimi tazeledim,
defalarca okudum, danışmayacam dedim kimseye ama işte yazıyorum
1) 16 bitlik text1 yada text 2,3 etiketini 2 baytlık registerlara  bölüp argüman olarak x ve y diye belirtip sora dallanıyoruz mantığını kavrayamıyorum,
2) soa copy_text e dallandığımız yerde
stx ct_loop + 1
sty ct_loop + 2
satırlarında x ve y kndini nerelere nasıl yazıyor ? (şayet böyleyse, stx in bu kullanımı kafamı karışırdı)
3) cpxle döngü  neden kırka kadar sayıyor ?

kısacası halihazırda varolan text1: text2: text3: etiketlri varken argüman geçirerek bu yazıları ekrana yazdırmayı bi türlü çözemedim.

lütfen acemiye bi yardım kimse gülmesin
c64 asm yi tekrar öğrenmyi çok istiyorum :(

Saygılrımla,

Sayfa: [1]