Naja, dann ist die pragmatische Lösung doch einfach.
Du hast eine Delay Procedure die 65.534 Millisekunden warten kann, also ca. 65 Sekunden. Ich würde nun eine zweite Delay Funktion basteln die im Sekunden Bereich warten kann. Diese ruft intern die Millisekunden Delay Procedure auf mit einem Wert von 1000 ms. Dies wäre der pragmatische Weg.
Eine andere Lösunf sähe so aus das deine Funktion von 16 Bit auf 32 Bit umgebaut werden müsste. Im Register ECX also 32 Bit benutzt.
Delphi-Quellcode:
Delay_1:
dec ecx
jl Delay_2
// ecx < 0 ?? then return
push offset Delay_1
// return address of DelayOneMs to Delay_1
jmp DelayOneMs
// instead of Delay_2 if call where used
Delay_2:
ret
Gruß Hagen