BIOS Interrupts unter Windows / Anwendung starten



  • Hallo!
    Ich wollte mal fragen ob es möglich ist Programme die BIOS Funktionen verwenden unter Windows zu verwenden? Wenn nicht, wie kann ich sienun starten...zum Beispiel beim Bootsektor! Wenn ich diesen in ASM gecodet hab, wie bekomme ich das Programm beim booten gestartet?
    Würde folgendes Programm unter Windows funktionieren / Beim Booten den Text ausgeben, wenn es ausgeführt wird?

    .model tiny
    .code

    START:
    mov ah, 09h
    mov bh, 0
    mov cx, 1
    mov al, 97
    mov bl, 1
    INT 10h
    END START

    Danke

    Kevin

    P.S.: wie schnell kann man mit ASM etwas kaputt machen? 😕



  • müsste funzen. evtl. noch ein Org 100h reinsetzen (unter Windows) aber ansonsten OK. unm es auch booten zu können, brauchst du ein tool, mit dem du den bootsektor (auf alle fälle erst ma nur auf diskette ausprobieren) beschreiben kannst. BIOS-Ints kannst du (in einem DOS-Programm) unter Windows immer benutzen, da sollte es keine probleme geben. (aber windows macht ja sowieso immer probleme, von da her... 🙂

    cu todo



  • HIho!!
    Kannst du mir das mit dem Programm beim booten und mit der Diskette etwas genauer erklären biiitttee?? Wie schnell kann ich mit ASM was kaputt machen? Bei BIOS funktionen rast mein Puls immer wenn ich Anwendungen starte *gg*

    Folgende Anwendung schmiert mir unter Windows ab:

    .model tiny
    .code
    org 100h
    START:
    mov ah, 09h
    mov bh, 0
    mov cx, 1
    mov al, 97
    mov bl, 1
    INT 10h
    END START

    Komisch

    Kevin



  • Wundert mich nicht.
    Du musst unter Windows wenigstens den DOS-Interrupt aufrufen, der das Programm beendet. Sonst läuft das Programm einfach weiter und versucht das, was nach dem eigentlichen Code im Speicher steht, auszuführen. Der DOS int hat die Nummer 21h. Die genaue Funktion kenne ich gerade nicht. Aber die findest du ganz bestimmt (siehe FAQ, Interruptlisten). 🙂



  • was heißt abschmiern? zeichnet sie das eine zeichen? wenn ja ist doch ok, du musst am ende natürlich noch dein programm mittels

    Mov Ax,4C00h
    Int 21h

    beenden... Was das BIOS angeht ist das unterschiedlich. Eigentlich kann nix passiern außer du findest großen gefallen an der BIOS-Funktion zum Sektor schreiben (Int 13h/03h) *lol*

    cu todo



  • Jo etz gehts! Und wie geht das mit dem Booten und der Diskette bitte noch? Danke



  • hab da ein tool (writebin.exe) mit der kannst du eine exe-file in den bootsec einer diskette schreiben. kann dirs ja mal mailen...

    cu todo



  • Jo wäre total lieb wenn das Prog nix kaputt macht *gg* und du mir vielleicht bidde bidde ne kleine Anleitung dazu schreiben könntest! Wie kann ich das Programm von mir denn dann beim Booten ausführen? INT 21h gibts da ja nich! Wie is da die Funktion zum beenden?

    Kevin



  • also, wenn du bootest willst du doch nicht beenden, oder? du könntest höchstens einen neustart mittels Int 19h starten. ansonsten ist die aufgabe eines bootsektors ja, den kernel zu laden und der macht dann alles andere. ich schick dir das proggie ma.

    cu todo



  • Wie funktioniert das mit COMs? Wenn nur mit exe..wir kompilier ich ne Exe? *schäm* Muss ich dann einfach die bin auf die Diskette und dann booten? Bei .com kommt ein runtime error 😕



  • Naja...hab jetzt ne EXE kompiliert...und die dann mit dem Programm versucht zu ner Bin datei zu machen! Ging nicht...Kein Fehler aber auch keine bin...todo wo bist duuuuuu



  • writebin schreibt die angegebene exe-file direkt in den boot-sektor!!!

    cu todo



  • Eine Exe in den Bootsektor schreiben? Das kann nicht gut gehen, weil eine Exe-Datei noch einen Header enthält...



  • das proggie wandelt die exe-file automatisch in eine com um und schreibt die


Anmelden zum Antworten