ASMC(1)

NAME
asmc - Asmc Macro Assembler

SYNOPSIS
asmc [options] filename [ [options] filename] ... [-link link_options]

DESCRIPTION
Asmc Macro Assembler

OPTIONS

-{0|1|..|10}[p]
    Set CPU: 0=8086 (default), 1=80186, 2=80286, 3=80386, 4=80486, 5=Pentium,6=PPro,7=P2,8=P3,9=P4,10=x86-64. "p" allows privileged instructions.

-arch:option
    Specifies the architecture for code generation. Valid options are: IA32, SSE, SSE2, AVX, AVX2, and AVX512.

-assert
    Generate .assert code.

-autostack
    Calculate required stack space for arguments.

-bin
    Generate plain binary file.

-Blfilename
    Selects an alternate linker in filename

-c  Assembles only. Does no linking.

-Cs Push user registers before stack-frame is created in a proc.

-coff
    Generate COFF format object file.

-C{p|u|x}
    Set OPTION CASEMAP.

    -Cp Preserves case of all user identifiers.

    -Cu Maps all identifiers to upper case (default).

    -Cx Preserves case in public and extern symbols.

-Dsymbol[=value]
    Defines a text macro with the given name. If value is missing, it is blank. Multiple tokens separated by spaces must be enclosed in quotation marks.

-dotname
    Allows names of identifiers to begin with a period.

-enumber
    Set error limit to number.

-elf[64]
    Generate ELF object file.

    -elf
        Generate 32-bit ELF object file.

    -elf64
        Generate 64-bit ELF object file.

-endbr
    Insert ENDBR at function entry.

-EP Generates a preprocessed source listing (sent to STDOUT). See -Sf.

-eq Don't display error messages.

-Fd[file]
    Write import definition file.

-Fifile
    Force file to be included.

-Fl[filename]
    Generates an assembled code listing. See -Sf.

-Fofilename
    Names an object file. In case of wildcard '*' may be used for current file.

-fpc
    Disallow floating-point instructions.

-FPi
    Generates emulator fix-ups for floating-point arithmetic (mixed language only).

-FPi87
    80x87 instructions (default).

-fpic, -fno-pic
    Enables or disables the generation of position-independent code for ELF64. Default is -fno-pic.

-fpn
    Set FPU as n: 0=8087, 2=80287, 3=80387.

-frame
    Auto generate unwind information.

-Fwfilename
    Set errors file name.

-G{c|d|z|v|s}
    Pascal, C, Std/Vector/Sys-call.

    -Gc Specifies use of FORTRAN-style or Pascal-style function calling and naming conventions.

    -Gd Specifies use of C-style function calling and naming conventions.

    -Gz Specifies use of STDCALL-style function calling and naming conventions. Defines STDCALLSUPPORTED.

    -Gv Specifies use of VECTORCALL-style function calling and naming conventions.

    -Gs Specifies use of SYSCALL (System V)-style function calling and naming conventions.

-Ge Emit a conditional _chkstk() inside the prologue.

-help
    Displays a summary of Asmc command-line syntax and options.

-homeparams
    Forces parameters passed in registers to be written to their locations on the stack upon function entry.

-Ipathname
    Sets pathname for include file.

-idd[t]
    Assemble as binary data [or text].

    -idd
        Assemble source as binary data.

    -iddt
        Assemble source as text file.

-logo
    Print logo string and exit.

-m{t|s|c|m|l|h|f}
    Set memory model.

-mz Generate DOS MZ binary file.

-MD[d]
    Use for dynamic linking. Defines _MSVCRT. Also defines _DEBUG if "d" is added.

-MT[d]
    Use for static linking. Defines _MT. Also defines _DEBUG if "d" is added.

-ncname
    Set class name of code segment as name.

-ndname
    Set name of data segment as name.

-nmname
    Set name of module as name.

-ntname
    Set name of text segment as name.

-nolib
    Ignore INCLUDELIB directive.

-pe{c|g|d}
    Generate PE binary file, 32/64-bit. c=CUI(default), g=GUI, d=DLL.

-q  Suppresses messages for successful assembly.

-nologo
    Suppress copyright message.

-r  Recurse subdirectories with use of wildcards.

-Sa Turns on listing of all available information.

-safeseh
    Marks the object as either containing no exception handlers or containing exception handlers that are all declared with SAFESEH.

-Sf Adds first-pass listing to listing file.

-Sg Turns on listing of assembly-generated code.

-Sn Turns off symbol table when producing a listing.

-Spn
    Set segment alignment as n.

-stackalign
    Align stack variables to 16-byte.

-sysvregs
    Ignore RDI and RSI in USES for Linux64.

-Sx Turns on false conditionals in listing.

-w  Same as -W0 -WX.

-Wlevel
    Sets the warning level, where level = 0, 1, 2, or 3.

-win64
    Generate 64-bit COFF object. Defines _WIN64.

-wsCodePage
    Store quoted CodePage as Unicode. Defines _UNICODE.

-WX Treat all warnings as errors.

-X  Ignore INCLUDE environment path.

-Z7 Add full symbolic debugging information.

-zcw
    No decoration for C symbols.

-Zd Generates line-number information in object file.

-Zf Make all symbols public.

-zf{0|1}
    Set FASTCALL type: MS/OW.

-Zg Generate code to match Masm.

-Zi{0|1|2|3}{|5|8}
    Add symbolic debugging information.

-zlc
    No OMF records of data in code.

-zld
    No OMF records of far call.

-Zm Enable MASM 5.10 compatibility.

-Zv8
    Enable Masm v8+ PROC visibility.

-Zne
    Disable syntax extensions not supported and enable syntax supported by Masm.

-zl{f|p|s}
    Suppress items in COFF

    -zlf
        Suppress items in COFF: No file entry.

    -zlp
        Suppress items in COFF: No static procs.

    -zls
        Suppress items in COFF: No section aux entry.

-Zp[alignment]
    Packs structures of the specified byte boundary by alignment.

-Zs Perform syntax check only.

-zt{0|1|2}
    Set STDCALL decoration: FULL (default), NONE, and HALF.

-zze
    No export symbol decoration.

-zzs
    Store name of start address.

COPYRIGHT
Copyright (C) 2011-2025 The Asmc Contributors.

SEE ALSO

Online manual
    https://github.com/nidud/asmc/blob/master/readme.md

asmc_linux
    https://github.com/nidud/asmc_linux

asmc
    https://github.com/nidud/asmc