The MASM Forum

Projects => MasmBasic & the RichMasm IDE => Topic started by: whatsup on July 26, 2020, 04:33:50 AM

Title: are those macros can be done in other better asm ?
Post by: whatsup on July 26, 2020, 04:33:50 AM
like hla and/or flat asm for example ?
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on July 26, 2020, 05:46:45 AM
Hi whatsup,

Welcome to the Masm Forum. Could you provide more details about your question?
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on July 27, 2020, 04:02:26 AM
thank you
i'm talkin about masmbasic macros
i found them very interseting.
i would like to create like them
(for example Dim,Let macros)
in other asmeblers that i think better and also have much better licence

mainly HLA, and flatasm

i know nothing and understand nothing in macro assembler

i know to program in C,pascal,Basic,Asm (but with no macro knowledge)

so i will be thankfull if some one could show example source code
of the aboove macros in those assemblers.

thanks in advanced.
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on July 27, 2020, 04:12:46 AM
HLA has been clinically dead for a decade or so, and FASM/NASM are relatively poor on the macro side. For example, they cannot perform a simple Print Str$(ecx)

If the MASM license is a problem for you, use UAsm or AsmC. They are perfect MASM clones, much faster than MASM, up to date, and there are no license restrictions.
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on July 29, 2020, 04:23:32 PM
thank you very much for replying.
from what i read uasm is watcom based, which means restricted more than GNU and doesn't even consider open source.
asmc is not GNU ?

EDIT: i just checked what i wrote and every thing is correct.

so i reallly need this help about hla.
i have hla3 which meant to be very fast and much enhaced than every other assembler include masm and clones.
so if some one can help with sample source code of a macro (in hla3)
like Dim, Let i'd be thankfull.
thanks in advanced.
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on July 29, 2020, 07:49:50 PM
Quote from: whatsup on July 29, 2020, 04:23:32 PM
from what i read uasm is watcom based, which means restricted more than GNU and doesn't even consider open source.
https://opensource.org/licenses/alphabetical - scroll down to Sybase Open Watcom Public License 1.0 (Watcom-1.0)

