[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Assembler code



Jplcsch wrote:

in assembler the routine could be

                       LDX #$00
                       LDY #DA ; init source address it's enough here
 MYMOVE     LDA #00
 LOOP1          LDA $DA00,X  :
                       STA $8000,X
                       DEX
                       BNE LOOP1
                       INY
                       CPY #DC
                       BEQ EXIT
                       TYA
                       INC LOOP1+3  ; modify memory source high adress
                       INC LOOP1+6 ; modify memory dest high address
                       JMP MYMOVE
   EXIT           RTS

"sanjaya" <pererasanjaya@hotmail.com> wrote in message
5e56673f.0501100007.40cb668f@posting.google.com">news:5e56673f.0501100007.40cb668f@posting.google.com...

can someone help me with the assembler code to move memory contents
from $DA00-$DBFF (Bank 1 main memory) to $8000-$81ff (main memory).

thanks,
sanjaya



I'm confused ... it looks to me like LOOP1+3 and LOOP1+6 are pointing to the wrong bytes. LOOP1 is the address of the opcode LDA, LOOP1+1 is the address of the low byte of $DA00, and LOOP1+2 is the address of the high byte of $DA00. Ditto for LOOP1+6, I believe it should read LOOP1+5. Am I missing anything?

Martin