mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 05:39:19 +02:00
* FillChar changed to a pure assembler procedure
git-svn-id: branches/z80@44965 -
This commit is contained in:
parent
7bfce62302
commit
2aa248bba2
@ -56,34 +56,32 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
{$define FPC_SYSTEM_HAS_FILLCHAR}
|
{$define FPC_SYSTEM_HAS_FILLCHAR}
|
||||||
Procedure FillChar(var x;count:SizeInt;value:byte);
|
Procedure FillChar(var x;count:SizeInt;value:byte);assembler;
|
||||||
label
|
label
|
||||||
skip, loop;
|
skip, loop;
|
||||||
begin
|
asm
|
||||||
asm
|
ld c, (count)
|
||||||
ld c, (count)
|
ld b, (count+1)
|
||||||
ld b, (count+1)
|
bit 7, b
|
||||||
bit 7, b
|
jp NZ, skip
|
||||||
jp NZ, skip
|
|
||||||
|
|
||||||
ld a, b
|
ld a, b
|
||||||
or a, c
|
or a, c
|
||||||
jp Z, skip
|
jp Z, skip
|
||||||
|
|
||||||
ld e, (value)
|
ld e, (value)
|
||||||
ld a, 0
|
ld a, 0
|
||||||
ld l, (x)
|
ld l, (x)
|
||||||
ld h, (x+1)
|
ld h, (x+1)
|
||||||
loop:
|
loop:
|
||||||
ld (hl), e
|
ld (hl), e
|
||||||
inc hl
|
inc hl
|
||||||
dec bc
|
dec bc
|
||||||
cp a, c
|
cp a, c
|
||||||
jp NZ, loop
|
jp NZ, loop
|
||||||
cp a, b
|
cp a, b
|
||||||
jp NZ, loop
|
jp NZ, loop
|
||||||
skip:
|
skip:
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user