/examples/bench/memcpy.asm
name memcpy public _tb_memcpy_mov, _tb_memcpy_mov16, _tb_memcpy_xfer, _tb_memcpy_xfer16 IOP SEGMENT _tb_memcpy_mov: lpd ga, [pp].4 ; source lpd gb, [pp].8 ; dest mov gc, [pp].12 ; len movi ix, 0 loop1: movb [gb+ix+], [ga+ix] dec gc jnz gc, loop1 hlt _tb_memcpy_mov16: lpd ga, [pp].4 ; source lpd gb, [pp].8 ; dest mov gc, [pp].12 ; len movi ix, 0 loop2: mov [gb+ix+], [ga+ix] dec gc jnz gc, loop2 hlt _tb_memcpy_xfer: lpd ga, [pp].4 ; source lpd gb, [pp].8 ; dest movi cc, 0C00Ch ; mem-mem, byte count termination wid 8, 8 xfer mov bc, [pp].12 ; len hlt _tb_memcpy_xfer16: lpd ga, [pp].4 ; source lpd gb, [pp].8 ; dest movi cc, 0C00Ch ; mem-mem, byte count termination wid 16, 16 xfer mov bc, [pp].12 ; len hlt IOP ENDS