flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Spool
[ Post removed by author. ]
Last edited by Spool on 17 Mar 2013, 04:33; edited 1 time in total |
|||
![]() |
|
Spool
[ Post removed by author. ]
Last edited by Spool on 17 Mar 2013, 04:36; edited 1 time in total |
|||
![]() |
|
JohnFound
The number of passes can not be easy determined in advance. All the more, that in the different versions of FASM this count can be different.
Here is simple example that compiles for 3 passes, but it is empirically created: Code: jmp lbl1 if (lbl1<100) & (flag=0) rb 100 end if flag = 1 lbl1: |
|||
![]() |
|
baldr
Spool,
Make more forward references. Code: VAR equ 1 ; value for last assignment rept 10 { forward local var ; generate unique symbol VAR equ var ; push it on «equ» stack reverse restore VAR ; drop current symbol to acquire previous var = VAR ; make current dependent on previous } Is that swaps macroinstruction a replacement for trivial xchg instruction? |
|||
![]() |
|
Spool
[ Post removed by author. ]
Last edited by Spool on 17 Mar 2013, 04:36; edited 1 time in total |
|||
![]() |
|
baldr
Spool,
Try VAR equ 0 for some surprise. ![]() |
|||
![]() |
|
Spool
[ Post removed by author. ]
Last edited by Spool on 17 Mar 2013, 04:37; edited 1 time in total |
|||
![]() |
|
baldr
Spool,
I didn't mean VAR equ 0 alone. What I really meant was Code: rept 1'000'000 i { reverse rept 1 j:i-1 \{ var#i = var\#j \} } var0 = 0 Code: flat assembler version 1.71.07 (500000 kilobytes memory) 2 passes, 11.3 seconds, 0 bytes. |
|||
![]() |
|
Spool
[ Post removed by author. ]
Last edited by Spool on 17 Mar 2013, 04:37; edited 1 time in total |
|||
![]() |
|
baldr
Spool,
Those examples do not generate output, they're just causing compiler to do particular number of passes. Code: rept 100 i { reverse rept 1 j:i-1 \{ var#i = var\#j \} } var0 = 1 Code: >fasm multipass.fasm flat assembler version 1.71.07 (1890955 kilobytes memory) error: code cannot be generated. >fasm multipass.fasm -p 101 flat assembler version 1.71.07 (1886339 kilobytes memory) 101 passes, 0 bytes. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.