News:

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

Main Menu

JWasmAVX2 source

Started by habran, November 25, 2014, 07:19:31 AM

Previous topic - Next topic

TouEnMasm

Fa is a musical note to play with CL

habran

Sorry, you are on your own now
I can't help you there :(
did you try to build 32 bit JWasm.exe?
Cod-Father

habran

I copied source from your last post pasted it in my project and built flawlessly and it worked without any change
Cod-Father

Gunther

Quote from: habran on November 27, 2014, 11:54:32 PM
I copied source from your last post pasted it in my project and built flawlessly and it worked without any change

For me too.

Gunther
You have to know the facts before you can distort them.

TouEnMasm

If I try to build a 32 bit,I get two problems,in another source code
.while
.continue         ;not accepted,unknown adress ;it work with the normal 32 jwasm
and an access violation in ntdll at run
Quote
ntdll: access violation
_RtlReAllocateHeap@16:
771ECB60  mov         edi,edi 
771ECB62  push        ebp 
771ECB63  mov         ebp,esp 
771ECB65  and         esp,0FFFFFFF8h 
771ECB68  sub         esp,7Ch 
771ECB6B  mov         eax,dword ptr ds:[77283250h] 
771ECB70  xor         eax,esp 
771ECB72  mov         dword ptr [esp+78h],eax 
771ECB76  mov         ecx,dword ptr [ebp+0Ch] 
771ECB79  push        ebx 
771ECB7A  mov         ebx,dword ptr [ebp+10h] 
771ECB7D  mov         dword ptr [esp+18h],0 
771ECB85  mov         dword ptr [esp+14h],0 
771ECB8D  push        esi 
771ECB8E  mov         esi,dword ptr [ebp+14h] 
771ECB91  mov         dword ptr [esp+14h],esi 
771ECB95  push        edi 
771ECB96  mov         edi,dword ptr [ebp+8] 
771ECB99  test        ebx,ebx 
771ECB9B  je          string L"\\??\\%C:"+34CFDh (77208D3Dh) 
771ECBA1  mov         eax,dword ptr [edi+44h]   ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Fa is a musical note to play with CL

habran

Thanks Gunther :biggrin:
that proves that nothing is wrong with sources :t
ToutEnMasm, the project was created with:
Microsoft Visual Studio Community Professional 2013 for Desktop
Version 12.0.31101 Update 4
Microsoft Visual Studio Community 2013
Version 12.0.31101.00 Update 4
Microsoft .NET Framework Version 4.5.50938

If you have Windows 8, you have a different version than this
Tray to create new project and than add sources
Cod-Father

Gunther

Quote from: habran on November 28, 2014, 06:31:04 AM
Thanks Gunther :biggrin:
that proves that nothing is wrong with sources :t

Yes, I think the sources are okay.

Gunther
You have to know the facts before you can distort them.

TouEnMasm


Is there need of the ALIAS1.lib in 64 bits ?
Your binaries made the same thing than mine???????.
Fa is a musical note to play with CL

habran

Command Line for link:
Quote
/OUT:"C:\Users\Hn\Desktop\JWasm12avx2\JWasm\x64\Release\JWasm.exe" /MANIFEST /NXCOMPAT /PDB:"C:\Users\Hn\Desktop\JWasm12avx2\JWasm\x64\Release\JWasm.pdb" /DYNAMICBASE /MACHINE:X64 /INCREMENTAL:NO /PGD:"C:\Users\Hn\Desktop\JWasm12avx2\JWasm\x64\Release\JWasm.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Release\JWasm.exe.intermediate.manifest" /ERRORREPORT:PROMPT /TLBID:1

Command Line for C
Quote
/GS- /TC /W2 /Zc:wchar_t /I"C:\Users\Hn\Desktop\JWasm12avx2\H" /Gm- /O2 /Fd"x64\Release\vc120.pdb" /fp:precise /Zp8 /D "WIN64" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /MT /Fa"x64\Release\" /nologo /Fo"x64\Release\" /FAs /Fp"x64\Release\JWasm.pch"

I don't see ALIAS1.lib here
Cod-Father

TouEnMasm

