Ich brauche Hilfe beim Assembler-Programmieren.

Und zwar geht es um diesen Code:

Code:
; SYSTEM POWERDOWN 
; WARNING - DO NOT RUN UNDER WIN! (IT WORKS!)
; (C) 1999 BY VINNY  

MOV AX,0x5300
XOR BX,BX
INT 0x15 ; APM install check
MOV AX,0x5304
XOR BX, BX
INT 0x15 ; disconnect interface
MOV AX,0x5301
XOR BX, BX
INT 0x15 ; connect real-mode interface
MOV AX,0x5307
MOV BX,1
MOV CX,3
INT 0x15 ; powerdown system
Der Code sollte das Herunterfahren des Computers zur folge haben. Wenn ich das ganze schön in meine RM [Real Mode] Shell einbinde (mit NASM compiled und mit RawWrite [beide W32] zusammen mit dem Bootloader auf die Diskette geschrieben) und dann den Für das Ausführen programmierten Befehl ('exit') eingebe. Erhalte ich die Nachricht (die beabsichtigt ist) das der PC nach drücken einer Taste herrunterfährt.) Ich drücke auf die Taste und nix passiert.

Der Code zum Auf die Taste warten heißt:

Code:
getkey:
mov ah, 0 ; Funktion 0
int 016h  ; Ausführen
ret
Allerdings muss ich sagen das der selbe Warte_auf_dei_Taste Code beim Rebooten sehr gut funktioniert.

Hoffe mal jemand kann mir sagen warums net geht bzw. einen anderen Code verraten....