News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

UASM 2.55 Update

Started by johnsa, March 29, 2022, 04:07:18 AM

Previous topic - Next topic

johnsa

Hi,

UASM 2.55 has been packaged up and ready. Code is, as always, in 2.55 branch on Github. Windows x86/x64 release packages are on the site.

This update includes a small set of fixes to WinInc, so that version 2.10 is now available on the site too.
The update includes:

Fixed CRC32 encoding
Added Warning for CRC32 when using an unsized memory type to indicate assumption of BYTE
Fixed KTEST{x} encoding issues and moved to CodeGenV2
More code cleanup and Linux build changes
Fixed FOR negative initalizer bug
Fixed vpbroadcastd ymm, m32 not assembling
Fixed struct member alignment using FIELDALIGN and optional alignment when member is a struct/union defined via a TYPEDEF
Fixed inter-segment OFFSET calculation for 64bit BIN files
Fixed REP scas(N) and REP cmps(N) generation for 64bit
Fixed a General Failure when using an undefined struct member as a type ptr
Fixed CodeView V8 symbolic debugging information where line number info didn't correspond to correct source files
Added AVX512-BW/DQ instructions: KTEST{B/W/D/Q}
Fixed register to error assume when used in EA
Fixed .FOR generation bug

These changes are actually the culmination of work from 2.53 + 2.54, due to my looooong hiatus from coding in general and Uasm, and some conflicting PRs and other troubles I decided to bump the version up, hence why there is no 2.53/54 releases.

Enjoy!

jj2007

So far my major sources (RichMasm at 23k, MasmBasic at 43k lines) assemble fine with the new version :thumbsup:

Biterider

Hi John
Thank you for this new release and the time you spent on it. It solves the problems of previous versions.
I tested it by compiling some sources and it works fine.
I need some more time to test other sources, but it seems to work very well  :thumbsup:

Regards, Biterider

johnsa

Excellent, glad to hear it :)

I was really hoping someone would have some brilliant ideas about moving Linux support forward, I think on the Windows front we're pretty much feature complete, bar one or two little things.
The position independent support and elf debugging are the two big things for Linux. I'd like to start putting it to use in AWS/EC2 on Amazon Linux and possibly look at getting some of the AWS SDKs available in asm.

mineiro

Hello sir johnsa;
Congratulations and thanks.
I'm not being able to compile uasm in linux 64. Please, can you point the right way to do or just compile binaries and upload to terraspace or github!?
I tried compile before post, but not luck. Renamed a file to Makefile, typed make in shell and received an error message. Tried to change Makefile but received other errors.

ps:If you are busy, other member of this board can help me compile this in linux 64? Thanks.
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

johnsa

Hi, I'm about to build the Linux binaries today/tomorrow. I might need to update some of makefiles etc and will commit any changes to 2.55 branch as well with Nix build instructions.

PS. I've found another issue with the CV8 line numbers.. It's way better than it was before, but not 100% .. undocumented m$ blah..

mineiro

Thanks for the benevolence.
No rush, in your own time.
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

Vortex


johnsa

Updated the Windows packages and 2.55 branch so long with another fix for CV8.. It's working well for me now on all my tests.

Linux builds to follow shortly.

daydreamer

my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

Vortex

Hi John,

Thanks again. I guess you need to add the address of the latest WinInc file to the Downloads section of your website.

Quote9. Downloads
V2.09   WinInc209.zip
V2.08   WinInc208.zip

Here is how I got the zip file :

wget http://www.terraspace.co.uk/WinInc210.zip

johnsa

V2.10 link added. Thanks!  :thumbsup:

rsala

Hi John,

Thanks for the new version. The 64-bit version of Easy Code assembles and works fine with the new UASM64 version.  :thumbsup:
EC coder

LiaoMi

Hi John!

Thanks for the new version! What types of variables are supported in the new CV8 format? It seems to me that not all information about variables is stored in the debug data.

johnsa

It should support all the same types as CV1-4, so type defs, structs, primitive types byte/uint8 - qword, float and arrays.
If you have any specific examples where that isn't the case, I would suggest trying with -Zi and -Zi8 to compare in the debugger. If we can produce a small test case the cvdump utility is very useful and we can see the difference between the types exported into the debug data.