Was ist los? Nachdem ich nen endlich ASM und C++ mixen kann, robootet der Computer (nicht Bochs, das läuft ohne Probleme) immer, wenn der C++ Kernel aufgerufen wird. Das gleiche passiert auch mit dem C Kernel und externen ASM Funktionen. Wo liegt das Problem? Etwa doch am Linker? Auch bei anderen OS (ich erwähne mal wieder PiratOS) funktionieren in Bochs wunderbar aber nicht in Real!!
Hier die ASM Version:
Fehlermeldungen gibts keine.
Hier die ASM Version:
Code: [Auswählen]
;pm32.asm
[Bits 32]
extern _main
extern _jump
global start
start:
mov BYTE [0xB8000],0x4F
mov BYTE [0xB8000+1],7
mov BYTE [0xB8000+2],0x4B
mov BYTE [0xB8000+3],7
call _jump
Stop:
jmp Stop
;check_link.asm
[bits 32]
global _jump
_jump:
mov BYTE [0xB8000],0x4F
mov BYTE [0xB8000+1],16
mov BYTE [0xB8000+2],0x4B
mov BYTE [0xB8000+3],16
ret
//Linkfile
OUTPUT_FORMAT("binary")
INPUT(pm32.o check_link.o kernel.o video.o)
ENTRY(start)
SECTIONS
{
.text 0x10200: {
*(.text)
. = ALIGN(1);
}
.data : {
*(.data)
. = ALIGN(1);
}
.bss : {
*(.bss)
. = ALIGN(1);
}
end = .;_end = .;__end = .;
}Fehlermeldungen gibts keine.

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert



