flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.67.3x

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



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 20 Feb 2009, 07:42
However the link I gave to you is not the last version. You can find the newer version here: http://board.flatassembler.net/topic.php?p=49006#49006
Post 20 Feb 2009, 07:42
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 01 Mar 2009, 18:06
Today's update to DOS and Windows packages contains few fixes in the macros (in Windows package) and enchances the FASMD with a file browser for open/save dialogs.

I can now start working on the documentation updates, so the 1.68 milestone is quite near.
Post 01 Mar 2009, 18:06
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 07 Mar 2009, 02:33
Tomasz Grysztar wrote:
Today's update to DOS and Windows packages contains few fixes in the macros (in Windows package) and enchances the FASMD with a file browser for open/save dialogs.


Smile I'll test.

Quote:
I can now start working on the documentation updates, so the 1.68 milestone is quite near.


Smile
Post 07 Mar 2009, 02:33
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 07 Mar 2009, 09:37
Tomasz Grysztar wrote:
FASMD with a file browser for open/save dialogs.


Great addition ... but very buggy (see other subforum). Neutral

Quote:
I can now start working on the documentation updates, so the 1.68 milestone is quite near.


There are a few more hidden changes:

- Many (C)'s updated, some not

- Fixed DPMI startup in TOOLS

- Deleted -D from commandline built-in documentation Sad Maybe related to my recent complaints ? IMHO not better now, maybe even the opposite ...

- Some non-trivial rearrangements in DOS IDE

- Some labels renamed in all IDE's

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 07 Mar 2009, 09:37
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 07 Mar 2009, 13:19
DOS386 wrote:
There are a few more hidden changes

You list mainly changes in the source code, which are "hidden" for quite obvious reasons. Only the documented interfaces are more or less guaranteed to be not changed without notice.

DOS386 wrote:
- Deleted -D from commandline built-in documentation Sad Maybe related to my recent complaints ? IMHO not better now, maybe even the opposite ...

Would you consider it better if I removed it completely? I'm not going to make it officially documented.
Post 07 Mar 2009, 13:19
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 08 Mar 2009, 08:22
I wrote:

Quote:
There are a few more hidden changes


Forgot one: updated DEVICE.ASM now using format binary as "SYS" Smile

Tomasz Grysztar wrote:
DOS386 wrote:
- Deleted -D from commandline built-in documentation
Would you consider it better if I removed it completely? I'm not going to make it officially documented.


What I would consider better is what I already wrote here: p=85787 :

Quote:
Still, I have a different (better ?) idea. Now EXE documents it fully and manual not at all. Sad Why not do same at both places: -D see DESIGN.TXT file and include the file and "hide" the evil info into it. Laughing


Document it, but not advertise it. Also, there is a problem (older than the "-D" controversy): the Design Principles or why flat assembler is different? text is available online only but not inside the packages. So if someone gets a copy of FASM and has no (good) internet access, the conclusion might be "hey, my code doesn't compile, this assembler is faulty" Sad So providing this this file could kill 2 problems at same time: avoid risk of irritation by "strange" design and provide space to hide documentation of the the "-D" thing.

One more thing:

Quote:
start working on the documentation updates, so the 1.68 milestone is quite near.


Please enhance match documentation.
Post 08 Mar 2009, 08:22
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 08 Mar 2009, 10:33
I already stated my position on -d. Either it's going to be removed completely, or stays undocumented.
If having this such undocumented thing really bothers you, then I'm going to remove it completely and provide an external "emulation" tool for the guys like vid, who utilize this option.

DOS386 wrote:
Please enhance match documentation.

