# AsmPro ## Setup * Get AsmPro from Aminet: * [Version 1.18](http://aminet.net/package/dev/asm/AsmPro1.18src) * [Update for version 1.19c](http://aminet.net/package/dev/asm/AsmPro1.18src) * Extract version 1.18 to your hard drive * Extract the binary for version 1.19c and replace the original binary * Edit `S:User-Startup`: ``` ; BEGIN AsmPro ASSIGN AsmPro: ; END AsmPro ``` ## Manual * The [Asm-One manual](https://archive.org/details/AsmOne1.02Manual/page/n61/mode/2up?q=section) will get you 90% of the way there. ## Gotchas ### exec/memory.i and BITDEF If you include a file that uses `BITDEF` like `exec/memory.i`, you'll be unable to use `\@` in macros. * http://eab.abime.net/showpost.php?p=1589011&postcount=26 > Unique number generator used for \@ is a simple ctr++, and since the system includes are protected from multi-including (the usual #ifdef stuff), they are only evaluated in pass1. In pass2+, since all the values are defined, ctr++ is not executed the same number of times (it's reset to 0 at the start of every pass to ensure everything is in sync, but everything isn't in sync :P ) all those anonymous labels are consequently different and symbols are not found.