flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.69.15+

Goto page 1, 2, 3, 4  Next
Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 24 Aug 2010, 13:50
I'm making progress towards the 1.70 milestone - today's 1.69.15 release has added support for several new instruction sets, including AVX and XOP, and therefore the only thing left to implement before 1.70 is long-promised Mach-O support. I hope to finish the 1.69.xx development line around the time of this year's fasmcon. Wink

Note: some of the files in source and examples directories were rearranged, so if you unpack the 1.69.15 package into the same folder as some previous version, you are going to get some redundant files.

For the purpose of handling new 256-bit AVX instructions, the 256-bit size operator was added in this version. The 128-bit and 256-bit size operators can either be specified with fasm-style "dqword" and "qqword", or "xword" and "yword", which reflect the sizes of XMM/YMM registers.

The new instruction sets that got implemented are mainly based on Intels AVX reference, revision 8 (from August 2010) and AMD's XOP/FMA4 reference, revision 3.04 (from November 2009). I hope these specifications are mature enough that I will not have to change too much in the future releases. There may still be some my own bugs there, however, so if you got some spare time, please do a bit of testing/verifying.


Last edited by Tomasz Grysztar on 30 Aug 2010, 09:52; edited 3 times in total
Post 24 Aug 2010, 13:50
View user's profile Send private message Visit poster's website Reply with quote
guignol



Joined: 06 Dec 2008
Posts: 763
guignol 24 Aug 2010, 15:11
I ain't got no bulldozer to clean my sandy bridge Razz


P.S. Who on earth does give them names?! Shocked
Post 24 Aug 2010, 15:11
View user's profile Send private message Reply with quote
edemko



Joined: 18 Jul 2009
Posts: 549
edemko 24 Aug 2010, 21:53
Image
Whom to chose, Tomasz?
I need no pluggings; add colors; easy float values definition; signed/unsigned division; multiplication; shifting; solve db -1 using different notations; there is no valid encoding for long floats except some cases; why do you stumble with that; are you chasing for a bonus with instruction inclined dev only; are you busy; eh, fasmw renamed to -fasmw.
Is there fasm download count?
Of cource too big list.
“No matter what you do, somebody will call you an idiot.” — Raymond Chen.
That's sayd about me and concerns you too.
Post 24 Aug 2010, 21:53
View user's profile Send private message Reply with quote
rCX



Joined: 29 Jul 2007
Posts: 172
Location: Maryland, USA
rCX 25 Aug 2010, 01:04
It may be just me but I get...
Code:
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
    


...when unpacking the linux version.
Post 25 Aug 2010, 01:04
View user's profile Send private message Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 25 Aug 2010, 06:03
Yeei - the RSS feed works Smile
Post 25 Aug 2010, 06:03
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 25 Aug 2010, 06:41
rCX wrote:
It may be just me but I get...
Code:
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
    


...when unpacking the linux version.
Sorry about that, the FTP connection must have had broken. Please let me know if it's OK now.
Post 25 Aug 2010, 06:41
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 25 Aug 2010, 06:53
edemko: if you read the older threads about 1.67 and 1.69 development lines you are going to see, that I'm slowly following the established plan, and Mach-O is the only feature left that was promised for 1.70 but is not ready yet.
If there are any other problems with fasm's core that I'm not aware of, report them in the "Compiler Internals" section.

