flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 14 Aug 2016, 19:32
You are mixing all the stages of the process together and confusing yourself. fasm has preprocessor and assembler stages, whereas fasmg has combined those into the same stage. The generated code is executed at runtime.
To answer your second question: fasm doesn't know if anything is a linear function of anything else. It just tries to find values that produce a valid solution. There may be other solutions that are also valid and fasm can completely miss them. |
|||
![]() |
|
l4m2 15 Aug 2016, 01:28
revolution wrote:
When I see a topic, usually I can't know whether it's a processing code or an executing code, thus mixing them is acceptable. revolution wrote:
I tried these cases: Code: lea eax, [3*ecx-2*ecx] ;OK lea eax, [ecx*ecx-ecx*ecx] ;Error which means that fasm requires all the summed elements to be linear |
|||
![]() |
|
revolution 15 Aug 2016, 01:51
l4m2 wrote: I tried these cases: BTW: Did you try [ecx*(ecx-ecx)*ecx]? |
|||
![]() |
|
l4m2 15 Aug 2016, 02:06
revolution wrote: Did you try [ecx*(ecx-ecx)*ecx]? ![]() |
|||
![]() |
|
revolution 15 Aug 2016, 02:27
l4m2 wrote: When I see a topic, usually I can't know whether it's a processing code or an executing code, thus mixing them is acceptable. ![]() But seriously, if you don't understand at least the preprocessor vs assembler difference then you will have a hard time understanding complex macros. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.