Pelles C > Bug reports

Issue with symbol defined by CATSTR

<< < (2/2)

Vortex:
Hi Pelle,


--- Quote ---You may need a powerful macro engine when only/mostly programming in assembly, but I strongly suspect this is a fairly small group not getting any larger (with any assembler, not just POASM).

--- End quote ---

We have here in the forum some members who are doing programming with Poasm and the other assemblers. High level languages are more popular and the assembly language's audience is not so large as you said. The Masm Forum is another venue welcoming coders interested in assembly programming with Poasm, Masm and the Watcom derivative assemblers.


--- Quote ---When POASM was new (like 2005), there were many wishes for more MASM features and I got carried away. I wish I hadn't because after that I have spent way too many hours, days, sometimes weeks to make old macro examples continue to work with more recent changes/fixes. This is really the problem: almost every change to POASM takes longer than it should, but any attempt at really improving things would take even longer (so not an option).
--- End quote ---

I appreciate all your efforts and say thank you for your tools. Maintaining a tool like an assembler is a challenge. I can understand your point of view.


--- Quote ---I will try to fix what you have reported recently, but we are getting closer to a point when it's just not worth the effort...
--- End quote ---

Thanks for taking in account my reports. What makes Poasm powerful is the full featured 64-bit mode not crippled like ml64 from MS. The 64-bit version of ml ( 64-bit Masm ) does not provide the built-in invoke macro and the other high level constructs.

jj2007:
Hi Vortex, try this in Masm:

--- Code: ---  level=111
  @CatStr(<Sample>, level) CATSTR <test>, %level
  % echo Sample111
  level=222
  @CatStr(<Sample>, %level, < equ @CatStr(<test>, %level)>)
  echo Sample222
  .DATA
  Sample222 dd 123
  ; test222 dd 456 ; Error A2056: Symbol already defined: test222
  .CODE
  % echo Sample222
  mov eax, Sample222
  mov ecx, test222
--- End code ---

Output:

--- Code: ---Sample111
Sample222
test222
--- End code ---

Same problem: with echo, you need the % before. The mov ... work, though.


--- Quote from: Vortex on September 26, 2023, 07:44:48 PM ---What makes Poasm powerful is the full featured 64-bit mode not crippled like ml64 from MS. The 64-bit version of ml ( 64-bit Masm ) does not provide the built-in invoke macro and the other high level constructs.
--- End quote ---

@Pelle: I can echo that. The Masm64 SDK suffers a lot from being linked to a CrippleWare assembler.

Vortex:
Hi jj2007,

Thanks for the Masm test. Poasm does not use the symbol %. The tool provides a nice alternative, the .ECHO directive instead of % echo.


--- Code: ---.ECHO directive (IA32, AMD64)
 
Purpose:
Displays specified expression(s) on the screen during translation time.

Syntax:
.ECHO [ expression [,] ... ]

Description:
The .ECHO directive evaluates as much as possible of expression and displays it on the screen.

Example:
.ECHO 1 SHL 16, mongo

--- End code ---

Navigation

[0] Message Index

[*] Previous page

Go to full version