CRT.Write/WriteLn bugfix © 0CodErr

This commit is contained in:
2020-06-09 22:02:28 +03:00
parent 6ee928a133
commit 6f73b7be3f

View File

@@ -231,24 +231,20 @@ function Write(Format: PKolibriChar; const Args: array of const): Integer;
const const
VarArgSize = SizeOf(TVarRec); VarArgSize = SizeOf(TVarRec);
asm asm
PUSH EDI
PUSH EBX PUSH EBX
MOV EBX, ESP MOV EBX, ESP
INC ECX INC ECX
JZ @@call JZ @@call
@@arg: @@arg:
MOV EDI, [EDX + ECX * VarArgSize - VarArgSize] PUSH dword [EDX + ECX * VarArgSize - VarArgSize]
PUSH EDI
LOOP @@arg LOOP @@arg
@@call: @@call:
PUSH ESP
PUSH EAX PUSH EAX
CALL PrintF CALL PrintF
MOV ESP, EBX MOV ESP, EBX
POP EBX POP EBX
POP EDI
end; end;
procedure WriteLn(LineBreaks: Integer); procedure WriteLn(LineBreaks: Integer);