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!


Anmelden zum Antworten