Author Topic: UASM 2.52  (Read 2280 times)

2B||!2B

  • Member
  • **
  • Posts: 85
Re: UASM 2.52
« Reply #15 on: April 09, 2021, 11:06:19 AM »
Hi johnsa,

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

tenkey

  • Regular Member
  • *
  • Posts: 39
Re: UASM 2.52
« Reply #16 on: April 09, 2021, 11:25:46 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

  • Member
  • *****
  • Posts: 1805
    • EditMasm
Re: UASM 2.52
« Reply #17 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
Fa is a musical note to play with CL

mabdelouahab

  • Member
  • ***
  • Posts: 494
Re: UASM 2.52
« Reply #18 on: April 19, 2021, 06:53:39 AM »
hi johnsa
I can't build it (Linux):
Quote
dbgcv.c:20:10: fatal error: 'direct.h' file not found
#include <direct.h>

johnsa

  • Member
  • ****
  • Posts: 844
    • Uasm
Re: UASM 2.52
« Reply #19 on: April 19, 2021, 07:03:42 AM »
Thanks for the spot, I'll check it out!

jj2007

  • Member
  • *****
  • Posts: 11551
  • Assembler is fun ;-)
    • MasmBasic
Re: UASM 2.52
« Reply #20 on: April 19, 2021, 08:43:24 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

  • Member
  • *****
  • Posts: 1805
    • EditMasm
Re: UASM 2.52
« Reply #21 on: April 19, 2021, 03:53:37 PM »
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

  • Member
  • *****
  • Posts: 11551
  • Assembler is fun ;-)
    • MasmBasic
Re: UASM 2.52
« Reply #22 on: April 19, 2021, 05:25:40 PM »
Thanks, Yves, interesting. For comparison, below the x64 view of...
Code: [Select]
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

  • Member
  • ****
  • Posts: 922
Re: UASM 2.52
« Reply #23 on: May 05, 2021, 08:29:58 PM »
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

  • Regular Member
  • *
  • Posts: 39
Re: UASM 2.52
« Reply #24 on: May 18, 2021, 08:31:50 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: [Select]
.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:

Code: [Select]
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.