pc neu starten
-
@Nobuo: Thx, aber irgendwie funktioniert das nicht.
CODE SEGMENT WORD 'CODE' ASSUME CS:CODE begin: jmp far 0FFFFh:0000h CODE ENDS END begin
Und dann mit Tasm 5 (tasm jump.asm) assembliert:
**Error** jump.ASM(6) Illegal immediate
Was ist falsch?
-
*falsches Forum* *hust* *vor Side in Deckung geh*
Du verwendest im TASM anscheinand den MASM-Syntax. far ist ideal-TASM. Den MASM-Syntax kenne ich (zum Glueck :p) nicht genauer.
Kann dir also nur die Op-Codes geben:
db 0eah ;far jump
dw 0000h ;offset
dw 0FFFFh ;segment
-
Danke Nobou, aber ich krieg's einfach nicht hin. Könntest du vielleicht den vollständigen Code für TASM posten? Und ist das eigentlich der übliche Weg den PC unter DOS (nicht Windows-Konsole) neuzustarten?
-
Ich mach einen Thread im Asm-Forum auf. Wennsde noch weitere Fragen hast, bitte dann dort hin.
[ Dieser Beitrag wurde am 28.07.2002 um 00:47 Uhr von Nobuo T editiert. ]
-
Falls es hier um Win-Konsole geht: WebFritzis Beitrag.
Falls es hier von Win auf DOS geht: WebFritzis Beitrag.Falls es hier um DOS geht: NobuoTs Beitrag im ASM-Forum.
Danke für ihr Verständnis.
MfG SideWinder
-
@webfritzis
hmm wie meinst du es so gibr es ein Fehler#include <windows.h>
BOOL ExitWindowsEx(UINT uFlags, // shutdown operation
DWORD dwReserved // reserved
);void main()
{ExitWindowsEx();
}
-
Schreib statt
ExitWindowsEx();
z.B. mal
ExitWindowsEx(EWX_SHUTDOWN, 0);
-
Original erstellt von Nobuo T:
Noe. int 9 ist der KB handler. Wenn du den aufrufst passiert absolut gar nyx.hast recht, ich hab mich vertan, laut einem Buch was ich habe, ist der Interrupt 0x19 dafür zuständig
-
Original erstellt von $oldier:
**@webfritzis
hmm wie meinst du es so gibr es ein Fehler#include <windows.h>
BOOL ExitWindowsEx(UINT uFlags, // shutdown operation
DWORD dwReserved // reserved
);void main()
{
ExitWindowsEx();
}**Oha. Du solltest dir mal ein Tutorial über Programmierung reinziehen. Hast du noch nie eine Funktion aufgerufen?
-
@web
ja ok habs kapiert
-
OK. War auch nicht bös gemeint.
-
funzt das beenden des computers nich auch mit dem befehl
system("RUNDLL32.EXE user, ExitWindows");
?
-
Also, bei mir nicht.
-
oh sorry, hab da noch was vergessen, ich meinte:
system("%windir%\\RUNDLL32.EXE user, ExitWindows");damit müsste es eigentlich klappen
mfg kenny