TASM: Probleme mit Makro-Parametern

asmfreak

Mitglied
Hallo,

ich habe Probleme mit dem Ersetzen von Parametern bei der Makroexpansion durch TASM.

Ich habe folgendes Makro geschrieben:
Code:
Partitions MACRO PartNames
  PartCount = 0
  IRP PartName, <PartNames>
    PartDef&PartName& EQU %PartCount
    PartCount = PartCount + 1
  ENDM
ENDM
Das Makro soll, wenn es folgendermaßen aufgerufen wird
Code:
Partitions <Dos622, Win98, WinXP>
folgende Anweisungen ersetzen:
Code:
PartDefDos622 EQU 0
PartDefWin98  EQU 1
PartDefWinXP  EQU 2
 
PartCount = 3
Wenn ich das generierte Listing anschaue, erkenne ich zwei Probleme:

1. &PartName& wird nicht ersetzt, d.h. es wird einfach dreimal hintereinander ein Bezeichner mit dem Namen PartDefPartName definiert, was ja nicht Sinn der Sache ist.

2. %PartCount wird ebenfalls nicht ausgewertet (d.h. durch die entsprechende Zahl ersetzt).

Habe ich die Operatoren & und % irgendwie falsch verwendet ? Ich habe leider noch nicht viel Erfahrung mit Makros.

Gibt es eigentlich irgendwo im Internet eine Referenz zu TASM ? Das meiste, was ich bisher gefunden habe, bezieht sich nur auf MASM.
 
Zurück