* FillChar changed to a pure assembler procedure

git-svn-id: branches/z80@44965 -
This commit is contained in:
nickysn 2020-04-21 16:48:54 +00:00
parent 7bfce62302
commit 2aa248bba2

View File

@ -56,34 +56,32 @@ end;
{$define FPC_SYSTEM_HAS_FILLCHAR}
Procedure FillChar(var x;count:SizeInt;value:byte);
Procedure FillChar(var x;count:SizeInt;value:byte);assembler;
label
skip, loop;
begin
asm
ld c, (count)
ld b, (count+1)
bit 7, b
jp NZ, skip
asm
ld c, (count)
ld b, (count+1)
bit 7, b
jp NZ, skip
ld a, b
or a, c
jp Z, skip
ld a, b
or a, c
jp Z, skip
ld e, (value)
ld a, 0
ld l, (x)
ld h, (x+1)
ld e, (value)
ld a, 0
ld l, (x)
ld h, (x+1)
loop:
ld (hl), e
inc hl
dec bc
cp a, c
jp NZ, loop
cp a, b
jp NZ, loop
ld (hl), e
inc hl
dec bc
cp a, c
jp NZ, loop
cp a, b
jp NZ, loop
skip:
end;
end;