Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: derwolf am 05. May 2008, 19:51
-
Hallo Leute,
ich versuche mich gerade an nem "HigherHalf" Kernel. Habe aber folgendes Problem:
init.asm:
KERNEL_VIRTUAL_BASE equ 0xC0000000
KERNEL_PAGE equ (KERNEL_VIRTUAL_BASE >> 22)
...
[section .data]
align 0x1000
BootPageDir:
dd 0x00000083
times (KERNEL_PAGE - 1) dd 0
dd 0x00000083
times (1024 - (KERNEL_PAGE - 1)) dd 0
beim kompilieren kommt dann:
error: TIMES value -257 is negative
laut nasm dokumentation sollten alle >> unsigned sein... check ichs nur net? kann mir da einer weiterhelfen?
Mfg, D.
-
der Code, den du hier zeigst, scheint mir Fehler frei zu sein.
und lässt sich bei mir auch problemlos assemblieren.
laut nasm dokumentation sollten alle >> unsigned sein... check ichs nur net? kann mir da einer weiterhelfen?
das ist schon richtig, aber nur mal angenommen KERNEL_PAGE hätte den Wert +1282 würde die letzte Zeile trotzdem den Fehler verursachen.
-
Hallo,
danke schonmal MNemo,
hab nun mal folgendes probiert:
BITS 32
KERNEL_VIRTUAL_BASE equ 0xC0000000
KERNEL_PAGE equ (KERNEL_VIRTUAL_BASE >> 22)
section .data
dd KERNEL_PAGE
dd 0x00000083
section .text
start:
und kompiliert... wenn ich nun mit objdump die symbole angucke, dann:
c0000000 l *ABS* 00000000 KERNEL_VIRTUAL_BASE
ffffff00 l O *ABS* 00000004 KERNEL_PAGE
mir fällt da einfach net ein, warum des so sein sollte....
-
Hallo,
habe nu auf die nasm v2.02 gewechselt und siehe da, es geht... hatte vorher die ubuntu-standard-paket version installiert...
naja,
mfg, D