uasm 1.0.9+2.57

A library to build the UASM compiler, for usage in build scripts.
Documentation
.xmm
option casemap:none 
option dotname      
option frame:auto   
option win64:8      
option stackbase:rsp

.code

Test1 proc Arg1:QWORD, Arg2: QWORD
    mov r10, Arg1
    mov r11, Arg2
    ret
Test1 endp

Test2 proc Arg1:DWORD, Arg2:QWORD
    mov r10d, Arg1
    mov r11, Arg2
    ret
Test2 endp


start proc uses rbx
    invoke Test1, rdx, rcx
    invoke Test1, rdx, ecx
    invoke Test1, SDWORD PTR edx, rcx
    invoke Test1, edx, ecx

    invoke Test2, edx, rcx
    invoke Test2, edx, rcx

    ret
start endp


end start

;reported by biterider Dec 19th 2017 - rdx/rcx not detecting overwritten registers when only using a sub-register.
;issue is actually that we're allowing a 32bit register to be passed to a 64bit parameter, invoke.c line 1258.
;this feature was added in jwasm 2.11, allow argument extension.. but it doesn't flag the parent register.