News:

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

Main Menu

Jwasm 13 debugging source mode in 64 bits

Started by TouEnMasm, August 15, 2015, 08:26:09 PM

Previous topic - Next topic

TouEnMasm

Hello,
I used those options

Quote
jwasm /c /win64 /Zi /Zd /nologo /Zp8
LINK /NOLOGO /DEBUG:FASTLINK /debugtype:cv
And i try to debug in source mode,following the source lines.
Visual studio say me there is missed informations,What happen ?.
Fa is a musical note to play with CL

habran

I am aware that JWasm has a problem with debugging but it works if you use small source file like this:

  option casemap : none
option win64 : 11
option frame : auto
option STACKBASE : RSP
.code
     
main PROC  FRAME
  vaddpd zmm30,zmm29,[rdx+400h]{1to8}
  vaddpd zmm21{z}{k3}, zmm23, zmm31
  vaddpd zmm21{k1}{z}, zmm23, zmm31
  vaddpd zmm21{k1}, zmm23, zmm31
  vaddpd zmm21{z}, zmm23, zmm31
ret 
main ENDP

END main

I use this for the compiler:
/OUT:"C:\JWasm.exe" /MANIFEST /NXCOMPAT /PDB:"C:\Users\Brane\Desktop\JWasm\x64\Debug\JWasm.pdb"
/DYNAMICBASE /FIXED:NO /DEBUG /MACHINE:X64/INCREMENTAL:NO /PGD:"C:\JWasm\x64\Debug\JWasm.pgd"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Debug\JWasm.exe.intermediate.manifest"
/ERRORREPORT:PROMPT /NOLOGO /ASSEMBLYDEBUG /TLBID:1


and this for the linker:
/OUT:"C:\Users\Brane\Desktop\HJWasm\x64\Debug\HJWasm.exe" /MANIFEST /NXCOMPAT /PDB:"C:JWasm\x64\Debug\JWasm.pdb"
/DYNAMICBASE /FIXED:NO /DEBUG /MACHINE:X64 /INCREMENTAL:NO /PGD:"C:\Users\Brane\Desktop\HJWasm\x64\Debug\HJWasm.pgd"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'"
/ManifestFile:"x64\Debug\HJWasm.exe.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /ASSEMBLYDEBUG /TLBID:1
Cod-Father

TouEnMasm

I have downloaded  the last version,but no more progress.
Is there no hope for debugging in source mode in 64 bits ?.
Fa is a musical note to play with CL

fearless

Seems to work fine with RadASM v2.x and x64dbg





TouEnMasm

With windbg,i have only jwasm who can debug in source mode for 32 bits.
I have also a problem with align 16,don't work.

Fa is a musical note to play with CL

habran

Hi ToutEnMasm, I am aware of that and I am investigating the cause of that,
however, it is very hard to find where is the actual problem because it works fine in 64 bit
It will take some time to fix it.
Cod-Father

habran

Actually, the last version of HJWasm32.exe from Terraspace can debug on source level.
Cod-Father

TouEnMasm

Win 10 don't seem to agree with that,but there is other things who don't work as expected with win 10.
Fa is a musical note to play with CL

habran

I have Windows 8.1,
I installed Windows 10 and I realized it was a bad decision, so I reverted to Windows 8.1 while I still could
Sooner or later I will have to accept Windows 10, most probably when I get forced to upgrade my laptop.
For now I don't have possibility to experiment with Windows 10 simply because I don't have access to it.
You are left with two choices:
1) wait until I upgrade to Windows 10
2) try to figure it out yourself
People have a saying: "If you want a job done properly do it yourself"
Cod-Father

nidud

#9
deleted

habran

Hi nidud,
Your build is fine if you are assembling 32 bit source, but has general failure if you try to assemble 64 bit.
To be acurate:
    vgatherdpd zmm15{k1}, [r14+ymm13*8+7bh]    ;works
    but:
    vgatherdpd zmm15{k1}, [r14+ymm31*8+7bh]   ;general failure
   
    and:
    real8  2.22e-308 ;rejected by ml + jwasm ( since v2.11 )
    error A2076: Initializer magnitude too large for specified size

I think that 32 bit HJWasm should be still able to assemble 64 bit without general failure.
I am not ungrateful and I appreciate you from the start of your ASMC, I just want to make HJWasm work fine in both x68 and x64.
I have build one x68 version with the Code:Blocks and would like you and other people to test if it can assemble both
 
Cod-Father

HSE

#11
habran:
in your compilation echo is not working (any message to console)



          I forget to say: win 7 -32
Equations in Assembly: SmplMath

jj2007

Slow but messages to console are working:
*** Assemble using HJWasm /c /coff  /Fl /Sn /Fo "MasmBasic" ***
HJWasm v2.14, May  9 2016, Masm-compatible assembler.
Portions Copyright (c) 1992-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.

*** using MasmBasic version 06.05.2016 ***
Tmp_File.asm: 761 lines, 4 passes, 796 ms, 0 warnings, 0 errors
*** Link using link with sub Console    "MasmBasic.obj" /OUT:TestMasmBasic.exe - no resources ***

Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

*** Assembling and linking took 8237 milliseconds ***


AsmC does it in 2 seconds. There seems to be a considerable overhead:

\Masm32\MasmBasic\libtmpAA.asm: 15065 lines, 2 passes, 312 ms, 0 warnings, 0 errors
\Masm32\MasmBasic\libtmpAD.asm: 94 lines, 2 passes, 219 ms, 0 warnings, 0 errors
\Masm32\MasmBasic\libtmpAE.asm: 36 lines, 2 passes, 234 ms, 0 warnings, 0 errors

habran

Hi HSE,
It is built with GNU GCC compiler with Code:Blocks
I am curious if you run it on 32 bit machine.
If it works fine on 32 bit computers I can see if I can tweak Code:Blocks to force the echo.

Cod-Father

habran

Hi jj2007, thanks for testing :biggrin:
However, AFAIK, you have 64 bit computer.
If you have a 32 bit machine try to run it there please
Cod-Father