Reference

asmc(1)

Asmc Macro Assembler

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.

-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.

-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⟩