SUCHE bootsector tutorial in at&t syntax.
-
Bis her hab ich nur NASM tutorials gefunden.
-
auch wenn das jetzt nicht die Anwort ist auf die du gehoft hast:
Wenn du wirklich vorhast in die OS Programmierung ein zu steigen, dann nimm NASM
mit allen anderen Compilern machst du alles nur viel komplizierter
NASM kann alle guten Formate erzeugen und auch flat binarys, ich habe noch kein Tutorial über OS Programmierung gesehen, das nicht mit NASM oder C gemacht wurde,
also auch wenn du ein gutes Einsteigertutorial für AT&T finden solltest, wirst du nie weit kommen ohne doch irgendwann NASM zu benutzen
-
Für AT&T findet man wirklich sehr wenig (was erstaunlich ist, da der ganze Assembler Code im Linux Kernel zB mit AT&T geschrieben wurde und Bootloadder wie GRUB und LiLo afaik auch AT&T Syntax benutzen).
Aber es geht ja nur darum, das Prinzip eines Bootloaders zu verstehen. Das kann man ja auch mit NASM Syntax und dann in AT&T übertragen.
@scales of justice
Ich glaub, dass er AT&T will und kein NASM. Sonst hätte er sicher gefragt, ob NASM gut wäre. Nicht?
-
Ich glaub, dass er AT&T will und kein NASM. Sonst hätte er sicher gefragt, ob NASM gut wäre. Nicht?
ich weis, deswegen schrieb ich ja
auch wenn das jetzt nicht die Anwort ist auf die du gehoft hast
Übertragen ist natürlich auch eine Möglichkeit, dann müsstest du aber trotzdem erstmal den NASM Syntax kennen und dann kannst du eigentlich auch gleich NASM benutzen
Leider hat da jeder Assembler da auch so seine Eigenheiten, assume gibts z.B. beim NASM gar nicht
und ob man den Inhalt einer Speicherstelle jetzt mit oder ohne eckigen Klammern abruft, ist auch bei manchen Assemblern unterschiedlich und bringt oft alles durcheinander
-
Also erstens:
Mein problem ist nicht, dass nicht nicht verstehe wie man ein bootsector programm schreibt. Mein Problem ist: Mein Prog funktioniert nicht. Ich habe früher mit NASM programmiert. . Ich habe früher schonmal so ein bootsector programm gschrieben.
Jetzt bin ihc von NASM auf GAS umgestiegen.Ich will es eben in at&t syntax haben. (NASM kann ich ja)
-
dann zeig mal dann Programm,
vielleicht findet jemand von uns den Fehler
-
scales of justice schrieb:
dann zeig mal dann Programm,
vielleicht findet jemand von uns den Fehler.arch i386 .code16 #.org 0x7c00 .section .text .global _start _start: movw $0xb800 , %ax movw %ax , %es xorw %di , %di movw $0x7c00 , %ax movw %ax , %ds movw $msg , %si movb $0x1a , %ah .l1: lodsb stosw cmpb $0x00 , %al jne .l1 jmp . .section .data msg: .asciz "Hallo was geht" .rept 470 .byte 0 .endr #.org 510 .short 0xaa55
as -o main.o main.s ld -o asm_bin.bin main.o --oformat binary -Ttext=0x7c00
-
HAT SICH ERLEDIGT! HAB BEHOBEN!