Czyli ds i esi sa 32 bitowe ( ? )
Wyczytalem ze i tak z esi uzywa sie tylko dolnych 16 bitow, wiec wykombinowalem ze porostu adres w ds jest tak samo jak pod 16 bitami ale nie :(
Tzn wyswietli mi sie tak:
at
czyli dobrze ale napis nie :( tzn cos zle wpisuje do esi tylko jak to powinno tam byc? bo pod 16 bitami dziala jak ta lala ;) jakos dopiero teraz robie na 32 bitach i tu taki zonk xD a w necie tylko o 16 bitach a gdzie jest mowa o 32 z tym esi to nie czaje lub nie na temat :(
[bits 32]
jmp start
start: mov ebx, 0x000007C0
mov ds, ebx
mov ah, 0x0E
mov al, 'a'
int 0x10
mov al, [booting+3]
int 0x10
mov esi, booting
call message
for jmp for
message: cld
mov ah, 0x0E
messagechar: lodsb
int 0x10
cmp al, 0x00
jz messageend
jmp messagechar
messageend: ret
booting db "Booting... Please wait...", 0x00