flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.69.15+

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



Joined: 21 Jul 2003
Posts: 4227
Location: vpcmpistri
bitRAKE 31 Aug 2010, 03:49
Post 31 Aug 2010, 03:49
View user's profile Send private message Visit poster's website Reply with quote
Helle



Joined: 24 Feb 2007
Posts: 23
Location: Germany
Helle 05 Sep 2010, 09:38
Please take a look at VSTMXCSR; gives an "illegal instruction" (FAsm 1.69.19). Is VLDMXCSR right? (But I´m not sure!)
Thanks!
Helle
Post 05 Sep 2010, 09:38
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 05 Sep 2010, 09:55
Strange, I have this instruction checked out on my list, so I certainly added it at some point. How did it disappear, I don't know. Smile
I'm updating the package right now.
Post 05 Sep 2010, 09:55
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 06 Sep 2010, 18:53
What's new (67.19 vs 67.16) :

Code:
[-] Corrected the calculation of "shr" and "xor" on negative values when the size
    of value is explicitly stated.
[-] Allowed "dup" to be used with zero count. Also other small corrections were
    made in handling various counts specified to assembler.
[+] Added missing "xgetbv" and "xsetbv" instructions. 
[-] Few small corrections.
    


- subminor typo-fixes in main TFM
- updated many outdated (C)'s to 2010 Smile
- fixes in editor core in NAVIGATE.INC and SARCH.INC
- crucial updates in DOS IDE - S&R count and not found text reported Smile
- update in DOS IDE - added and documented "Alt+Delete discard undo information (frees some memory)"
- update in DOS IDE - replaced "16" by "SEGMENT_HEADER_LENGTH" almost 1'000'000 times

See shots:

Image

Old and new texts are not included but amount is so the "pushed-CTL-H-instead-CTL-F-BUG" is fairly well fixed Smile

Image
Post 06 Sep 2010, 18:53
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 06 Sep 2010, 20:50
Code:
version 1.69.20 (Sep 06, 2010)
[+] Added missing "vstmxcsr", "xsave", "xrstor" instructions.
    


- increased bloat by cca 40 Byte's
- better security checks in EXPRPARS.INC ???
Post 06 Sep 2010, 20:50
View user's profile Send private message Reply with quote
Helle



Joined: 24 Feb 2007
Posts: 23
Location: Germany
Helle 08 Sep 2010, 18:21
Sorry if this is an older bug, but I had today this problem: PEXTRQ Reg64,XMMx,Imm8 is right with REX.W, but PEXTRQ Mem64,XMMx,Imm8 is without REX.W and the result is PEXTRD.
Please take a look.
Thanks!
Helle
Post 08 Sep 2010, 18:21
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 08 Sep 2010, 18:34
Fixed in 1.69.21 (the sub-minor version number got a high speed recently...).
Post 08 Sep 2010, 18:34
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 08 Sep 2010, 19:16
I also finished the rare [ds:ebp+ebp+disp32] optimization in 1.69.21 - this is something I started some time ago but then I forgot and it was left in unfinished state, which actually caused it to generate even less optimal code than before. But it is all corrected now.

The optimization works like this:
Code:
00000000: 3E FF 44 2D 7F                inc dword [ds:ebp+ebp+7Fh]
00000005: FF 04 6D 80 00 00 00          inc dword [ds:ebp+ebp+80h]    
In first case the shortest form of instruction is the one that uses EBP base and DS prefix; however when the displacement is larger than unsigned byte, the shorter form is the one with no base, EBP scaled *2 and no segment prefix (since DS is default then) - and so this one is generated in second case.

Same optimization happens when you write "ebp*2" instead of "ebp+ebp", etc.
Post 08 Sep 2010, 19:16
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1905
DOS386 09 Sep 2010, 06:12
Code:
version 1.69.21 (Sep 08, 2010)
[-] Corrected encoding of "pextrq" instruction with memory operand.
    


And the other one (documented here above only) done in EXPRCALC.INC Smile
Post 09 Sep 2010, 06:12
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2010, 08:04
I re-uploaded it with a few more small corrections. The meaningless segment prefixes are no longer generated in long mode (unless you use them in mnemonic form) - this also counts as an improvement in size optimization.
Post 09 Sep 2010, 08:04
View user's profile Send private message Visit poster's website Reply with quote
edemko



Joined: 18 Jul 2009
Posts: 549
edemko 09 Sep 2010, 11:18
Tomasz, add "whatnew.txt" etc link on upload page.
Post 09 Sep 2010, 11:18
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2010, 18:20
As the 1.69.22 is now interpreting the formatter symbols only in the context of format/section/segment/data directives, and therefore adding new formatter keywords does not limit the reservoir of words allowed as labels, I am now less reluctant to introduce new formatter keyword, even in large number, if that was needed for some reason.

The first one I'd like to add is the flag for Large Address Aware setting in 32-bit PE. I proposed the name "largeaddr", also "largeaddress" is the other possibility. If anyone has any suggestions regarding this, please let me know.
Post 09 Sep 2010, 18:20
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2010, 18:21
edemko wrote:
Tomasz, add "whatnew.txt" etc link on upload page.
When I invent some nice scripting that would make this automatical, I'll certainly do it. I prefer to have everything scripted so that releasing process is quick and painless.
Post 09 Sep 2010, 18:21
View user's profile Send private message Visit poster's website Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 6115
Location: Poland
MHajduk 09 Sep 2010, 19:17
Tomasz Grysztar wrote:
The first one I'd like to add is the flag for Large Address Aware setting in 32-bit PE. I proposed the name "largeaddr", also "largeaddress" is the other possibility. If anyone has any suggestions regarding this, please let me know.
Two propositions easy to pronounce:
  • laddraware
  • largaddraware
Razz
Post 09 Sep 2010, 19:17
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 Sep 2010, 19:53
If the word doesn't clash in program namespace, how about just use "large"?? Or is this truly only useful for PAE/3GB? "largeflag" or "largesize" seem more sensible to me than "largeaddr" (no vowel clash). But it honestly doesn't matter as long as it's documented (and we never did ever agree over "branch taken / not taken" mnemonics).
Post 09 Sep 2010, 19:53
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2010, 21:18
rugxulo wrote:
If the word doesn't clash in program namespace, how about just use "large"??
Yes, simple "large" is nice.
rugxulo wrote:
Or is this truly only useful for PAE/3GB?

This flag is useful not only for Win32 with 3GB adressing, but also when you execute 32-bit program in 64-bit Windows - it can use the whole 4GB addressing space then.
rugxulo wrote:
(and we never did ever agree over "branch taken / not taken" mnemonics).
Well, they are just called CS and DS. Wink I've left defining some own variants with "equ" up to everyone's personal choice.
Post 09 Sep 2010, 21:18
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 09 Sep 2010, 21:33
I like "largeaware". IMO the nice short common word "large" for such exotic feature is a waste.
Post 09 Sep 2010, 21:33
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8394
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2010, 21:35
The point is that we no longer have to worry about wasting the word, because since 1.69.22 the formatter-specific symbols are recognized only in the context of "format" and similar directives. You would still be able to use "large" as a label, for example.
Post 09 Sep 2010, 21:35
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 10 Sep 2010, 08:15
allright then
Post 10 Sep 2010, 08:15
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
edemko



Joined: 18 Jul 2009
Posts: 549
edemko 15 Sep 2010, 07:35
Wink
dt 0e32769
dt 0e32770
Post 15 Sep 2010, 07:35
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  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-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.