News:

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

Main Menu

UASM 2.52

Started by johnsa, April 03, 2021, 03:12:03 AM

Previous topic - Next topic

2B||!2B

Hi johnsa,

Thanks for the update. Did you also add the unreferenced symbols removal with the use of option /OPT:REF ?

tenkey

Quote from: johnsa on April 09, 2021, 02:14:35 AM
Are you talking about UASM or the derivative work? These files don't exist in UASM... hence my previous concern over confusion having different people building and release under the same name.
I think it's UASM. Those files exist in the repository at your link to github.com/Terraspace/UASM. Including the VS2019 solution and project files in the build folder. I've downloaded the master and the 2.52 branch. I'm assuming you're the one updating that repository, on account of your link. I may need to get newer versions, now that I've taken another look at the repository.

TouEnMasm

Today is a good day.It's the first time I can debug in source mode with windbg a 64 bit prog.
:thumbsup:

/c /nologo /coff /Zi8 /Zd on windows 10
Fa is a musical note to play with CL

mabdelouahab

hi johnsa
I can't build it (Linux):
Quotedbgcv.c:20:10: fatal error: 'direct.h' file not found
#include <direct.h>

johnsa

Thanks for the spot, I'll check it out!

jj2007

Quote from: TouEnMasm on April 19, 2021, 03:23:46 AM
Today is a good day.It's the first time I can debug in source mode with windbg a 64 bit prog.
:thumbsup:

/c /nologo /coff /Zi8 /Zd on windows 10

Can you post a screenshot? I am curious...

TouEnMasm

Hello,

Here the option for link          NOLOGO /SUBSYSTEM:WINDOWS /LARGEADDRESSAWARE /DEBUG:FASTLINK /debugtype:cv
                        for uasm      /c /nologo /coff /Zi8 /Zd

I am not sure they are the best,some chance is needed.
Fa is a musical note to play with CL

jj2007

Thanks, Yves, interesting. For comparison, below the x64 view of...
WinMain proc
LOCAL msg:MSG
  wc equ [rbx.WNDCLASSEX] ; we use an equate for better readability
  int 3
  lea rbx, wcx
  mov wc.hInstance, rv(GetModuleHandle, 0)
  mov wc.hIcon, rv(LoadIcon, rax, IDI_APPLICATION) ; click on the first Rsrc bookmark to change the icon
  mov wc.hIconSm, rax ; the rv macro returns results in rax
  mov wc.hCursor, rv(LoadCursor, NULL, IDC_ARROW) ; get a cursor
  jinvoke RegisterClassEx, rbx ; the window class needs to be registered


The x64 interface is clearly inspired by Oleh Yuschuk alias Olly.


LiaoMi

Hi John,

UASM 2.49 (Linux 64bit)   21/06/2019   uasm249_linux64.zip   64bit Linux Executable (GCC)
UASM 2.47 (OSX Universal)   17/11/2018   uasm247_osx.zip   64bit OSX Executable (GCC)

Not Found
The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

tenkey

Quote from: lucho on May 02, 2021, 04:10:58 AM
Thank you for working on UASM! I could build it OK, but an old bug that was present also in the old version 2.49 is still there. The following code

.code
tst proc
.for (eax = 0: edx == 0: )
nop
.endfor
tst endp
end


when built with "uasm -elf -3 -mf -Fl -Sa test.s", results in this listing:

test.s
                            *   .model FLAT
00000000                    *   _TEXT segment DWORD FLAT PUBLIC 'CODE'
                            *   _TEXT ends
00000000                    *   _DATA segment DWORD FLAT PUBLIC 'DATA'
                            *   _DATA ends
                            *   assume cs:flat,ds:flat,ss:flat,es:flat,fs:ERROR,gs:ERROR
                                .code
00000000                    *   _TEXT segment
                            *   assume cs:FLAT
00000000                        tst proc
00000000                                .for (eax = 0: edx == 0: )
00000000  33C0              *    xor  eax, eax
00000002                    *   @C0001:
00000002  90                                    nop
00000003                                .endfor
00000003  EBFD              *    jmp @C0001
00000005                        tst endp
                                end
00000005                    *   _TEXT ends


As you see, there is no check for the condition.

The bug must be in the "hll.c" file

Here's a version of hll.c for the Terraspace UASM code base that fixes the problem.