News:

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

Main Menu

UASM 2.56 is available

Started by johnsa, October 26, 2022, 07:21:22 AM

Previous topic - Next topic

lucho


lucho


lucho


johnsa

Big thanks for the archives! I will package those up and add them to the site!

I had though about ARM/ARM64 support before, it's so fundamentally different and UASM has so much x86 specific stuff in it that we might as well build a totally new assembler for it. That would be a big job, and I have to say the existing ARM assemblers are awful, it could certainly be made a lot easier with a decent ASM that has proper invoke/HLL/stack-frame support etc.

TimoVJL

Big thanks John
Its important to have an UAsm, to share best ways for special purboses, where C won't ever serve in best way :thumbsup:
May the source be with you

mineiro

Hello sir johnsa; I faced a problem.
Code bellow worked in version 255 but not in 256, please, can you check. Thanks.
Linux x86_64, stack unbalanced.

;uasm -elf64 test.asm
;gcc test.o -no-pie -fno-pie -lc -o test
;./test
.X64
option casemap:none

InitializeRandoms proto
srand proto :dword
exit proto :dword

.code
main proc uses rbx rbp r12 r13 r14 r15 _argc:dword,_argv:ptr

local argc:dword
local argv:ptr

mov argc,_argc
mov argv,_argv

invoke InitializeRandoms
invoke exit,0
main endp

;-------------------------------------------------------------
;no locals
align 16
InitializeRandoms proc
;sub rsp,8 ok
    invoke srand,4711
    ;add rsp,8 !!!    <--------------|
ret
InitializeRandoms endp
;-------------------------------------------------------------

end main

I do not have a github account, so, I'm posting here.
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

johnsa

Thanks, will check it out. I made some changes to correct a few other issues with Linux stack balancing, so this might be a regression there.

mineiro

I'd rather be this ambulant metamorphosis than to have that old opinion about everything