flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
vid 11 May 2007, 09:48
look for "idata" and "udata" macros
|
|||
![]() |
|
Ehtyar 11 May 2007, 20:55
I found them a while back...but they're not really what I'd call practical, particularly if you intend to redistribute your code, very messy. Is there a cleaner way, dare i say something similar to masm?
Ehtyar. |
|||
![]() |
|
Ehtyar 17 May 2007, 22:01
Well, for anyone after a solution for this same kinda problem, I'm just using HeapAlloc, ugly but it works. Just push the handle as many times as you will need it, and pop it off as you do.
Ehtyar. |
|||
![]() |
|
vid 20 May 2007, 15:41
so what you want is to merge all ".data" sections into single section in resulting object file.
FASM doesn't allow this, it is lower level assembler with different design. There probably isn't any better solution than idata ![]() BTW: What's not practical about idata/udata? |
|||
![]() |
|
Ehtyar 20 May 2007, 21:15
vid: the extra times it is necessary to call it. HeapAlloc will do for the moment, i like my macros to be self-contained. Thank you for the suggestion though
![]() Ehtyar. |
|||
![]() |
|
vid 20 May 2007, 23:40
you don't "call" idata, however you meant it.
Code: macro Msg string { udata \{ buff db 200 dup ? ; Put in udata section \} idata \{ fmt db "%s", 0 ; Put in idata section \} cinvoke wsprintf, buff, fmt, string invoke MessageBox, HWND_DESKTOP, buff, NULL, MB_OK } ... IncludeIData IncludeUData |
|||
![]() |
|
Ehtyar 21 May 2007, 21:46
I'm terribly sorry vid, just what word would you like me to use?
Ehtyar. |
|||
![]() |
|
vid 21 May 2007, 23:25
you can use ... use :]
anyway, it isn't really the best way to declare separate buffer for every macro invokation. you should have single buffer and single format string, and refer them from macros |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.