As for the colors and other stuff like that - first, it is not related to core development (that's why reports of fasmw bugs go into "IDE Development", not "Compiler Internals"). Second - the set of fasmw's features (except the built-in debugger, which was planned for 1.x releases, right now fasmw is still at 0.9x) is quite exact fulfillment of my vision, I'm happy with it, and I don't plan to add any new features, but rather keep implementing new IDE interfaces that will provide the same editor environment suited to my very private preferences (with roots in original DOS Navigator's editor) into other operating systems. At least fasmx is in the plans. As for the fasmw plugins project, I still have not decided whether to implement or discard it, as the one problem I have with it is that it does not fit well the vision of the same editor interface for various operating systems.

For the more feature-rich IDE suited to the expectations of community, and not my personal vision, there was a Fresh project, but is now dead (because all of its developers have mysteriously disappeared), and thus when I saw this new "wink", I hoped that some new project like that will emerge. If you have got enough time to participate, I encourage you to go on with such project, as since the death of Fresh fasm really need some new community project like that.
Post 25 Aug 2010, 06:53
View user's profile Send private message Visit poster's website Reply with quote
edemko



Joined: 18 Jul 2009
Posts: 549
edemko 25 Aug 2010, 08:10
I know.
Ok, enough.
Coming fasmcon, take more photos, please.
Post 25 Aug 2010, 08:10
View user's profile Send private message Reply with quote
guignol



Joined: 06 Dec 2008
Posts: 763
guignol 25 Aug 2010, 08:11
When will FASMW understand UNICODE?
Post 25 Aug 2010, 08:11
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 25 Aug 2010, 08:28
It is not going to in any reasonable future. I'm sorry, but you have to turn to some other IDE to edit UTF-8 sources.
Post 25 Aug 2010, 08:28
View user's profile Send private message Visit poster's website Reply with quote
ouadji



Joined: 24 Dec 2008
Posts: 1081
Location: Belgium
ouadji 25 Aug 2010, 08:34

soon Wink 6.5 much more powerful than wink 6.1
Wink has nothing to do with mainstream IDE.
I don't see the benefits to develop a traditional IDE,
everything has already been done in this field.

_________________
I am not young enough to know everything (Oscar Wilde)- Image
Post 25 Aug 2010, 08:34
View user's profile Send private message Send e-mail Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 25 Aug 2010, 13:13
Another release today - version 1.69.16 allows .fas file to be generated even in case of error. It then contains just the preprocessed source (at least partial) that can be extracted with PREPSRC tool.

Also, the updated documentation of .fas format is now downloadable from the official Documentation page.


Last edited by Tomasz Grysztar on 25 Aug 2010, 21:08; edited 1 time in total
Post 25 Aug 2010, 13:13
View user's profile Send private message Visit poster's website Reply with quote
edemko



Joined: 18 Jul 2009
Posts: 549
edemko 25 Aug 2010, 13:56
Code:
;dt 18446744073709551615f        ;ok
;dt 1'.0                         ;invalid name
;dt 18'446'744'073'709'551'615f  ;out of range
;dt $3fff'ffffffff'ffffffff      ;out of range

want: sar, rol, ror, neg, idiv, imul
    
Post 25 Aug 2010, 13:56
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 25 Aug 2010, 14:08
You can make macros for this. :>
Post 25 Aug 2010, 14:08
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1900
DOS386 26 Aug 2010, 23:21
Tomasz wrote:

> flat assembler 1.69.15/1.69.16

Thanks Smile

What's new:

- Increased EXE bloat by 12 KiB (from 1.69.13 to 1.69.16)
- Slightly updated and enhanced main manual (AVX not documented)
- Added missing keys and fixed typo in DOS IDE manual
- Split EXPRESSI.INC into EXPRPARS.INC and EXPRCALC.INC
- Added AVX.INC
- Added SYMBDUMP.INC (split from FORMATS.INC)
- TABLES.INC grew from 58 KiB to 100 KiB
- Tiny fixes in portable editor core
- Added DEC ESI instruction in the DOS IDE - should fix this one: http://board.flatassembler.net/topic.php?t=11061 ??? It seems fixed Smile (but (C) still says "2007" ...)

So the DOS IDE might be BUG-free now (no bugs known but no thorough test yet), remaining trivial wishes are about the Search and S&R:

- [F3] fall back to [CTL]-[F] if no text
- Report searched text: Text "assume" not found instead of just Text not found
- S&R summary: Replaced 1'000'000 occurrences of "xchg eax,eax" by "NOP" (see http://board.flatassembler.net/topic.php?p=95886#95886)

PS: today I moved many threads from Main into more appropriate subforums ... just in case someone misses something Smile
Post 26 Aug 2010, 23:21
View user's profile Send private message Reply with quote
rCX



Joined: 29 Jul 2007
Posts: 172
Location: Maryland, USA
rCX 27 Aug 2010, 00:52
Thanks it works now.
Tomasz Grysztar wrote:
rCX wrote:
It may be just me but I get...
Code:
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
    


...when unpacking the linux version.
Sorry about that, the FTP connection must have had broken. Please let me know if it's OK now.
Post 27 Aug 2010, 00:52
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 27 Aug 2010, 04:59
DOS386 wrote:

What's new:

You did not notice changes concerning Linux and Windows packages. Wink Otherwise good job. Smile

Also, fasmd was updated once more in the meantime.
Post 27 Aug 2010, 04:59
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 30 Aug 2010, 09:14
@Tomasz:
vinsertf128 with memory operand contradicts Intel AVX documentation
(VEX.NDS.256.66.0F3A.W0 18 /r ib):
Code:
vinsertf128 ymm0, ymm0, dqword[rcx + 4*r8], 1    
; C4 A3 79 18 04 81 01
vinsertf128 ymm0,ymm0,ymm0,0
; C4 E3 7D 18 C0 00
    


I made a compile-time fix:
Code:
fix1:
vinsertf128 ymm0, ymm0, dqword[rcx + 4*r8], 1
load a byte from fix1+2
store byte a or 100b at fix1+2
    


I don't know how to fix this in code, but I found two interesting variables:
mov [operand_size],0
mov [mmx_size],16
Should operand_size be 1 (according to 128-bit = 0; 256-bit = 1)
or should mmx_size be 32 (where 16 bytes is 128-bit and 32 is 256).
Post 30 Aug 2010, 09:14
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 30 Aug 2010, 09:47
Madis731 wrote:
Should operand_size be 1 (according to 128-bit = 0; 256-bit = 1)
or should mmx_size be 32 (where 16 bytes is 128-bit and 32 is 256).
Neither - it's a bit more complex thing.
And the "vinsertf128 ymm0,ymm0,ymm0,0" should not word, in fact, as it should be "vinsertf128 ymm0,ymm0,xmm0,0"
I will upload a fixed version in a few minutes (thank you for help).
Post 30 Aug 2010, 09:47
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 30 Aug 2010, 12:32
Testing method:
1) take as many Intel AVX code samples as you can and wrap into a 64-bit PE executable
2) wrap all testing code into
Code:
;START_MARKER
mov ebx, 111
db 0x64, 0x67, 0x90
;********
;AVX CODE
;********
;END_MARKER
mov ebx, 222
db 0x64, 0x67, 0x90
    

3) assemble with FASM 1.69.17
4) Run iaca.exe -o out.txt test.exe
5) see if everything dissassembled correctly

1.69.17 has passed this "average AVX code"-test

UPDATE: http://www.anandtech.com/print/3871 AVX is already 'cast' in some CPUs Smile Read and dream...
Post 30 Aug 2010, 12:32
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3, 4  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.