Message board for the users of flat assembler.
> Compiler Internals > fasm1 assemble.inc
in reserve data directives
zero_words xor eax,eax jmp bytes_stosb_ok
zero_dwords xor eax,eax jmp bytes_stosw_ok
will be couple bytes shorter. or they repeat logic each other for readability?
in defining data directives:
define_data - responsible for handling dup cases only?
what memory looks like on entry of data definition macros?
data_bytes call define_data jc instruction_assembled lods byte esi cmp al,' ' je get_byte cmp al,'?'
(what full content pointed with esi in next cases)
db 0 dup ? db 5 dup 5,6 db 5 dup 5,6 db "" db "Hello" dw "ab"13,10 du "ab",13,10 dp 6000 dp 100 100 dd 6000 dd 100 100 dq "Hello" dt 1.0 dt 1f dt 1e4 rb 2
Why I goes there: I interest in way how to add [index] to data directives as marker of allowing them to be set with sequence against single value. in core or in macro.
I tryed to goes from equatinII where structures were defined crossbit x86 x86-64 (realized via macroed data directives VOID,ptr,HNDL that chnge its size according to bitness) to form where they will be crossarchitecture not only crossbit (so all native to fasm data directives is become unconviniet (except db), they all replaced to VOID_ with defined suffix of bit size of data). I can attach package (current state https://yadi.sk/d/0Iq-Lmb6VzNWvQ is inconsistent most of all sorces require old includes, but even structure of includes became more complicated, structs and equates separated etc.) I tryed to friend fasmarm includes and fasm includes, like previously done that with fasm & fasmg (at past time I split includes for fasm & fasmg into 2 folders, but in this case I would like to mix them in same include root folder.
wanted ( VOID_8 synonym of db, not db itself): db "" -valid, db "" - not, db 1,"cat" - valid, db "Hello" - not. in fasmg something similar was realized by macro... not error creating according to indexes, but indexes itself realized.
fittest itself is ready in form of macro
macro fittest name,