Speichere dir folgenden Code in eine Textdatei namens warte.asm:
-------------------------------------------------------------------------------------
A
pushf ; Flagregister,
push di ; Datenindex und
push si ; Stackindex sichern
mov bx,[005D] ; Dosparameter einlesen
cmp bl,30 ;
je 153 ; Wenn = 0, Warte auf Taste
jb 158 ; Wenn < 0 ungÂltig, Abbruch
cmp bl,3A ;
jnb 158 ; Wenn > 9 ungÂltig Abbruch
And bl,0F ; Hohes Halbbyte filtern ( Hex 35 zum Hex 05 )
Mov bh,0 ; Highbyte löschen
mov ax,2c00 ;
int 21 ; Funktion 2C liest die Uhrzeit
mov ax,dx ; Sekunden & Hunderstel sichern
add ah,bl ; Dauer (DOS-Parameter) zu Sekunden addieren
mov bx,cx ; Stunden & Minuten sichern
cmp ah,3b ;
jle 13e ; Wenn Sekunden <= 59 ist Zeit korrekt
sub ah,3c ; Sonst 60 abziehen
add bl,1 ; Minuten um 1 erhâ€hen
cmp bl,3b ;
jle 13e ; Wenn Minuten <= 60 ist Zeit korrekt
sub bl,3c ; Sonst 60 abziehen
add bh,1 ; Stunden um 1 erhâ€hen
cmp bh,18 ;
je 103 ; Datumswechsel ! Neu anfangen
mov di,ax ;
mov si,bx ; Endzeit sichern (HHMM in SI, SSHH in DI)
mov ax,2c00
int 21 ; Aktuelle Zeit holen
cmp si,cx
JB 158 ; Std/Min Endzeit < Zeit, Abbruch
JA 142 ;
cmp di,dx
jna 158
jmp 142
mov AX,0C08
int 21
pop si
pop di
popf
int 20
rcx
5D
n warte.com
w
q
-------------------------------------------------------------------------------------
Danach hast du im aktuellen Verteichnis ein Mini-Progrämmchen namens warte.com (93 Byte), das deine Aufgabe lösen sollte. Einfach in der Batchdatei an der richtigen Stelle die Zeile "warte 5" eingeben, wenn du 5 Sekunden verzögern willst.
hth
Reinhold