Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Jiba

Seiten: [1]
1
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 23. June 2006, 00:54 »
danke es klappt ich kann A und B ausgeben

im tutorial wurde DS auch nicht gesetzt das dachte das muß so

sollte man wohl mal ändern
2
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 23. June 2006, 00:45 »
der eine kommentar ist falsch stack bauen
3
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 23. June 2006, 00:43 »
dann müsste ja folgendes programm klappen oder?

   org 0x7C00 ; startadresse

   jmp start

; daten
data:
msg   db 65

; bootloader start
start:

; stack bauen
   mov bx, msg
   mov al, [bx]

   call printchar

   mov al, 66
   call printchar

   call getkey

; bootloader ende
   jmp reboot

; giebt einen buchstaben aus al aus
printchar:
   mov ah, 0x0E
   mov bx, 0x0007
   int 0x10
ret

; auf tastendruck warten
getkey:
   mov ah, 0
   int 16h   
ret

; reboot
reboot:
   db 0EAh
   dw 00000h
   dw 0FFFFh

; bootsektor füllen
   times 512-($-$$)-2 db 0   ; dateilänge: 512 Bytes
   dw 0AA55h                 ; bootsignatur
4
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 23. June 2006, 00:19 »
ich hab mir mein asm buch zur gemüte geführt.
ich verstehe das so:
auf einen wert greift man standardmäsig so zu

zeichen db 'A'
mov al, DS:[zeichen]

auch wenn mann das schreibt:

zeichen db 'A'
mov al, [zeichen]

ich hab DS nicht gesetzt und weiß auch nicht welche adresse da rein muss
5
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 23. June 2006, 00:10 »
ich kapier das mit der adressierung nicht richtig wie komme ich den an den wert der adresse in msg? ich hab es mit [msg] probiert aber das klappt auch nicht.
6
Lowlevel-Coding / kann im bootloader nicht schreiben
« am: 22. June 2006, 23:06 »
ich hab das erste tutorial mal nachgebaut und mich gewundert das im bootloader die strings nicht ausgegeben werden.

dann hab ich rausgeschmissen was nicht wichtig ist und hab gemerkt
das ich zwar so ein A ausgeben kann

; >>A<< ausgeben
...
   mov al, 0x41 //ascii wert für 'A'
   mov ah, 0x0E
   mov bx, 0x0007
   int 0x10

aber nicht so:

; msg ausgebn
...
jmp start:
daten:
db msg 0x41 //ascii wert für 'A'
...
start:
   mov al, msg
   mov ah, 0x0E
   mov bx, 0x0007
   int 0x10

woran kann das liegen?
Seiten: [1]

Einloggen