Author Topic: HJWasm  (Read 37045 times)

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #60 on: July 20, 2015, 11:54:47 PM »
I am glad you are aware what are you doing to me, you and Johnsa, is that what your JJ mans Johan & John :P
Cod-Father

johnsa

  • Member
  • ****
  • Posts: 739
    • Uasm
Re: HJWasm
« Reply #61 on: July 21, 2015, 12:30:07 AM »
Haha :) Have to keep you on your toes! And all these additions just help to make it awesome! ;)

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #62 on: July 21, 2015, 12:36:51 AM »
I am just grumpy old f**t ;)
Cod-Father

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #63 on: July 21, 2015, 06:54:15 AM »
I have better idea about it :idea:
I will leave 32 bit compatible with masm32 without DO, DY, DZ
but 64 bit will have  it built in
what do you reckon?
 
Cod-Father

jj2007

  • Member
  • *****
  • Posts: 9385
  • Assembler is fun ;-)
    • MasmBasic
Re: HJWasm
« Reply #64 on: July 21, 2015, 07:34:41 AM »
I have better idea about it :idea:
I will leave 32 bit compatible with masm32 without DO, DY, DZ
but 64 bit will have  it built in
what do you reckon?

Sounds OK for me, but I can't speak for the 64 bit community :biggrin:

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #65 on: July 21, 2015, 07:42:42 AM »
To me the most important is what you think ;)
Cod-Father

rrr314159

  • Member
  • *****
  • Posts: 1382
Re: HJWasm
« Reply #66 on: July 21, 2015, 09:09:08 AM »
Don't forget we can just use "option nokeyword:<dy>" if we don't want it, so it's not that big a deal. Conversely if you leave it out we can just use "dy equ YMMWORD", which I've already been doing when I find myself typing "ymmword" a lot. BTW have you fixed that bug where we have to put "xmmword ptr" even when the compiler should know the type? That's more important. Unfortunately I can't check it because your latest versions have problems with my weird code, as mentioned b4, and I haven't figured out why yet
I am NaN ;)

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #67 on: July 21, 2015, 09:22:42 AM »
Quote
Don't forget we can just use "option nokeyword:<dy>"
is the best thing :t
Quote
have you fixed that bug where we have to put "xmmword ptr" even when the compiler should know the type?
Yes sir 8)
Cod-Father

rrr314159

  • Member
  • *****
  • Posts: 1382
Re: HJWasm
« Reply #68 on: July 21, 2015, 09:45:26 AM »
Great, gives me incentive to figure out why my weird code (with many macros, does 32/64, SSE/AVX, real4/real8 all with same source) is having problems with latest versions.

BTW I've noticed another little bug which perhaps you could fix in your spare time :biggrin: . Often I intend to type, for example, "mov eax, ecx" but accidentally type, say, "mov ebx, ecx". Now, it's perfectly obvious from the flow of the code that I meant the first not the second: it's just a typo. And yet your HJWasm always uses ebx instead of what I obviously meant, eax (in this example). It's a small thing but very annoying, and if you could fix it I'd be grateful.

Thanks in advance ...
I am NaN ;)

habran

  • Member
  • *****
  • Posts: 1193
    • uasm
Re: HJWasm
« Reply #69 on: July 21, 2015, 02:21:48 PM »
Hi TripleR,
HJwasm is still wearing nappies, when he grows a little bit I will send him to UNI to study telepathy ;)
hope you'll still be around :biggrin:
Cod-Father

jj2007

  • Member
  • *****
  • Posts: 9385
  • Assembler is fun ;-)
    • MasmBasic
Re: HJWasm
« Reply #70 on: July 21, 2015, 06:00:16 PM »
Now, it's perfectly obvious from the flow of the code

3r,

You should at least give a few examples to Habran, so that he can derive the logic for HJWasm 8)

johnsa

  • Member
  • ****
  • Posts: 739
    • Uasm
Re: HJWasm
« Reply #71 on: July 21, 2015, 06:35:22 PM »
Surely an assemblers job is to assemble what you tell it, not for it to attempt to guess at your intention.
I don't think there is anyway that it could know you meant mov eax,ecx instead of mov ebx,ecx regardless of the flow. Your could be copying the value for the later use for all it knows!
My suggestion is.. don't make typos :) :)

I think the 32/64 should remain as similar as possible, so whatever solution we use it should be common to both. Either:
OPTION DATATYPE:1      ; for both (32/64) alike
Or we leave it as is (with new datatype directives) and people should use the nokeyword solution?
Let's take a vote on this.

I've tested the requirement of the xmmword ptr and it appears to be resolved in all my tests. vmovaps xmm(n),[rsi] ; for example assembles correctly and uses xmm instead of ymm.

That said do you have any indication as to what potentially is failing in your code rrr? (Is it run-time or assemble time error?, code or macro related?) Perhaps we can help narrow it down if it's some sort of regression that's occurred in the new versions.


jj2007

  • Member
  • *****
  • Posts: 9385
  • Assembler is fun ;-)
    • MasmBasic
Re: HJWasm
« Reply #72 on: July 21, 2015, 06:58:41 PM »
Or we leave it as is (with new datatype directives) and people should use the nokeyword solution?

You volunteer to explain "nokeyword" to the noobs in the next 20 years? Otherwise,
we can just use "dy equ YMMWORD", which I've already been doing when I find myself typing "ymmword" a lot

johnsa

  • Member
  • ****
  • Posts: 739
    • Uasm
Re: HJWasm
« Reply #73 on: July 21, 2015, 07:05:20 PM »
Or we leave it as is (with new datatype directives) and people should use the nokeyword solution?

You volunteer to explain "nokeyword" to the noobs in the next 20 years? Otherwise,
we can just use "dy equ YMMWORD", which I've already been doing when I find myself typing "ymmword" a lot

I said a vote :) My vote is still for the new OPTION, saves me having to declare the equates and stops noobs from getting confused and generally keeps everyone happy and 32/64 working in the same way.

jj2007

  • Member
  • *****
  • Posts: 9385
  • Assembler is fun ;-)
    • MasmBasic
Re: HJWasm
« Reply #74 on: July 21, 2015, 07:09:58 PM »
My vote is still for the new OPTION, saves me having to declare the equates and stops noobs from getting confused and generally keeps everyone happy and 32/64 working in the same way.

Code: [Select]
include \masm32\include\masm32rt.inc

; OPTION DATATYPE:1 ; error A2008: syntax error : DATATYPE
dy equ ymmword ; works like a charm

.code

start: print "Hello World"
exit

end start