Moin
ich bin gerade dabei meinem OS eine Funktion zu geben, damit es den PC ausschalten kann, doch es ändert sich nur die hintergrundfarbe und bochs startet neu, Virtual Box läuft einfach weiter.

Das ist der Code ausm asm kernel, welcher den cpp Kernel aufruft und danach in eine entlosschleife geht.
Das ist das APM beispiel aus Ausgabe 3.
Wisst ihr woran das ligen kann?
Programm Noob
ich bin gerade dabei meinem OS eine Funktion zu geben, damit es den PC ausschalten kann, doch es ändert sich nur die hintergrundfarbe und bochs startet neu, Virtual Box läuft einfach weiter.

Das ist der Code ausm asm kernel, welcher den cpp Kernel aufruft und danach in eine entlosschleife geht.
Code: [Auswählen]
global loader ; Entrypoint
extern _main ; Main aus dem C++ Kernel
; TODO extern destructors
extern _initialiseConstructors
FLAGS equ 0
MAGIC equ 0x1BADB002 ; Magicnumber
CHECKSUM equ -(MAGIC + FLAGS) ; Checksum
section .text
align 4
MultiBootHeader:
dd MAGIC ; Magic number
dd FLAGS ; Flags
dd CHECKSUM ; Checksum
loader:
mov esp,0x200000
push eax
push ebx
call _initialiseConstructors
call _main ; main aufrufen
call powerdown
stop:
jmp stop
powerdown:
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 systemDas ist das APM beispiel aus Ausgabe 3.
Wisst ihr woran das ligen kann?
Programm Noob

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken
Gespeichert


).