mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 01:39:27 +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}
|
||||
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;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user