Re HLA, you need to contact the author, Randall Hyde (https://en.wikipedia.org/wiki/Randall_Hyde). He has a profile at LinkedIn. (https://www.linkedin.com/in/randall-hyde-02765116/)
Title: Re: are those macros can be done in other better asm ?
Post by: hutch-- on August 01, 2020, 12:57:33 AM
whatsup,

If you want GNU licenced software for assembler programming, use the GNU AS assembler (GAS). Its a good tool but very low level. If you want a macro assembler and cannot comply with Microsoft's licence, try UASM or ASMC to get a decent pre-processor. FASM is an excellent assembler but also very low level and while it has some macro capacity, it is no competitor of MASM's pre-processor or the MASM clones.
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 01, 2020, 07:01:06 PM
Hi whatsup,

Poasm,JWasm and SolAsm are some of the additional choices.
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 02, 2020, 05:02:31 AM
Quote from: hutch--
If you want GNU licenced software for assembler programming

exactly opposite. i said clearly that the ONLY reason i don't want uasm although it is very good assembler,
is because its licence is watcom based which is much worst than GNU.
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on August 02, 2020, 06:39:00 AM
Can you explain how the UAsm license would affect your project?
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 02, 2020, 07:29:09 PM
Hi whatsup,

You should give a chance to Asmc and Uasm. Having an idea about the capabilities of those tools would not hurt your programming practice.
Title: Re: are those macros can be done in other better asm ?
Post by: hutch-- on August 05, 2020, 01:45:33 AM
 :biggrin:
Quote
exactly opposite. i said clearly that the ONLY reason i don't want uasm although it is very good assembler,
is because its licence is watcom based which is much worst than GNU.
That does not leave you with much, you could try NASM but it has a licence, FASM has a licence, UASM and ASMC have a licence so you are left with GAS which is in fact a very good assembler. Forget MASM, its owned by Microsoft and it has a licence too.
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 05, 2020, 05:28:23 AM
Quote from: hutch-- on August 05, 2020, 01:45:33 AM
:biggrin:
Quote
exactly opposite. i said clearly that the ONLY reason i don't want uasm although it is very good assembler,
is because its licence is watcom based which is much worst than GNU.
That does not leave you with much, you could try NASM but it has a licence, FASM has a licence.
stupid licence compare
Title: Re: are those macros can be done in other better asm ?
Post by: hutch-- on August 05, 2020, 05:51:31 AM
Smartarse wisecracks will get you a chance to find what you  hope you will find elsewhere.
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 07, 2020, 07:15:52 AM
Quote from: jj2007 on August 02, 2020, 06:39:00 AM
Can you explain how the UAsm license would affect your project?

i have no project

really need to explain ?
read the GNU licence
more ever read about watcom/jwasm licence

for example you cannot use them as a dll unless you open all your sources.
that's with GNU

with uasm the problem is much more big.
if i'm not mistaken you can NOT use it at all except  for personal use (becuase its jwasm based)
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on August 07, 2020, 07:25:21 AM
Quote from: whatsup on August 07, 2020, 07:15:52 AMwith uasm the problem is much more big.
if i'm not mistaken you can use it at all except  for personal use (becuase its jwasm based)

Nonsense. UAsm is a tool, whatever you build using this tool is your own property, fullstop.

http://www.terraspace.co.uk/uasm.html
QuoteUASM's source code is released under the Sybase Open Watcom Public License, which allows free commercial and non-commercial use

Note this is about the UAsm source, not the binary.
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 09, 2020, 04:35:18 AM
Quote from: jj2007 on August 07, 2020, 07:25:21 AM

Note this is about the UAsm source, not the binary.
correct . and this is what important to me

Quotenonsense
from wikipedia (https://en.wikipedia.org/wiki/Sybase_Open_Watcom_Public_License)

QuoteThe license has not been accepted as "free" under the Debian Free Software Guidelines, due to the license's termination clauses.
QuoteThis makes the Watcom license also GPL incompatible and a stronger copyleft license than the GPL and even the AGPL
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 09, 2020, 05:05:09 AM
Hi whatsup,

You told that you don't have any project so why do you criticise those licencing schemes?
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 09, 2020, 05:38:48 AM
Quote from: Vortex on August 09, 2020, 05:05:09 AM
Hi whatsup,

You told that you don't have any project so why do you criticise those licencing schemes?
geniuos question

why do you buy clothes before your'e naked ?
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 09, 2020, 05:54:21 AM
Well, clothes are basically required to protect your body and this has nothing to do with programming. The purpose of my question :

QuoteIf one does not know to which port one is sailing, no wind is favorable.

Lucius Annaeus Seneca
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on August 09, 2020, 07:20:53 AM
Quote from: whatsup on August 09, 2020, 04:35:18 AM
Quote from: jj2007 on August 07, 2020, 07:25:21 AM

Note this is about the UAsm source, not the binary.
correct . and this is what important to me

Explain why the license of the UAsm source is important for you. Do you want to write your "own" assembler based on the Watcom sources?
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 12, 2020, 03:15:20 AM
Quote from: jj2007 on August 09, 2020, 07:20:53 AM
Explain why the license of the UAsm source is important for you. Do you want to write your "own" assembler based on the Watcom sources?

another try:
Quotefor example you cannot use them as a dll
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 12, 2020, 03:19:59 AM
You can try this one :

fasm as DLL

https://board.flatassembler.net/topic.php?t=6239
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 12, 2020, 03:38:31 AM
Quote from: Vortex on August 12, 2020, 03:19:59 AM
You can try this one :

fasm as DLL

https://board.flatassembler.net/topic.php?t=6239

thanks i know. and that's why i asked if the macros by jj2007 can be done with fasm/hla/nasm.
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 12, 2020, 04:37:26 AM
Sadly, Fasm does not support inline macros :

https://board.flatassembler.net/topic.php?p=30424
Title: Re: are those macros can be done in other better asm ?
Post by: jj2007 on August 12, 2020, 05:20:12 AM
From the FASM author:
QuoteTomasz Grysztar
No, inlining the macros is something against the fasm's concept

So it seems you have to either use the MasmBasic macros or you have to find "other better asm" to roll your own :cool:
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 12, 2020, 10:42:30 PM
Hi whatsup,

Could you try SolAsm?

http://www.oby.ro/sol_asm/index.html

http://www.oby.ro/sol_asm/sol_asm_license.htm

Quote7.6.7 Using EXITM in macros
EXITM can be used to return a token from a MACRO expansion.

For example
MACRO RV
   MARG func, params

   invoke func,params

   ; return something from macro
   exitm eax
ENDM

; later on in code
   ...
   mov   ecx,RV GetModuleHandle
   invoke   ExitProcess, < RV GetModuleHandleA >
   push   RV GetModuleHandleA
   ...

Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 13, 2020, 02:07:41 PM
thank you very much all.
i'll see what i  do.
i might ask in nasm forum.
and if no, uasm is a good choice .
i already tested it, and it works well.

vortex i don't see any good over uasm because it (solasm) doesn't include source code
Title: Re: are those macros can be done in other better asm ?
Post by: guga on August 13, 2020, 02:31:51 PM
If you want a Nasm style syntax to better handle the macros, you can try RosAsm that have a syntax closer to Nasm.
Title: Re: are those macros can be done in other better asm ?
Post by: mineiro on August 13, 2020, 08:03:31 PM
Hello sir whatsup;
From ms-dos days I remember TMA assembler; it's GNU and source code is available.
http://www.hugbox.org/software/tma-macro-assembler/

Well, if my memory is good I suppose that I have seen source code of initial solasm assembler project in internet. Don't remember now where I have seen that.

Just a question, what about a preprocessor? Sounds more easy create a translator, most of these assemblers use intel syntax. Asking this because debug macros to me is hard, debug our own  program is a bit more easy.
Title: Re: are those macros can be done in other better asm ?
Post by: Vortex on August 14, 2020, 01:25:53 AM
Hi mineiro,

The source code of SolAsm is not offered :

http://www.oby.ro/sol_asm/index.html
Title: Re: are those macros can be done in other better asm ?
Post by: mineiro on August 14, 2020, 06:20:37 AM
Hello sir Vortex;
I was refering to this post:
http://www.masmforum.com/board/index.php?topic=1218.0
:undecided:
Title: Re: are those macros can be done in other better asm ?
Post by: whatsup on August 16, 2020, 05:31:39 AM
Quote from: mineiro on August 13, 2020, 08:03:31 PM

Just a question, what about a preprocessor?

if you mean preprocessor to handle macros like in this thread , sounds very good.
i already checked the uasm source, it has a file named macro which is public domain.
if it can be used just by its own to process macros, i don't know.