Author Topic: Some uasm sources have the extended ascii charaters when compiling  (Read 88 times)

fonolite

  • Regular Member
  • *
  • Posts: 5
Some uasm sources have the larger values than 80h in binary mode (with bvi, binary vi editor).
And they made the building errors with visual studio 2017.

version 2.42

1) tokenize.c
L629: if ( ( p->flags2 & DF_CEXPR ) && strchr( "=!<>&|¦", symbol ) ) {     //habran added '¦'
=> ¦ = A6h (broken bar)
I think "=!<>&|¦" are operators and ¦ (broken bar = A6h) is operator of masm?
¦ (broken bar = A6h) collides the following " charater in asia.
What is ¦ (broken bar = A6h)?


2) parser.h
L143:  * EVEXR’    High-16 register specifier modifier P[4] Combine with EVEX.R and ModR/M.reg
L146:  * EVEXV’    High-16 NDS/VIDX register specifier P[19] Combine with EVEX.vvvv or when VSIB present
L150:  * EVEX.L’L  Vector length/RC P[22 : 21]
=> ’ = 90h


3) UASM.vcxproj
L239: <AdditionalIncludeDirectories>D:\HJWasm\HJWasm2.13.1s\HJWasm2.13.1s\H;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
This is not for the extended ascii charaters, but is about the project environment in vs2017.
In Debug section, I think it should be changed like below, because it has the wrong Include path.
=> <AdditionalIncludeDirectories>H;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
« Last Edit: October 14, 2017, 03:09:45 PM by fonolite »

habran

  • Member
  • *****
  • Posts: 1114
    • uasm
Re: Some uasm sources have the extended ascii charaters when compiling
« Reply #1 on: October 14, 2017, 10:30:41 PM »
Hi fonolite :biggrin:
You are doing good job by pointing out some overseen things from our side, thanks for that :t
UASM is for John and myself like a baby to mother, we see it as a most beautiful baby in the universe ;)
Sometime we don't see a flaw because of that. That '¦' is an atavism from the past in the .FOR-.ENDFOR HLL block when we used that instead of ';', which we later changed to ':',
so it is there because we forgot about it and we will remove it with some other minor fixes.

2) parser.h thing is there only for clarification about the way how EVEX flags are set and if that makes some difficulties to anybody we can remove that ''' character, it will not cause any damage to the exe

3) UASM.vcxproj :D:\HJWasm\HJWasm2.13.1s\HJWasm2.13.1s is also the atavism from the past which   will be painlessly removed by our surgeon Johnsa for the next update :biggrin:

Cod-Father