view portasm/README.txt @ 542:a73a5cd50c19

- fix passing aggregate-by-val on x64/sysv: subaggr classification for aggr *arrays* was wrong (was problematic when there ware exactly 2 8bytes to be classified, potentially be passed via registers)
author Tassilo Philipp
date Mon, 02 May 2022 15:32:41 +0200
parents ab2d78e48ca2
children cab0031c6691
line wrap: on
line source

portasm - a toolkit for writing portable generic assembler sources 
------------------------------------------------------------------

Copyright (C) 2011 Daniel Adler <dadler@uni-goettingen.de>.
Licensed under BSD two-clause license.


Requirements
------------
- C Preprocessor


Supported Architectures and Tool-chains:
----------------------------------------

- x86: gas, apple as, masm
- x64: gas, apple as, masm
- ppc: gas, apple as
- arm: gas, apple as


Usage:
------

Implement assembler sources in *.S files which use C preprocessor.
#include portasm-<ARCH>.S at front

In order to generate MASM files for X86 and X64, run 
  'gen-masm.sh <name> [<outsuffix>]' script which reads <name>.S and outputs <name><outsuffix>.masm file.


Common Macros:
--------------

BEGIN_ASM
END_ASM
BEGIN_PROC(name)
END_PROC(name)
GLOBAL(name)
HEX(value)