Wo kommt bitte "s" her?
Operandengröße stimmt nicht überein..
Ist doch auch klar?
Integer = 4 Byte (z.B. EAX)
Byte = 1 Byte (z.B. AL)
Delphi-Quellcode:
var
stunden, minuten, sekunden: Byte;
begin
asm
mov AH, $2C
int $21
mov byte ptr &stunden, CH
mov byte ptr &minuten, CL
mov byte ptr &sekunden, DH
end;
(ich persönlich schreib das "byte ptr" und "&" mit dazu und arbeite auch gern einheitlich mit der Delphi-Syntax für die Hex-Werte ... muß man aber nicht unbedingt)
Es gab aber auch noch irgendeinen Befehl (welcher mir grad nicht einfällt), um Byte nach LongWord/LongInt zu expandieren, aber ich glaub der ging nur innerhalb eines Registers.
PS: Warum unbedingt via Interrupt?
(wobei dieser vom Windows nicht unbedingt erlaubt sein muß)