Author Topic: UASM 2.46 Release  (Read 556 times)

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #15 on: December 05, 2017, 08:33:19 PM »
jj, can you try assemble it using -nomlib command line option ?

jj2007

  • Member
  • *****
  • Posts: 7730
  • Assembler is fun ;-)
    • MasmBasic
Re: UASM 2.46 Release
« Reply #16 on: December 05, 2017, 09:34:20 PM »
jj, can you try assemble it using -nomlib command line option ?

No effect, linker chokes at exactly the same location as before. Sorry... :icon14:

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #17 on: December 05, 2017, 09:52:42 PM »
Hmm.. ok I was thinking perhaps the pre-processor additions were swallowing those lines for some reason, as nothing has been touched in extern/coff/obj output at all to warrant this sudden issue.

How do you declare the extern ? Maybe there is something else specific about the line

jj2007

  • Member
  • *****
  • Posts: 7730
  • Assembler is fun ;-)
    • MasmBasic
Re: UASM 2.46 Release
« Reply #18 on: December 05, 2017, 10:27:05 PM »
How do you declare the extern ? Maybe there is something else specific about the line

It is interesting that these vars are missing, have look here:
Code: [Select]
extern _DllTable: dword           extern _DllTable: dword   
extern _MbFH: dword               extern _MbFH: dword       
extern _MbExeFolder$: dword                                 
extern _Dw2BinBuffer: byte        extern _Dw2BinBuffer: byte
extern _wfd: dword                                           
extern _MbCat$: dword             extern _MbCat$: dword     
extern _hSetWin: dword            extern _hSetWin: dword     
extern _CrLf$: dword                                         
extern _Lf$: dword                extern _Lf$: dword         

It's all in MasmBasic.inc:
Code: [Select]
ExternDef MbExeFolder$:DWORD
ExternDef MbFH:DWORD
ExternDef DllTable:DWORD
ExternDef MbCat$:DWORD
ExternDef wfd:WIN32_FIND_DATAW
ExternDef hSetWin:DWORD
ExternDef Cr$:DWORD
ExternDef Lf$:DWORD
ExternDef CrLf$:DWORD
ExternDef Dw2BinBuffer:DWORD
etc...
Code: [Select]
align 4 ; end of MbDATA
.data ; common initialised data
align 4
CrLf$ dd CrLf_txt ; pointer to 0D0A
Cr$ dd Cr_txt ; chr(13)
Lf$ dd Lf_txt ; chr(10)
Tb$ dd Tab_txt ; chr(9)
MbExeFolder$ dd MbExFoBuf
MbDefNum dd 7 ; f2sPrec
MbError$ dd mcErrBuf

Nothing unusual; and it works with ML, UAsm 2.45 and earlier, AsmC, linkv615, linkv9, polink...

Vortex

  • Member
  • *****
  • Posts: 1723
Re: UASM 2.46 Release
« Reply #19 on: December 06, 2017, 05:17:36 AM »
Hi habran and johnsa

Testing the example below, I get the following error message :

Code: [Select]
.386
.model flat,stdcall
option casemap:none

include     \masm32\include\windows.inc
include     \masm32\include\kernel32.inc
include     \masm32\include\user32.inc

includelib  \masm32\lib\kernel32.lib
includelib  \masm32\lib\user32.lib
includelib  \masm32\lib\msvcrt.lib

printf      PROTO C :DWORD,:VARARG
sum         PROTO :DWORD,:DWORD

.data

str1        db '%u',0

.code

start:

    sum(90,sum(20,10))
    printf( ADDR str1,sum( 80,20 ) )
    invoke  ExitProcess,0

sum PROC x:DWORD,y:DWORD

    mov     eax,x
    add     eax,y
    ret

sum ENDP

END start

Code: [Select]
UASM v2.46, Dec  4 2017, Masm-compatible assembler.
Portions Copyright (c) 1992-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.


***********
ASCII build
***********

Test.asm(24) : Error A2178: Too many arguments to INVOKE
Test.asm(25) : Error A2228: Missing right parenthesis in expression
Test.asm(25) : Error A2102: Symbol not defined : arginvoke
Test.asm(25) : Error A2210: Syntax error: )
Test.asm: 36 lines, 1 passes, 264 ms, 0 warnings, 4 errors

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #20 on: December 06, 2017, 11:04:30 AM »
Mea culpa.. I completely forgot to add 32bit version ...  :icon_redface:
I'm adding in the 32bit macros now and have added in additional tests to the automated tests for these, will have that ready tomorrow :)
I also have an idea what might be causing the issue for JJ, it's not confirmed it's only a suspicion, fingers crossed though.

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #21 on: December 08, 2017, 03:12:44 AM »
x86/x64 packages updated with the fix for the issue JJ was experiencing.

Vortex, I've added the 32bit macros in now so your example works, it's also included as a regression test-case now and I've taken it one step further with a 2nd test case as follows:

Code: [Select]

.686p
.mmx
.xmm
.model flat,stdcall
option casemap:none
option literals:on