The documentation only covers the bare syntax options and assembler behavior reference, it is not thought as a tutorial. The tutorial on "match" is provided here, and will be integrated into the Understanding fasm, when (after 1.68 release) I get back to updating it. When I have those supplementary docs finished, I may consider making an additional downloadable documentation package out of the (but I don't promise). Nevertheless, you may as well participate in the community-made package project and put the offline copies of those docs there.

PS. Sorry for lesser-quality responding, today I'm browsing the board with a cellphone and writing replies takes ages. Also I'm not able to upload the package updates today, they have to wait till tomorrow.
Post 08 Mar 2009, 10:33
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 09 Mar 2009, 00:37
Tomasz Grysztar wrote:
I already stated my position on -d. Either it's going to be removed completely, or stays undocumented.
If having this such undocumented thing really bothers you, then I'm going to remove it completely and provide an external "emulation" tool for the guys like vid, who utilize this option.


Not sure why this is such a hotly-debated topic. AFAIK, nobody has misused it yet. Remember, Tomasz, not everybody can understand everything the way you do (not enough brains). Wink
Post 09 Mar 2009, 00:37
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 09 Mar 2009, 10:31
rugxulo wrote:
AFAIK, nobody has misused it yet.

Yeah, but I was receiving complaints that I'm breaking my own rules. Just when I hoped nobody will notice. Wink And I now regret making this feature - this would better go into some custom and unofficial interface extension.
Post 09 Mar 2009, 10:31
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 10 Mar 2009, 04:33
Tomasz Grysztar wrote:
rugxulo wrote:
AFAIK, nobody has misused it yet.

Yeah, but I was receiving complaints that I'm breaking my own rules.


So? What do they know about anything? Wink

Like I said, nobody has abused it yet that I've seen. So it must be working well. Why fix what ain't broke? Don't let stringent idealism prevent you from making a pragmatic program. It's more important that it works than is 100% perfectly written. (Just my opinion, nothing more.)

Quote:

Just when I hoped nobody will notice. Wink And I now regret making this feature - this would better go into some custom and unofficial interface extension.


How exactly would that work? Maybe if you tell us then we'll agree to let you change it. (Okay, obviously you can do whatever you want, I just meant we're mostly? reasonable users, right? So you can probably convince us if you try.)
Post 10 Mar 2009, 04:33
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 10 Mar 2009, 04:58
Well, Tomasz moves too fast for me. Laughing

P.S. Minor (unrelated) suggestion for aesthetics (to know whether DOS or Win32 version is being run):

Code:
--- source/win32/fasm.asm      2009-03-08 12:09:34 +0000
+++ source/win32/fasm.new  2009-03-09 23:58:08 +0000
@@ -244,7 +244,7 @@
 
 _copyright db 'Copyright (c) 1999-2008, Tomasz Grysztar',0Dh,0Ah,0
 
-_logo db 'flat assembler  version ',VERSION_STRING,0
+_logo db 'flat assembler  version ',VERSION_STRING,' (Win32)',0
 _usage db 0Dh,0Ah
        db 'usage: fasm <source> [output]',0Dh,0Ah
        db 'optional settings:',0Dh,0Ah
    
Post 10 Mar 2009, 04:58
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20363
Location: In your JS exploiting you and your system
revolution 10 Mar 2009, 05:09
Going back 9 versions I see:
whatsnew.txt wrote:
version 1.67.25 (Mar 09, 2009)

[-] Some internal code size reductions.

[-] Discontinued "-d" switch implementation.
Post 10 Mar 2009, 05:09
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 10 Mar 2009, 05:52
revolution wrote:
Going back 9 versions I see:
whatsnew.txt wrote:
version 1.67.25 (Mar 09, 2009)

[-] Some internal code size reductions.

[-] Discontinued "-d" switch implementation.


Oh oh, now you let everybody know, now the cat's out of the bag. Surprised

The whole size reduction thing makes me wonder if he wants to resurrect the flat real mode hack. But considering it was a "losing battle vs. time and space across the galaxy ..." (or whatever), I highly doubt it. Still, "ya don't know what ya got until it's gone ...." Wink
Post 10 Mar 2009, 05:52
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 10 Mar 2009, 06:47
rugxulo wrote:
The whole size reduction thing makes me wonder if he wants to resurrect the flat real mode hack. But considering it was a "losing battle vs. time and space across the galaxy ..." (or whatever), I highly doubt it. Still, "ya don't know what ya got until it's gone ...." Wink

The battle may be lost in the long-term, however for the 1.68 milestone release I plan to have unreal version alive, still.
Post 10 Mar 2009, 06:47
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 10 Mar 2009, 22:45
Tomasz Grysztar wrote:

The battle may be lost in the long-term, however for the 1.68 milestone release I plan to have unreal version alive, still.


I was actually a little surprised that you gave up on it. I thought you'd go down fighting (not that you didn't try, I mean, you know what I mean). You loved that little hack, glad to see it will still keep going a tad bit longer. Wink
Post 10 Mar 2009, 22:45
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 11 Mar 2009, 01:35
Rugxulo wrote:

> I was actually a little surprised that you gave up on it.

So you have a trivial hack to delete the 64 KiB unreal CS limit ??? Shocked

whatsnew.txt wrote:
version 1.67.25 (Mar 09, 2009)

[-] Some internal code size reductions.

