Author Topic: HJWasm Releases  (Read 95283 times)

habran

  • Member
  • *****
  • Posts: 1228
    • uasm
Re: HJWasm Releases
« Reply #75 on: January 26, 2016, 12:19:55 AM »
I have implemented those instructions,
however, I'll check for other missing ones
If you have some I overseen please let me know
Cod-Father

jj2007

  • Member
  • *****
  • Posts: 13957
  • Assembly is fun ;-)
    • MasmBasic
Re: HJWasm Releases
« Reply #76 on: January 26, 2016, 12:31:30 AM »
Both OK for MB lib, and have become faster :t
Code: [Select]
HJWasm32 ; 6.3 secs->6.8 ->5.4
HJWasm64 ; 5.2 secs->5.4->4.4

TouEnMasm

  • Member
  • *****
  • Posts: 1764
    • EditMasm
Re: HJWasm Releases
« Reply #77 on: January 26, 2016, 12:48:57 AM »
For an easy way to find the new versions , can you put them in one only place ?.
For example here:
http://www.terraspace.co.uk/hjwasm.html
This allow to have a look on it from time to time.
And if can made another required ( very ambitious ?),I wait a 64 bits version with a working debug option.
/Zi .Debugging with source code is really usefull.


Fa is a musical note to play with CL

johnsa

  • Member
  • ****
  • Posts: 893
    • Uasm
Re: HJWasm Releases
« Reply #78 on: January 26, 2016, 01:05:43 AM »
Hey,

The new versions will always be kept up-to-date on the Terraspace site (They've just been updated now).

ToutEnMasm, 64bit debugging should work perfectly, I use it all the time in VS2012 and VS2015..

Heres a screen-shot debugging a 64bit app in VS2012:
www.terraspace.co.uk/vs_debug.png

I use the command line:
hjwasm64 -c -win64 -Zi -Zd-Zf -Zp8 svo3.asm

Cheers,
John

fearless

  • Member
  • ****
  • Posts: 578
    • Github
Re: HJWasm Releases
« Reply #79 on: January 26, 2016, 05:44:33 AM »
64bit debugging seems fine with x64dbg as well. I use radasm v2 and have these options set to compile and link:

3,O,$B\HJWASM64.EXE /c -win64 -Zp8 /Zi /win64 /D_WIN64 /Cp /nologo /W2 /Zi /Zd /nologo /I"$I",2
5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV /PDB:"$18" /VERSION:4.0 /MACHINE:X64 /LIBPATH:"$L" /OUT:"$5",3,4

I edited my test64.rap file and set file no 18 under [Files] to be 18=Test64.pdb, so that in the linker it uses it /PDB:"$18"


http://postimg.org/image/gt36yuggv/
fearless

ASUS Crosshair 8 Hero, AMD 5950X, 32GB, MSI 5700XT, NZXT Kraken Z73, Seasonic 1000W PSU

Github Twitter Mastodon Gitbook

habran

  • Member
  • *****
  • Posts: 1228
    • uasm
Re: HJWasm Releases
« Reply #80 on: January 26, 2016, 05:49:50 AM »
Thanks jj2007, thanks fearless 8)
Cod-Father

dawnraider

  • Regular Member
  • *
  • Posts: 26
Re: HJWasm Releases
« Reply #81 on: January 26, 2016, 05:50:50 AM »
Hi Habran,

Thanks for the update! We should create a test function that simply has all the new instructions listed back to back so we test the assembler and the generated code.

We have another problem with instruction encoding. I've also opened a new post here (http://masm32.com/board/index.php?topic=5067.0). Could you please look at this?

Code: [Select]
00000000                        temp proc
00000000  C4E27918CA            vbroadcastss xmm1, xmm2
00000005                        temp endp

VEX.128.66.0F38.W0 18 /r        RM V/V AVX2
VBROADCASTSS xmm1, xmm2

This code appears to work, however:

Code: [Select]
00000000                        temp proc
00000000  62F27D0878CA          vpbroadcastb xmm1, xmm2
00000006                        temp endp

VEX.128.66.0F38.W0 78 /r        RM V/V AVX2
VPBROADCASTB xmm1, xmm2/m8

causes an "illegal instruction" exception. The encoding for vpbroadcastb looks to be one byte too long. Do both of these generated encodings match Intel's specification?

Thanks in advance,

habran

  • Member
  • *****
  • Posts: 1228
    • uasm
