Hi,

I have a loop that needs to clear a 4096 byte area.
I would like it to be as fast as possible, but this is
not critical.

Here's what I came up with:

        ; need to clear data area
        ; data area is 4096 bytes
        ; 4096 = (255*16)+16

        ld hl,DATA_AREA
        ld c,16

@@start_loop1:

        ld b,255
@@clear_byte:           
        ld (hl),0
        inc hl
        djnz @@clear_byte 

        dec c
        jp nz,@@start_loop1

        ld b,16
@@start_loop2:
        ld (hl),0
        inc hl
        djnz @@start_loop2


It appears to work OK, but surely there must be a 
simpler way or a faster way?

Any suggestions? Does anyone know of any good docs on Z80 code
optimisation?

Thanks,
Tony
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html

Reply via email to