Autor Thema: Problem mit lodsb/esi/...  (Gelesen 2997 mal)

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« am: 16. May 2005, 11:39 »
Bei folgendem Code funktioniert lodsb irgendwie nicht...
Wie man sieht ist nach dem lodsb ein cli/hlt eingebaut, Bochs sagt mir bei das eax an dieser Stelle 0x00000000 ist, wenn ich "si" statt "esi" verwende (ich hab schon viel herum-probiert) kommt 0x000000ff in eax...

mov esi, Msg_Welcome
call PutString

jmp $
; =================[ End ]===============================
cli ; disable interrupts.
hlt ; halt the cpu.
; =================[ Misc Data ]=========================
CursorPosition dd 0x00000000
Msg_Welcome db "Welcome", 0

PutString:
mov edx, [CursorPosition]
mov ax, 0x0018
mov es, ax
.1:
lodsb
cli
hlt
or al, al
jz short .2
mov byte [es:edx], al
inc dx
mov byte [es:edx], 0x07
inc dx
jmp .1
.2:
mov [CursorPosition], dx
mov ax, 0x0010
mov es, ax
retn

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 16. May 2005, 14:01 »
Okay, hat sich erledigt ^^ Der Kernel wurde an die falsche Stelle geladen ;D
vielen Dank an BlueXSeven :)

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #2 am: 16. May 2005, 17:28 »
ich hab genau das selbe Problem. wo, hast du den Fehler gefunden ?

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 16. May 2005, 19:02 »
Sag ich doch, der Kernel wurde an die falsche Stelle geladen^^ der Rest funzte trotzdem. mit nem org 0x10000 hat sich das erledigt

 

Einloggen