MASM mit MASM32 Compilieren?

Offizieller deutscher Support für das MASM32 SDK. Download FAQ

Moderatoren: crack, Krüsty, Marwin

MASM mit MASM32 Compilieren?

Beitragvon Phatano » Freitag 4. November 2005, 01:42

Wenn ich das richtig mitbekommen habe, ist doch MASM und MASM32 ziemlich stark miteinander verwannt. Kann man mit dem MASM32 auch normale MASM Programme compileren. Mein Problem ist, das ich MASM und MASM32 nicht parallel installieren kann, da ja immer nur eins richtig funktioniert wegen der Pathvariablen.
Würde mich über Lösung freuen...

Das Phatano
Phatano, nicht Pharao!
Phatano
Newbie
 
Beiträge: 2
Registriert: Samstag 10. Mai 2003, 14:41

Beitragvon Nordwind64 » Freitag 4. November 2005, 10:44

Hi,

MASM32 ist ja die Weiterentwicklung von MASM. Und ist weitestgehend abwärts kompatibel. Du kannst also deine alten MASM-Codes mit MASM32 compilieren, ggf. musst du den Kopf etwas ändern. Aber dürfte kein Problem sein.

Gruß,
Nordwind64
Nordwind64
Newbie
 
Beiträge: 5
Registriert: Freitag 28. Oktober 2005, 17:28

Beitragvon crack » Montag 7. November 2005, 10:33

Ja, das Compilieren von 16Bit Code ist mit MASM32 selbstverständlich möglich, mit der Vorraussetzung das man die Assembler Direktiven im Programmkopf (insbesondere die .model Anweisung) ändert. darüberhinaus ist eine spezielle Option beim Linken zu wählen, Marvin hat dazu eine Batch Datei erstellt, die ihr hier im Forum findet. Ich habe diese Batch Datei auch mit dem A86 Assembler getestet und muss sagen: Funktioniert astrein :)

Hier ist der Batch:

@ECHO OFF

ECHO Assembling ...
\masm32\bin\ml /c /AT %1.asm

ECHO Linking ...
link16 /TINY %1.obj, %1.com;

DIR %1.*

PAUSE

am Besten macht man sich ein spezielles Verzeichniss wo alle Tools Platz finden, dann ist das wahrscheinlich sehr bedienungsfreundlich und man hat Ordnung bzw. keine wildes Gemisch von 16 und 32 Bit Quellen.
mit freundlichen grüssen,
with best regards,

crack
Benutzeravatar
crack
Administrator
 
Beiträge: 280
Registriert: Dienstag 21. Dezember 2004, 15:02
Wohnort: 53783 Eitorf

Beitragvon Odysseus » Dienstag 7. Februar 2006, 05:28

Kannst du mal bitte genauer werden? Was genau muss man im Programmkopf ändern? Danke
Odysseus
Newbie
 
Beiträge: 3
Registriert: Donnerstag 2. Februar 2006, 22:00
Wohnort: Baden-Württemberg

Beitragvon crack » Dienstag 7. Februar 2006, 10:59

Die Direktive .model=flat kann nicht benutzt werden, bei 'flat' wird´der Speicher 'logisch' addressiert (durch eine 32Bit Addresse), der direkt zugängliche Addressraum beträgt 2³² !

Statt dessen muss die Direktive .model=tiny oder .model=small benutzt werden.
Hier bei wird die physikalische (20 bit) Addresse aus einem 'direkten' Anteil und einem Offset (Wert in Segmentregistern:CS,DS,ES oder SS x 16) gebildet:

mov ds,1000
mov bx,00f0
ds: mov ax,[bx]

lädt von Addresse:

Addresse bx = 00f0
Offset +(ds*16) = 1000
______________

reale (physikalische) Addresse = 100f0
mit freundlichen grüssen,
with best regards,

crack
Benutzeravatar
crack
Administrator
 
Beiträge: 280
Registriert: Dienstag 21. Dezember 2004, 15:02
Wohnort: 53783 Eitorf


Zurück zu MASM32-Package

 


  • { RELATED_TOPICS }
    Antworten
    Zugriffe
    Letzter Beitrag
  • MASM/MASM32 - 16Bit/32Bit - Grundlagenfragen
    von z-boson » Mittwoch 13. Dezember 2006, 16:15
    4 Antworten
    2375 Zugriffe
    Letzter Beitrag von z-boson Neuester Beitrag
    Montag 18. Dezember 2006, 11:08
  • masm und gcc
    von Gast » Dienstag 2. März 2004, 22:23
    1 Antworten
    968 Zugriffe
    Letzter Beitrag von Marwin Neuester Beitrag
    Mittwoch 3. März 2004, 14:10
  • Handbuch zu MASM?
    von Gast » Samstag 17. Mai 2003, 23:20
    6 Antworten
    1705 Zugriffe
    Letzter Beitrag von CDW Neuester Beitrag
    Freitag 24. Oktober 2003, 18:18
  • MASM-Neuling...
    von Gast » Sonntag 10. August 2003, 19:15
    7 Antworten
    1338 Zugriffe
    Letzter Beitrag von Marwin Neuester Beitrag
    Freitag 10. Oktober 2003, 16:25
  • Masm deinstallieren
    von Gast » Samstag 1. Mai 2004, 12:15
    1 Antworten
    1129 Zugriffe
    Letzter Beitrag von Marwin Neuester Beitrag
    Samstag 1. Mai 2004, 13:00

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron