32 bit register unter dos mit dem TASM 5 benutzen



  • ich habe eine frage,
    wie kann ich die 32 bit register unter dos benutzen mit hilfe den TASM 5 assemblers
    so dass ich das eax register benutzen kann



  • Du schreibst es einfach hin? Wo ist da das Problem? 😕
    Um die 32Bit-Register nutzen zu koennen muss nichts initialisiert werden o.ae.
    Du brauchst nur einen 386 oder neuere intel-kompatible CPU und schon kannst Du mit den 32Bit registern loslegen.

    P.S.:
    Um mit 32Bit Addressen arbeiten zu koennen musst Du natuerlich im Protected Mode sein, das ist aber eine andere Geschichte 😉



  • Ich glaube beim TASM 5 sind 3 Compiler mit bei.
    - Für Win32
    - Für Dos 16-Bit
    - Für Dos 32-Bit

    oder so. In der Readme hab ich das gelesen.
    P.S. Du brauchst mind. den DOS 32-Bit Compiler.



  • Dem TASM 5.0 liegt ein 32Bit compiler bei, stimmt. Jedoch bezeichnen diese 32Bit nicht die Faehigkeit 32Bit code zu erstellen. 😉
    Dieser compiler benutzt hohen Speicher, um groessere Quellcode-Dateien compilieren zu koennen, denke ich mal.
    32Bit / DOS/Windows code kann eigentlich mit allen compilern/linkern vom TASM5 erstellt werden.





  • @Bnonym ( 😃 ):
    Was hat das mit dem Thema zu tun? Im gegensatz zu z.B. dem Inline-Assembler von Pascal unterstuetzt TASM 32Bit-Code 😕



  • thanx hätte nicht gedacht, dass da was kommt



  • Moin, Moin...

    @mynonA:

    Wenn Du DOS-Programme erstellen möchtest und die 32-Bit-Register verwenden willst, dann musst Du dem Assembler das mitteilen. TASM erzeugt unter normalen Bedingungen Code für 8086-Prozessoren. Dabei kannst Du natürlich keine 32-Bit-Register verwenden. Du musst zuerst mit der Direktive .386 die Benutzung der 32-Bit-Register anmelden. Allerdings musst Du beachten, das Du die Direktive NACH der Definition des Codesegments einsetzt.

    .MODEL SMALL
    
    .DATA
    
    ; Hier sind die Daten
    
    .CODE
    
    .386 ; Die Befehle für 80386-Prozessor verwenden UND 32-Bit-Register
    
    ; Dann folgt der Code
    
    END Startpunt
    

    Wenn die .386-Direktive INNERHALB des Codesegments eingesetzt wird, so kannst Du die erweiterten Befehle des 286 und des 386 nutzen. Außerdem kannst Du nun auch die 32-Bit-Register ansprechen.

    Wenn Du die .386-Direktive VOR der Definition des Codesegments einsetzt, so wird auch das FLAT-Memory-Modell eingeschaltet. Da DOS dies aber nicht nutzen kann, sondern nur die 32-Bit-Betriebssysteme(Linux, OS/2, Windows), verbietet sich dieses Vorgehen unter DOS.

    Nun noch ein Wort zu den Assemblern. TASM.EXE ist der 16-Bit-Assembler für DOS. Mit TASMX.EXE nutzt man den Protected Mode für DOS-DPMI-Programme und Windows 3.11. TASM32.EXE IST eine 32-Bit-Assembler, der 32-Bit-Code erzeugt für 32-Bit-Betriebssysteme.

    Ciao...



  • danke, genau das wollte ich wissen!
    dank auch an alle anderen

    /me zoggt gleich Grand prix 1, das rult


Anmelden zum Antworten