include     c:\masm32\include\windows.inc
include     c:\masm32\include\kernel32.inc
include     c:\masm32\include\user32.inc

includelib  c:\masm32\lib\kernel32.lib
includelib  c:\masm32\lib\user32.lib
includelib  c:\masm32\lib\msvcrt.lib

printf      PROTO C :PTR, :VARARG
sum         PROTO :DWORD, :DWORD
sumAsFlt    PROTO REAL4 :DWORD, :DWORD

.data

str1        db '%u',13,10,0
str2        db '%f',13,10,0

.code

start:

    sum( 90, sum( 20, 10 ) )
    printf( ADDR str1, sum( 80, 20 ) )
    printf( ADDR str2, 1.0 )
    printf( "%f\n", sumAsFlt( 20, 30 ) )

    invoke  ExitProcess,0

sum PROC x:DWORD, y:DWORD
    mov eax,x
    add eax,y
    ret
sum ENDP

sumAsFlt PROC REAL4 x:DWORD, y:DWORD
mov eax,x
add eax,y
cvtsi2ss xmm0,eax
ret
sumAsFlt ENDP

END start


LiaoMi

  • Member
  • **
  • Posts: 162
Re: UASM 2.46 Release
« Reply #22 on: December 08, 2017, 03:42:55 AM »
the site is not available  :icon_eek: tried it from different countries

Quote
This site can’t be reached

www.terraspace.co.uk’s server DNS address could not be found.
Search Google for terraspace co uk uasm
ERR_NAME_NOT_RESOLVED

Quote
Unable to connect

Firefox can’t establish a connection to the server at www.terraspace.co.uk.

    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer’s network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Tor Browser is permitted to access the Web.

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #23 on: December 08, 2017, 03:59:04 AM »
F'ing hosting companies... it says the domain has expired on WHOIS, yet on their control panel it's paid up for another 2 years... wtf... time to fight

GoneFishing

  • Member
  • ****
  • Posts: 965
  • Gone fishing
Re: UASM 2.46 Release
« Reply #24 on: December 08, 2017, 04:40:22 AM »
Good sign
Looks like you've been noticed
Congrats and Take care

aw27

  • Member
  • ****
  • Posts: 852
  • Let's Make ASM Great Again!
Re: UASM 2.46 Release
« Reply #25 on: December 08, 2017, 05:39:13 AM »
F'ing hosting companies... it says the domain has expired on WHOIS, yet on their control panel it's paid up for another 2 years... wtf... time to fight
After experimenting with many others, I am using contabo.com (they are German  :bgrin:) and am happy for the last couple of years. They have plans starting from a couple of bucks per month.
My plan is a VPS with windows and 2 extra IP, 1000 GB storage space, 4 cores, 14 GB RAM - all about 20 euro/month.

Vortex

  • Member
  • *****
  • Posts: 1723
Re: UASM 2.46 Release
« Reply #26 on: December 08, 2017, 06:34:48 AM »
Hi johnsa,

Thanks for your efforts. I will wait for your site to be online so no worries. I know that those hosting companies can sometimes be real headaches. Take your time to fix the hosting issue and thanks again.

jj2007

  • Member
  • *****
  • Posts: 7730
  • Assembler is fun ;-)
    • MasmBasic
Re: UASM 2.46 Release
« Reply #27 on: December 08, 2017, 06:58:28 AM »
John,
Easiest solution: Zip up the exe only and post it here temporarily.

fearless

  • Member
  • ***
  • Posts: 279
    • LetTheLightIn
Re: UASM 2.46 Release
« Reply #28 on: December 08, 2017, 07:41:14 AM »
Why not just mirror the package releases on github? create a 'releases' folder on the main repo, put stuff in there and/or additionally add a 'Latest Release' on the releases page and have the packages linked there to the releases folder

Releases page:

tag: latest
Title: Latest Releases

Code: [Select]
## UASM
![uasm246_x64.zip](https://github.com/Terraspace/UASM/blob/master/releases/uasm246_x64.zip?raw=true)
![uasm246_x86.zip](https://github.com/Terraspace/UASM/blob/master/releases/uasm246_x86.zip?raw=true)

?raw=true in the url allows the file to be downloaded rather than github redirecting to the file and trying to display it then failing - because its binary and cant display raw.

Also you can create a github page - terraspace.github.io or uasm.github.io to mirror most of the information on terraspace.co.uk: see https://pages.github.com/ for details
fearless

CM690II Case, HX1000 PSU, Asus Z97, Intel i7-4790K, Seidon 120v Cooler, 16GB DDR3, MSI GTX 980TI, Samsung 256GB + 1TB SSD, WD Black 2TB x2 + 4TB HDD, Asus 27" LCD

www.LetTheLight.in  My Github

johnsa

  • Member
  • ****
  • Posts: 581
    • Uasm
Re: UASM 2.46 Release
« Reply #29 on: December 08, 2017, 08:34:46 AM »
I'd thought about, it's useful to have the extra copy of the page and information on github directly with releases... I shall do that :)