Autor Thema: RawWrite und NASM  (Gelesen 3940 mal)

bscreator

  • Gast
Gespeichert
« am: 14. March 2010, 12:29 »
Hallo,

Frage RawWrite :
Wie kann ich bspw. mit RawWrite meinen OS-Kernel auf den 3. Sektor einer Floppy schreiben ?

NASM Frage :
Weiss jemand, wie man mit NASM, die in anderen Assemblern verwendbaren Schlüsselwörter EXTRN und PUBLIC für die Deklaration und Verwendung von externen Variablen, benutzt, bzw. wie die in NASM heißen ?

Vielen Dank im Vorraus,
bsc

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 14. March 2010, 12:45 »
Zu letzterem: Meinst du extern und global? Deine Bezeichnungen habe ich nämlich wiederum noch nie gesehen...
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

XanClic

  • Beiträge: 261
    • Profil anzeigen
    • github
Gespeichert
« Antwort #2 am: 14. March 2010, 12:53 »
extrn und public werden (u. a.?) in FASM verwendet. Bei NASM benutzt man die genauso (wie bei FASM), nur dass sie da (wie taljeth schon sagte) extern und global heißen.

bscreator

  • Gast
Gespeichert
« Antwort #3 am: 14. March 2010, 13:36 »
In meinem tollen Assemblerbuch da stehen die Schlüsselwörter extrn und public. Und an dem Buch orientier ich mich eben immer.
Danke, jetzt weiss ich bescheid.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 16. March 2010, 16:56 »
Mit Rawwrite kannst du den dritten Floppysektor nur überschreiben, indem du die ersten beiden Sektoren auch überschreibst. :roll:

Mit dd (gibt's auch für win32 :-o) kannst du das aber tun, und zwar mit den Schlüsselwörtern skip (überspringt Blöcke in der Eingabe) bzw. seek (überspringt Blöcke der Ausgabe):

dd if=kernel.bin of=/dev/fd0 bs=512 seek=3

oder so ähnlich.

Gruß,
Svenska

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 16. March 2010, 19:19 »
seek=2 eher für den dritten Sektor, oder?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen