5 #if defined (__H8300SX__)
9 ; Use er3 is a temporary since er0 must remain unchanged on exit.
12 ; Fill er1 with the byte to copy.
16 ; Account for any excess bytes and words that will be copied after
17 ; the main loop. r2 >= 0 if there is a longword to copy.
21 ; Copy one byte if doing so will make er3 word-aligned.
22 ; This isn't needed for correctness but it makes the main loop
31 ; Likewise one word for longword alignment.
45 ; At this point, we need to copy r2 & 3 bytes. Copy a word
62 ; A0P pointer to cursor
68 ; MOVP @(2/4,r7),A2P ; dst
69 ; MOVP @(4/8,r7),A1 ; src thing
70 ; MOVP @(6/12,r7),A3P ; len
75 ; A3 points to the end of the area
79 ; see if we can do it in words
80 ; by oring in the start of the buffer to the end address
86 ; we can do it a word at a time