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-Bitoder 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...
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