flat assembler
Message board for the users of flat assembler.
Index
> Main > What next in new version Fasmw? Goto page 1, 2 Next |
Author |
|
Roman 19 Mar 2023, 07:09
This topic about new version upcomming Fasmw.
And New features. My first question, when releasing next version Fasmw? And what new features upcomming? |
|||
19 Mar 2023, 07:09 |
|
revolution 19 Mar 2023, 07:12
Are you asking generally for fasm or only about the IDE fasmw?
|
|||
19 Mar 2023, 07:12 |
|
Roman 19 Mar 2023, 07:29
Generally Fasm.
But IDE enteresting too. |
|||
19 Mar 2023, 07:29 |
|
edfed 19 Mar 2023, 09:04
in the ide, really good thing is to have a side foldable treeview with capacity to open files as new tabs.
|
|||
19 Mar 2023, 09:04 |
|
Roman 25 Mar 2023, 10:30
Exist equ.
But not exist neq. Code: V1 equ eax T neq V1 ;mean store name V1 Display T ;get V1 not eax ;if we do split chars and numbers match e=0, T {display e} ;we get V, not eax! |
|||
25 Mar 2023, 10:30 |
|
Tomasz Grysztar 25 Mar 2023, 11:12
Roman wrote: Exist equ. Code: define T V1 |
|||
25 Mar 2023, 11:12 |
|
Roman 25 Mar 2023, 12:10
Code: V1 equ eax V2 equ ebx define T V1 display T ;get V1 ;But how get this ? T+1=V2 ;? or how using T in rept and get V1 and V2 ? And how store fasm preprocessor V1 and V2 ? I mean its table offset or pointers to V1 and V2. |
|||
25 Mar 2023, 12:10 |
|
Tomasz Grysztar 25 Mar 2023, 13:11
To fasm's preprocessor "V1" is an indivisible token. You cannot split it unless you keep it split in advance, by manually defining separate parts:
Code: V1 equ eax V2 equ ebx T equ V#1 match base#number, T { rept 1 next:number+1 \{ display V\#next \} } |
|||
25 Mar 2023, 13:11 |
|
Roman 25 Mar 2023, 14:39
Thanks.
Little changed example. Code: define www oo.@#2 match base#number, www { rept 2 next:number \{ display `base\#\`#next,13,10 \} } ;displayed oo.@2 oo.@3 |
|||
25 Mar 2023, 14:39 |
|
Roman 25 Mar 2023, 15:10
V1 equ eax
V2 equ ebx T equ V#1 ;This i am understood. But how do in macro to define T, because macro using # ? Code: macro vequ a,e,[p] { ii equ 0 forward rept 1 x:ii+1 \{ ii equ x a#e#\#x equ p ;i not understood how define num_oo.@2 oo.@#2 define num_#a#e#\#x a#e#\\#x ;now this is right variant. \} } display num_oo.@2 ;get oo.@#2 Last edited by Roman on 27 Mar 2023, 13:47; edited 2 times in total |
|||
25 Mar 2023, 15:10 |
|
Tomasz Grysztar 25 Mar 2023, 15:47
Add "\" before "#" for each additional enclosure you do. If you put "T equ V#1" inside a macro, it should become "T equ V\#1", and if you put it inside a REPT block inside a macro, it should become "T equ V\\#1", etc. The "\" character prevents the token from being processed in a macro block, but each time this happens, one "\" is cut off.
|
|||
25 Mar 2023, 15:47 |
|
Roman 02 Apr 2023, 07:51
Idea include text from windows clipboard.
For example i run my program and get in clipboard generated asm text code. MyPrint and myDigs Code: ;text in clipboard MyPrint a, b ;a b input param as like in fasm macro Inc a Mov [b], a .... ;for fasm token its end text from clipboard Now we run fasm compilation and get text from clipboard. Code: ;in fasm code Clipboard myDigs, params ;search in clipboard name myDigs and copy text to asm code for fasm compilation. Some fasm code Clipboard myPrint, edx, buffer1 ;fasm get this from clipboard inc edx mov [buffer1], edx Clipboard myArr ;myArr absent in clipboard and fasm not put any text any code. Or variant implement this Idea in virtual include. Last edited by Roman on 02 Apr 2023, 11:43; edited 1 time in total |
|||
02 Apr 2023, 07:51 |
|
FlierMate2 02 Apr 2023, 09:13
FASMW also can't display Unicode characters properly, is it just me having this issue?
|
|||
02 Apr 2023, 09:13 |
|
revolution 02 Apr 2023, 09:32
fasmw doesn't support Unicode for display. It is all just bytes. ASCII for the first 128 and then whatever your font has for the next 128.
|
|||
02 Apr 2023, 09:32 |
|
Roman 11 Apr 2023, 16:58
New value, new idea
fasm struc can this idea implement ? Code: macro a1 v { if op1 = 1 mov eax,v end if if op1 = 5 inc v end if if op1 = 7 mov [v],eax end if } ;define list _%1 { 1,5,7 } ;new value. Like as list1 three values _%2 { Buffer1,Buffer2,Buffer3 } ;Like as list2 three values op1 _%1 ;equal op1 equ 1 and have another value op1.id = 1(we can using this in macro too) a1 _%2 ;like as a1 Buffer1 op1 _%1 ;equal op1 equ 5 and have another value op1.id = 2 a1 _%2._ ;equal Buffer1 op1 _%1 ;equal op1 equ 7 and have another value op1.id = 3 a1 Buffer10 op1 _%1 ;again equal op1 equ 1 and op1.id = 1 a1 _%2 ;as a1 Buffer2 op1 _%1.3 ;equal op1 equ 7 _%1 { 7,5,1 } ;change op1 _%1 ;equal op1 equ 7 op1 _%1 ;equal op1 equ 5 op1 _%1 ;equal op1 equ 1 restore _%1 ;return old variant as _%1 { 1,5,7 } ; nice variant rept 3 { op1 _%1 a1 _%2 } Code: macro aff1 v { if ppp_ = 1 mov eax,v else if ppp_ = 2 mov ebx,v else if ppp_ = 3 mov ecx,v end if nop } section '.code' code readable writeable executable AllFlts dd 10.0,11.5,4.5 Start: ap1 equ 1 ap2 equ 2 ap3 equ 3 vp1 equ AllFlts vp2 equ AllFlts+4 vp3 equ AllFlts+8 rept 3 m:1 { ppp_ equ ap#m aff1 [vp#m] } |
|||
11 Apr 2023, 16:58 |
|
Roman 16 Apr 2023, 11:54
Fasmw 1.73 have symbol convert number to text.
`22453 But not have symbol convert text to int or float number. Code: `$f"123" ;convert text to float 123.0 `$i"423" ;convert text to int 423 |
|||
16 Apr 2023, 11:54 |
|
Tomasz Grysztar 16 Apr 2023, 13:58
fasmg has EVAL for these kinds of problems. In practice it's rarely really needed, to be honest - but it's there. In case of fasm EVAL would be possible for preprocessor's language only. I could consider such limited back-port, but I'm not sure about practical value (to say the least).
What ProMiNick wrote above is generally a good summary - I'm not designing any new features for fasm 1 unless they are a back-port of something that has been first tried and proven with fasmg. And the design of fasmg was a natural consequence of considering all the things that people were requesting for fasm 1 over the years. fasmg was my answer to most of such recurring requests, and you are not going to get any better answer from me. And ever since I invented CALM, it's all been moving further away from the limitations of the older engines. It's possible that my future assembler could be reduced just to CALM module, with even the language of fasmg implemented in form of compiled macros. It feels a bit like a "RISC vs CISC" analogy. I'm not serious about it, though - there is no real need to make fasmg smaller. |
|||
16 Apr 2023, 13:58 |
|
Roman 16 Apr 2023, 14:13
Quote:
This is open Era text parsing direct in fasm. Its very usefully! For example convert 3d text data to float numbers for fasm binary data. Code: #OBJ Wavefront 3D model format using in 3D Max, Blender, Brush, May # vertices text data for 3d mesh v 0.123 0.234 0.345 1.0 v ... ... # texture uv coords vt 0.500 -1.352 vt ... ... # vertices normals vn 0.707 0.000 0.707 vn ... ... # indices f 1 2 3 Put this file in fasm virtual block and convert text to int or float numbers. |
|||
16 Apr 2023, 14:13 |
|
Tomasz Grysztar 16 Apr 2023, 14:25
Couldn't you just write "v", "vt", "vn", "f" macros and then include the file directly?
|
|||
16 Apr 2023, 14:25 |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.