[-] Discontinued "-d" switch implementation.


I'm getting:

whatsnew.txt wrote:
version 1.67.35 (Mar 09, 2009)

[-] Some internal code size reductions.

[-] Discontinued "-d" switch implementation.


Tomasz wrote:

> The battle may be lost in the long-term, however for the 1.68 milestone release I plan to have unreal version alive, still.

Interesting. You saved much space in 1.67.35 Shocked Probably exactly by killing the -D Neutral So the 2 documented changes are in fact 1 change only ... for the heck of unreal mode Neutral

more:

- Fixed DOS IDE ??? (I'll test)
- Added debug support in DOS IDE
- Killed AbortRetryF*** in DOS IDE
- Fixed some more (C)'s, some left (see post above)
- Large rearrangements in X64.INC
Post 11 Mar 2009, 01:35
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 11 Mar 2009, 11:26
DOS386 wrote:
So you have a trivial hack to delete the 64 KiB unreal CS limit ??? Shocked

Actually, I have one. But I'm not going to use it unless really necessary. Wink

DOS386 wrote:
Interesting. You saved much space in 1.67.35 Shocked Probably exactly by killing the -D Neutral So the 2 documented changes are in fact 1 change only ... for the heck of unreal mode Neutral

Well, killing -D helped a bit, but it was far from being enough to compensate SSE4 additions and floating-point converter extension. I had to look out for some serious code reductions elsewhere.

DOS386 wrote:
- Fixed some more (C)'s, some left (see post above)

Did I modify any copyright notes recently? Oh, perhaps you mean editor core files - I've done some small change to it, so I decided to update the copyright date.
And yes, the executable copyright mark is still not updated. Simply forgot about it. Smile
DOS386 wrote:
- Large rearrangements in X64.INC

Those are exactly the aforementioned code size reductions. If you are inquisitive enough to check out for all the changes made in sources, please be more regardful in it. Wink
Post 11 Mar 2009, 11:26
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 12 Mar 2009, 01:36
Tomasz Grysztar wrote:
Actually, I have one. But I'm not going to use it unless really necessary


So the Unreal is not finally dead and every new version includes a new risk of surprises about Unreal support Shocked But what wonders me why didn't you apply my antibloat patches ? Or are they "reserved" for later when the fight becomes even harder ?

Quote:
Did I modify any copyright notes recently? Oh, perhaps you mean editor core files


YES.

Quote:
some small change to it, so I decided to update the copyright date.


Did you fix the S&R memory leak ? Wink Oops forgot to test ...

Quote:
are inquisitive enough to check out for all the changes made in sources, please


Opps sorry ... so I should keep the secrets secret in future ?

PS: please see other thread about DOS IDE
Post 12 Mar 2009, 01:36
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1903
DOS386 30 Mar 2009, 01:26
(sorry for bumping this "obsolete" thread)

Tomasz Grysztar wrote:
The documentation only covers the bare syntax options and assembler behavior reference, it is not thought as a tutorial. The tutorial on "match" is provided here, and will be integrated into the Understanding fasm, when (after 1.68 release) I get back to updating it. When I have those supplementary docs finished, I may consider making an additional downloadable documentation package out of the (but I don't promise).


Nice ... although including those 2 into official packages would be better IMHO, since the design has a very high importance in FASM Wink

Quote:
Nevertheless, you may aswell participate in the community-made package project and put the offline copies of those docs there.


It seems to deal (primarily) with include bloat (AKA "MASM32") - something that I don't consider as that valuable, so I indeed have been ignoring this thing Neutral
Post 30 Mar 2009, 01:26
View user's profile Send private message Reply with quote
Quibbler



Joined: 15 Apr 2009
Posts: 2
Quibbler 15 Apr 2009, 16:34
Hi there!

I'm new to FASM, and I just want to know which of the following instructions are supported. I have compiled this list myself after reading the Intel Architecture Reference Manual and compared all instructions found there with all the ones found in FASM reference manual. The instructions below are *not* mentioned in the FASM reference manual, but I guess that's because it's not been updated yet?

    blendps
      Blend packed single precision floating-point values (SSE4.1 instr)

    blendvpd
      Variable blend packed double precision floating-point values (SSE4.1 instr)

    blendvps
      Variable blend packed single precision floating-point values (SSE4.1 instr)

    crc32
      Accumulate CRC32 value (SSE4.2 instr)

    dppd
      Dot product of packed double precision floating-point values (SSE4.1)

    dpps
      Dot product of packed single precision floating-point values (SSE4.1)

    extractps
      Extract packed single precision floating-piont value (SSE4.1)

    hsubpd
      Packed double floating-point horizontal subtract (SSE3)

    hsubps
      Packed single floating-point horizontal subtract (SSE3)

    insertps
      Insert packed single precision floating-point value (SSE4.1)

    invd
      Invalidate internal caches

    movbe
      Move data after swapping bytes (SSE4.2)

    movntdqa
      Load double quadword using non-temporal aligned hint

    mpsadbw
      Compute multiple packed sums of absolute difference (SSE4.1)

    pabsb
      Packed absolute value

    pabsw
      As above but use words

    pabsd
      As above but use dwords

    packusdw
      Pack with unsigned saturation (SSE4.1)

    palignr
      Packed align right (SSE3)

    pblendvb
      Variable blend packed bytes

    pblendw
      Blend packed words

    pcmpeqq
      Compare packed qword data for equal

    pcmpestri
      Packed compare explicit length strings, return index (SSE4.2)

    pcmpestrm
      Packed compare explicit length strings, return mask (SSE4.2)

    pcmpistri
      Packed compare implicit length strings, return index (SSE4.2)

    pcmpistrm
      Packed compare implicit length strings, return mask (SSE4.2)

    pcmpgtq
      Compare packed qwords for greater than

    pextrb
      Extract bytes (SSE4.1)

    pextrd
      Extract dwords (SSE4.1)

    pextrq
      Extract qwords (SSE4.1)

    phaddw
      Packed horizontal add words (SSE3)

    phaddd
      Packed horizontal add dwords (SSE3)

    phaddsw
      Packed horizontal add and saturate (SSE3)

    phminposuw
      Packed horizontal word minimum (SSE4.1)

    phsubw
      Packed horizontal subtract words (SSE3)

    phsubd
      Packed horizontal subtract dwords (SSE3)

    phsubsw
      Packed horizontal subtract and saturate words (SSE3)

    pinsrb
      Insert byte (SSE4.1)

    pinsrd
      Insert dword (SSE4.1)

    pinsrq
      Insert qword (SSE4.1)

    pmaddubsw
      Multiply and add packed signed and unsigned bytes (SSE3)

    pmaxsb
      Maximum of packed signed byte integers (SSE4.1)

    pmaxsd
      Maximum of packed signed dword integers (SSE4.1)

    pmaxud
      Maximum of packed unsigned dword integers (SSE4.1)

    pmaxuw
      Maximum of packed unsigned word integers (SSE4.1)

    pminsb
      Minimum of packed signed byte integers (SSE4.1)

    pminsd
      Minimum of packed signed dword integers (SSE4.1)

    pminud
      Minimum of packed unsigned dword integers (SSE4.1)

    pminuw
      Minimum of packed unsigned word integers (SSE4.1)

    pmovsx
      Packed move with sign extend (SSE4.1)

    pmovzx
      Packed move with zero extend (SSE4.1)

    pmuldq
      Multiply packed signed dword integers (SSE4.1)

    pmulhrsw
      Packed multiply high with round and scale (SSE3)

    pmulld
      Multiply packed signed dword integers and store low result (SSE4.1)

    popcnt
      Return the count of number of bits set to 1

    pshufb
      Packed shuffle bytes (SSE3)

    psignb
      Packed sign bytes (SSE3)

    psignw
      Packed sign words (SSE3)

    psignd
      Packed sign dwords (SSE3)

    ptest
      Logical compare (SSE4.1)

    rdtscp
      Read time-stamp counter and processor ID (only available if CPUID.80000001H:EDX.RDTSCP[bit 27] is 1)

    roundpd
      Round packed double precision floating-point values (SSE4.1)

    roundps
      Round packed single precision floating-point values (SSE4.1)

    roundsd
      Round scalar double precision floating-point values (SSE4.1)

    roundss
      Round scalar single precision floating-point values (SSE4.1)

    str
      Store Task register

    xgetbv
      Get value of extended control register (only available if CPUID.01H:ECX.XSAVE[bit 26] is 1)

    xrstor
      Restore processor extended states (only available if CPUID.01H:ECX.XSAVE[bit 26] is 1)

    xsave
      Save processor extended states (only available if CPUID.01H:ECX.XSAVE[bit 26] is 1)

    xsetbv
      Set extended control register (only available if CPUID.01H:ECX.XSAVE[bit 26] is 1)
Post 15 Apr 2009, 16:34
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4, 5  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.