flat assembler
Message board for the users of flat assembler.
Index
> Macroinstructions > [solved] How to make local data in a macro? |
Author |
|
revolution 15 Mar 2021, 09:02
Put the data into a virtual block.
Code: virtual at 0 my_data:: db ... end virtual ;... load x from my_data:%-1 ;... |
|||
15 Mar 2021, 09:02 |
|
zhak 15 Mar 2021, 10:10
Worked like a charm! Thanks!
|
|||
15 Mar 2021, 10:10 |
|
Roman 15 Mar 2021, 14:56
Code: Start: sub rsp,8 virtual at 0 my_data dd 88 end virtual mov eax,[my_data] IDA Pro 64 bit show: sub rsp,8 mov eax,cs:0 !!! But fasmw 1.73 compile fine. |
|||
15 Mar 2021, 14:56 |
|
revolution 15 Mar 2021, 15:15
Roman wrote:
Your code it the same as: Code: use64 sub rsp,8 mov eax,[0] |
|||
15 Mar 2021, 15:15 |
|
Roman 15 Mar 2021, 15:24
my_data dd 88
But how in my case get mov eax,[my_data] ? And eax = 88 PS: I like virtual data because could write data in code ! Some time its very handfull. |
|||
15 Mar 2021, 15:24 |
|
revolution 15 Mar 2021, 16:47
You can't get virtual data at runtime. The data only exists in the assembler memory.
If you want the data to exist in the code then you just eliminate the virtual block: Code: use64 my_data dd 88 ; <--- real data put into the output start: mov eax,[my_data] |
|||
15 Mar 2021, 16:47 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.