flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
hopcode 27 Nov 2009, 04:05
Hallo chaoscode,
if i understand what you require try here, http://board.flatassembler.net/topic.php?p=74292#74292 ich habe noch eine bessere macro gemacht, die ich aber im moment nicht finden kann, ![]() es tut mir leid probier mal die da, and let me know tschuss hopcode |
|||
![]() |
|
cod3b453 27 Nov 2009, 16:32
[edit: see hopcode's code]
Hope that helps ![]() Last edited by cod3b453 on 06 Dec 2009, 19:16; edited 1 time in total |
|||
![]() |
|
Fanael 27 Nov 2009, 18:51
hopcode wrote: ich habe noch eine bessere macro gemacht ![]() |
|||
![]() |
|
hopcode 27 Nov 2009, 20:56
Fanael wrote: Was macht deine Macro, was andere machen nicht? Eigentlich nichts, keine Programmierungsfähigkeit,keine Zauberei. Sie kocht aber Kaffe! ![]() hopcode btw. Du kannst ausgesprochenen gut Deutsch! lebst du/hast du in Deutschland gelebt ? |
|||
![]() |
|
Fanael 27 Nov 2009, 23:00
hopcode wrote: Du kannst ausgesprochenen gut Deutsch! lebst du/hast du in Deutschland |
|||
![]() |
|
hopcode 04 Dec 2009, 15:40
Ich habe endlich die Macro wieder gefunden...
![]() Code: macro @init { asize = 0 alist equ } macro @str name,[args]{ common virtual at benny+asize name db args asize = asize + $-name name#.#len = $-name end virtual match items,alist \{alist equ alist,args\} match ,alist \{alist equ args\} } macro @build { if asize benny: match i,alist\{db i\} end if } usage Code: ;---- code------ section ".code" code readable executable @init start: mov eax,alfa @str alfa,"ABC","EFG",0 @str beta,"12345","6789",0 mov ecx,alfa.len mov eax,beta mov ecx,beta.len ret ;----------- data follows at the end ----------- section ".data" data readable writeable @build Enjoy, hopcode ![]() |
|||
![]() |
|
hopcode 04 Dec 2009, 23:23
Hallo Fanael,
1) Analyzing the cod3b453 macro i have seen that it has problems with the .dotting capabilities of fasm. You cannot compile my suggested code (as shown in usage) using that macro and dotted labels 2) Now Consider that symbols catenation, for example, __string_table_\#i\#_name equ id it is not using (imho) the best feature of fasm, considering other features like load/store and virtual. As you know, .dotting capability gives localization to labels. (but not only). 3) Also, that macro applies almost 90% in a pre-procedural stage. But as the macro begins to realize labels, it is to say __string_table_\#j\#_name: it is too late for the assembler to assemble code that have been never addressed, (even if) being invoked. I would not use or recommend taking advantage from that macro (i am not personally interested in the matter when stating this,because i myself dont use anymore mine too), unless cod3b453 improves it with a localizing-.dotting capabilitiy. to cod3b453, how could the problem be solved in your pre-procedural way ? to Fanael, Do you confirm the BIG difference ? ![]() p.s. Note that I have written this post only for the sake of improving my own capabilities to express and figure out in few words a problem. Regards, hopcode |
|||
![]() |
|
chaoscode 05 Dec 2009, 01:54
Hey, thank you all^^
i tried it and it works fine^^ euer deutsch ist gut. Ich kann euch sehr gut verstehen. _________________ Jedes mal, wenn einer was anderes als Englisch redet versteh ich mal wieder kein Wort. Every time someone talks something other than englisch, i can't understand anything. |
|||
![]() |
|
cod3b453 06 Dec 2009, 19:08
Yes, my macros were lame
![]() |
|||
![]() |
|
Fanael 06 Dec 2009, 19:43
Yes, I confirm the difference.
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.