Re: HJWasm Releases
« Reply #82 on: January 26, 2016, 08:47:39 AM »
You are doing excellent job dawnraider :t
The problem was that HJWasm produced EVEX code instead of AVX2
I fixed it and uploaded on Teraspace even though the date is 25th it is from today (I don't know yet how to change the date on Teraspace) John will change it when he wakes up
Cod-Father

dawnraider

  • Regular Member
  • *
  • Posts: 26
Re: HJWasm Releases
« Reply #83 on: January 26, 2016, 09:12:31 AM »
Hi Habran,

Thanks for the update. This release is much better! All instructions now appear to have the correct VEX prefix.
The following AVX2 test code executes fine:

Code: [Select]
.DATA
ALIGN 16
auArithGreyScale DWORD 000000047h, 0000002DEh, 0000000D6h, 000000000h

.CODE
temp PROC

00000000  C5F877                vzeroall
00000003  C4E27918C9            vbroadcastss  xmm1,    xmm1
00000008  C4E27978C9            vpbroadcastb  xmm1,    xmm1
0000000D  488D0500000000        lea           rax,     auArithGreyScale
00000014  C4E2692C08            vmaskmovps    xmm1,    xmm2,     xmmword ptr [rax]
00000019  C4E2698C08            vpmaskmovd    xmm1,    xmm2,     xmmword ptr [rax]
0000001E  C4E36902CBAA          vpblendd      xmm1,    xmm2,     xmm3,     0AAh

temp ENDP

Thanks!

habran

  • Member
  • *****
  • Posts: 1228
    • uasm
Re: HJWasm Releases
« Reply #84 on: January 26, 2016, 09:28:08 AM »
 :t
Cod-Father

johnsa

  • Member
  • ****
  • Posts: 893
    • Uasm
Re: HJWasm Releases
« Reply #85 on: January 26, 2016, 08:41:41 PM »
Hi,

I've updated both x86 and x64 packages on http://www.terraspace.co.uk/hjwasm.html


Cheers!
John

TouEnMasm

  • Member
  • *****
  • Posts: 1764
    • EditMasm
Re: HJWasm Releases
« Reply #86 on: January 27, 2016, 01:58:41 AM »
Download the new version 26/01/2016

64 bits Windows 10 compiled OK before update
Quote
listview.asm(64) : Error A2224: Not supported with current output format: frame
listview.asm(65) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(66) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(67) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(102) : Error A2142: Unmatched block nesting: WinMain
listview.asm(104) : Error A2224: Not supported with current output format: frame
listview.asm(105) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(121) : Error A2142: Unmatched block nesting: InsertColumn
listview.asm(123) : Error A2224: Not supported with current output format: frame
listview.asm(124) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(125) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(175) : Error A2142: Unmatched block nesting: ShowFileInfo
listview.asm(177) : Error A2224: Not supported with current output format: frame
listview.asm(178) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(179) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(188) : Error A2159: INVOKE requires prototype for procedure
listview.asm(196) : Error A2142: Unmatched block nesting: FillFileInfo
listview.asm(198) : Error A2224: Not supported with current output format: frame
listview.asm(199) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(225) : Error A2142: Unmatched block nesting: String2Dword
listview.asm(227) : Error A2224: Not supported with current output format: frame
listview.asm(228) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(229) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(230) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(240) : Error A2159: INVOKE requires prototype for procedure
listview.asm(245) : Error A2159: INVOKE requires prototype for procedure
listview.asm(251) : Error A2159: INVOKE requires prototype for procedure
listview.asm(254) : Error A2159: INVOKE requires prototype for procedure
listview.asm(270) : Error A2142: Unmatched block nesting: CompareFunc
listview.asm(272) : Error A2224: Not supported with current output format: frame
listview.asm(273) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(289) : Error A2142: Unmatched block nesting: UpdatelParam
listview.asm(291) : Error A2224: Not supported with current output format: frame
listview.asm(292) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(293) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(305) : Error A2142: Unmatched block nesting: ShowCurrentFocus
listview.asm(309) : Error A2224: Not supported with current output format: frame
listview.asm(310) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(311) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
listview.asm(321) : Error A2159: INVOKE requires prototype for procedure
listview.asm(322) : Error A2159: INVOKE requires prototype for procedure
listview.asm(364) : Error A2159: INVOKE requires prototype for procedure
listview.asm(368) : Error A2159: INVOKE requires prototype for procedure
listview.asm(374) : Error A2159: INVOKE requires prototype for procedure
listview.asm(378) : Error A2159: INVOKE requires prototype for procedure
listview.asm(383) : Error A2159: INVOKE requires prototype for procedure
listview.asm(397) : Error A2142: Unmatched block nesting: WndProc
listview.asm(411) : Error A2159: INVOKE requires prototype for procedure
listview.asm: 414 lines, 1 passes, 469 ms, 0 warnings, 48 errors


Fa is a musical note to play with CL

johnsa

  • Member
  • ****
  • Posts: 893
    • Uasm
Re: HJWasm Releases
« Reply #87 on: January 27, 2016, 02:49:52 AM »
Hi,

I'll check with Habran this evening as I know he applied a new change to avoid checking for EVEX encoding when it wasn't required.
This change was applied at about 1pm this afternoon to the latest binaries on the website. Once resolved we will be putting source-code up in github (+wiki and issues pages etc).
So the link will be shared as soon as that's live (and including on the website).

Cheers,
John

Grincheux

  • Member
  • ***
  • Posts: 330
  • Never be pleased, Always improve
Re: HJWasm Releases
« Reply #88 on: January 27, 2016, 04:29:32 AM »
Quote
Once resolved we will be putting source-code up in github (+wiki and issues pages etc).

Where are they?
Kenavo (Bye)
----------------------
Help me if you can, I'm feeling down...

Grincheux

  • Member
  • ***
  • Posts: 330
  • Never be pleased, Always improve
Re: HJWasm Releases
« Reply #89 on: January 27, 2016, 04:30:40 AM »
I posted questions about JWAsm cmdline and never get an answer. I hope, one day perhaps...
Kenavo (Bye)
----------------------
Help me if you can, I'm feeling down...