SUMMARY="Portable and retargetable assembler" DESCRIPTION="vasm is a portable and retargetable assembler to create linkable \ objects in various formats or absolute code. Multiple CPU-, syntax and \ output-modules can be selected. Many common directives/pseudo-opcodes are supported (depending on the syntax \ module) as well as CPU-specific extensions. The assembler supports optimizations (e.g. choosing the shortest possible \ branch instruction or addressing mode) and relaxations (e.g. converting a \ branch to an absolute jump when necessary). Most syntax modules support macros, include directives, repetitions, \ conditional assembly and local symbols. Currently the following CPUs are officially supported by vasm: * M680x0 family (including M6888x, M68851 and CPU32) * ColdFire family (all models of V2, V3, V4, V4e) * PowerPC family (POWER, 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 and e500) * Z80 family (Z80, 8080, GBZ80, 64180, RCM2/3/4k) * 6502 family * Jaguar RISC (GPU and DSP instruction sets) * ARM (architecture ARMv1 to ARMv4, including THUMB mode) * 80x86 family (IA32 8/16/32 bit, using MIT-syntax) * C16x/ST10 * 6800 family (6800, 6801, 6803, 68HC11) * QNICE (elegant 16-bit FPGA CPU) * TR3200 (virtual CPU from 0x10c) * Raspberry-Pi VideoCore IV These syntax flavours are supported: * Standard MIT (GNU-as style) syntax * Motorola/Freescale 68k syntax (Devpac compatible) * Atari MadMac syntax (6502, 68k, Jaguar) * Old 8-bit style syntax Supported output file formats: * ELF (M68k, PowerPC, i386, ARM and JRISC) * a.out (M68k and i386) * Amiga hunk format (M68k) * TOS executable format (M68k) * EHF extended hunk format (PowerPC) * Raw, binary output (all) * VOBJ proprietary versatile object format (all) * Test, debugging output (all)" HOMEPAGE="http://sun.hasenbraten.de/vasm/" COPYRIGHT="2002-2017 Volker Barthelmann" LICENSE="vasm" REVISION="1" SOURCE_URI="https://server.owl.de/~frank/tags/vasm1_8e.tar.gz" CHECKSUM_SHA256="5f1ebb8b81d2d9664e5c2646f1abbc5fb795642ed117f55e84a66590a62760ff" SOURCE_DIR="vasm" ARCHITECTURES="x86_gcc2" PROVIDES=" vasm = $portVersion cmd:vasmz80_oldstyle cmd:vasm6800_oldstyle cmd:vobjdump " REQUIRES=" haiku " BUILD_REQUIRES=" haiku_devel " BUILD_PREREQUIRES=" cmd:gcc cmd:make " BUILD() { make -f Makefile.Haiku $jobArgs CPU=z80 SYNTAX=oldstyle make -f Makefile.Haiku $jobArgs CPU=6800 SYNTAX=oldstyle # TODO add other cpu/syntax pairs as needed (not all of them make sense) } INSTALL() { mkdir $binDir cp vasmz80_oldstyle $binDir cp vasm6800_oldstyle $binDir cp vobjdump $binDir }