News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Survey for 64-bit coders

Started by jj2007, July 14, 2023, 06:55:19 PM

Previous topic - Next topic

jj2007

Quote from: NoCforMe on July 16, 2023, 04:25:53 AM
But my question still remains, why would anyone want to not use includes?

I would vote for a compromise: create one include file for the 100 most frequently used API calls, the 100 most frequently used structures and the 100 most frequently used equates. That would be one 60kBytes file, roughly, and it would be sufficient for 99.9% of your projects.

The problem is there are no statistics on API/structures/equates usage :sad:

P.S.: JBasic covers over 14,000 API calls, but there are many more, of course.

NoCforMe

Wellll, for 32-bit stuff the MASM32 windows.inc file is 955K, and it seems to cover (almost) everything anyone would ever need. Why not have something like this for 64-bit as well? I assume people have done this already, right?
Assembly language programming should be fun. That's why I do it.

Mikl__

#17
x64
IDE:
Binaries:
  • Microsoft (R) Macro Assembler (x64) Version 14.33.31630.0 (taken from a Visual Studio installation)
  • Microsoft (R) Incremental Linker Version 14.33.31630.0 (taken from a Visual Studio installation)
  • Microsoft (R) Library Manager Version 14.33.31630 (taken from a Visual Studio installation)
  • Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336 (Windows Kits\10\bin\x64)
Support Files:
Debuggers:

wjr

- GoAsm (also has x86 compatible mode for 32-bit assembly using 64-bit source code), GoRC, GoLink, x64dbg / Pelles C, EmEditor
- include files self-built using my xlatHinc (needs updating to handle 'stuff' in newer SDKs), or Donkey's Headers (latest goes back to around 2013).
- no libraries, GoLink resolves external symbols using the export symbols in the DLLs

mabdelouahab

QuotePerhaps mabdelouahab may come back and correct or verify my assumptions?
you are right  :biggrin:
I suffered greatly from translation in lasmIDE  :sad:

tenkey

Editors:  from Visual Studio Community Edition 2022, Wordpad, Notepad
Assemblers:  ml64, uasm
Includes:  hand-typed, include64, WinInc
Debuggers: from Visual Studio Community Edition 2022, x64dbg

zedd151

Quote from: mabdelouahab on July 16, 2023, 09:23:29 PM
QuotePerhaps mabdelouahab may come back and correct or verify my assumptions?
you are right  :biggrin:
I suffered greatly from translation in lasmIDE  :sad:
:thumbsup:  I just saw this today.  :biggrin:
Now we know why we see you on the forum sometimes, but not posting a lot. (Mostly Windows program code, etc. here)

mabdelouahab

Quote from: zedd151 on July 19, 2023, 07:23:58 AM:thumbsup:  I just saw this today.  :biggrin:
Now we know why we see you on the forum sometimes, but not posting a lot. (Mostly Windows program code, etc. here)
:biggrin:

I have posted a lot in the past like AsmDotNet64 and Masm32Ref and lasmIDE Cross-platform, but I did not find anyone interested, so why should I exhaust myself?

HSE

Equations in Assembly: SmplMath

mikeburr

seem to have missed a whole lot of whats gone on in the last month or two
but

ide:
notepad++

binaries etc :
mix of stuff similar to that described by Mikl and bits of Masm64.sdk

debugger:
Radare

didnt know olly 64 bit existed

regards mikeb

mineiro

Editors: vi, nano, lasmIDE, Radasm, kate, mcedit.
Assemblers: uasm, jwasm, asmc, nasm, fasm, gas, solasm, masm, yasm, rosasm, tasm, ... . I tried all that I have seen.
Includes: windows, linux.
Debuggers: gdb, edb, radare2, Cutter, x64dbg, olly, ... .
Tools: grep, diff, wine (run windows programs in linux), h2incx, nm (export symbols from library, to quickly proto :vararg), objdump, gcc (to create some asm files (expand macros) from c source code and to preprocess some header files (defined constants)), ... .

qproto.sh
#!/bin/bash
export LC_ALL=C LANG=C

#if exist file tmp.tmp, delete file.
TMP=tmp.tmp
if test -f "$TMP"; then
    rm tmp.tmp
fi

#empty first argument
if [ -z "$1" ]
    then
    echo "no input library, please copy dynamic library to same folder:"
    echo "Usage:"
    echo "./qproto.sh library.so library.inc"
    echo "Example:"
    echo "./qproto.sh libc.so.6 libc.inc"
    exit 1
fi

#empy second argument
if [ -z "$2" ]
    then
    echo "no include filename"
    exit 1
fi


for file in "$1" ; do
    nm -D "$file" | while read num type name dummy ; do
        [ "$type" = "T" ] || continue
#        [ "$bind" = "GLOBAL" ] || continue
#        [ "$num" = "$[$num]" ] || continue
#        [ "$index" = "$[$index]" ] || continue
       
        case "$name" in *)
# line bellow remove suffix from function names that starts with @ like @GLIBC_2.2.5 from libc
            suffix="@"
            newname=${name/%$suffix*}
#echo function name to file tmp.tmp

            echo "${newname} proto :vararg" >> tmp.tmp
#            printf '%s proto :vararg\n' "$newname" > $2
#            printf '%s proto :vararg\n' "$name"
                    ;;
        esac
    done
   
done

#remove duplicates, some function names have different glibc version used only.
sort -u tmp.tmp > $2
rm tmp.tmp

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

daydreamer

Write code on linux and port to windows count as cross development ?
I do cross development ,typing in code on my  android tablet and assemble afterwards on pc
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

NoCforMe

No, I don't think that counts as cross-development. Just cross-editing.
Assembly language programming should be fun. That's why I do it.

mabdelouahab

Quote from: daydreamer on July 21, 2023, 02:44:53 PMWrite code on linux and port to windows count as cross development ?
I do cross development ,typing in code on my  android tablet and assemble afterwards on pc
Quote from: NoCforMe on July 21, 2023, 02:46:28 PMNo, I don't think that counts as cross-development. Just cross-editing.
I mean Cross-platform


Vortex

Hi mineiro,

QuoteAssemblers: uasm, jwasm, asmc, nasm, fasm, gas, solasm, masm, yasm, rosasm, tasm, .

Maybe I am missing something but Tasm does not offer any option to do 64-bit coding. It's limited only to 32-bit programming.