found
There is cases where _findfirst return 1,and it is not a handle!
The modify below run without problem
Quote
int main( int argc, char **argv )
   ...........
   intptr_t    fh; //long
   int resultat =0;
   ................
        do {
            /* v2.12: _splitpath()/_makepath() removed */
            //_makepath( fname, drv, dir, finfo.name, NULL );
            //DebugMsg(("main: _makepath(\"%s\", \"%s\", \"%s\")=\"%s\"\n", drv, dir, finfo.name, fname ));
            strcpy( &fname[dirsize], finfo.name );
            DebugMsg(("main: fname=%s\n", fname ));
            rc = AssembleModule( fname );  /* assemble 1 module */
         //-c -coff -pe H:\64bits\fenetre\Win64_8.asm
         if (fh != 1) // only one file
         {
            resultat = _findnext(fh, &finfo);
         } // only one file
         else
         {
            resultat = -1;
         }
   } while (resultat != -1);
   ...................

Fa is a musical note to play with CL

jj2007

Quote from: ToutEnMasm on November 28, 2014, 07:40:24 PM
   intptr_t    fh; //long
   int resultat =0;
   ................
        do {
            /* v2.12: _splitpath()/_makepath() removed */
            //_makepath( fname, drv, dir, finfo.name, NULL );
            //DebugMsg(("main: _makepath(\"%s\", \"%s\", \"%s\")=\"%s\"\n", drv, dir, finfo.name, fname ));
            strcpy( &fname[dirsize], finfo.name );
            DebugMsg(("main: fname=%s\n", fname ));
            rc = AssembleModule( fname );  /* assemble 1 module */
         //-c -coff -pe H:\64bits\fenetre\Win64_8.asm
         if (fh != 1) // only one file

Where do you set fh? If _findfirst uses FindFirstFile under the hood: "If the function fails, the return value is INVALID_HANDLE_VALUE" - and that is not 1 but rather -1.

habran

Hi ToutEnMasm :biggrin:
I am happy that it works for you and I think that there is no harm to the rest of the code
If I ever encounter that error I will know what to do

Hi jj2007 :biggrin:
here is the answer on your question:

#if WILDCARDS
        if ((fh = _findfirst( Options.names[ASM], &finfo )) == -1 ) {
            DebugMsg(("main: _findfirst(%s) failed\n", Options.names[ASM] ));
            EmitErr( CANNOT_OPEN_FILE, Options.names[ASM], ErrnoStr() );
            break;
        }
        /* v2.12: _splitpath()/_makepath() removed */
        //_splitpath( Options.names[ASM], drv, dir, NULL, NULL );
        //DebugMsg(("main: _splitpath(%s): drv=\"%s\" dir=\"%s\"\n", Options.names[ASM], drv, dir ));
        pfn = GetFNamePart( Options.names[ASM] );
        dirsize = pfn - Options.names[ASM];
        memcpy( fname, Options.names[ASM], dirsize );
        do {
            /* v2.12: _splitpath()/_makepath() removed */
            //_makepath( fname, drv, dir, finfo.name, NULL );
            //DebugMsg(("main: _makepath(\"%s\", \"%s\", \"%s\")=\"%s\"\n", drv, dir, finfo.name, fname ));
            strcpy( &fname[dirsize], finfo.name );
            DebugMsg(("main: fname=%s\n", fname ));
            rc = AssembleModule( fname );  /* assemble 1 module */
        } while ( ( _findnext( fh, &finfo ) != -1 ) );
        _findclose( fh );
#else
        rc = AssembleModule( Options.names[ASM] );
#endif

don't you worry, there is nothing wrong with it ;)
Cod-Father

TouEnMasm


If i have no failure with the 64 bits source code now,stay:
Quote
.while TRUE
.............
.continue ;Fichiers.inc(837) : Error A2102: Symbol not defined : @C0000
.elseif  ...
.endw
It is a 32 bit source code compiled with the 64 bit version.
The source code for 32 bits do it,is it possible to do something ?.


Fa is a musical note to play with CL

habran

ToutEnMasm send me that source code and Fichiers.inc
BTW where did you get Fichiers.inc?
Cod-Father

TouEnMasm

The fichier.inc is one of my source code.

Here is a souce code to test .continue.
The first sources codes you have posted do no error on it.
If you need them,I can post them
Fa is a musical note to play with CL