AsmPDP - PDP11 Assembler, Version 1.21 ====================================== J.G.Harston, 70 Camm Street, Walkley, Sheffield S6 3TR http://mdfs.net/Software/PDP11/Assembler Date: 30-Sep-2023 AsmPDP is a PDP11 assembler which will run on any platform capable of running BBC BASIC V, such as RISC OS, DOS, Windows and Unix. AsmPDP is also available as a precompiled executable for DOS/Windows. On running, various command line options can be given: AsmPDP [-a] [-v] [-Dlabel] [ [ []]] is the source file. This should be plain text. is the destination file to save the object code to. On RISC OS this will be filetyped to &1C5 "PDP11". If absent, the infile is assembled, but no outfile is created. is a file to output the assembler listing to. If absent, no listing file will be generated. On RISC OS this file will be filetyped to &FFF "Text". -Dlabel=value -Dlabel defines the label before assembling. Must be given before the filenames. If no =value is given, the label is set to -1. There can be several -D switches on the command line. -a if set, ADR pseudo-ops generate absolute addressing. -v if set, listing is displayed to screen. If no parameters are given, then AsmPDP prompts for them. On exit, the return value is set to any operating system error number if greater than 127, or to the number of errors found in the assembly source up to 127. Zero indicates a successful assembly with no errors. Source Format ------------- AsmPDP recognises the DEC opcodes and syntax detailed on the "PDP11 Programming Card", in "Assembly Language for the PDP11", Kapps & Stafford and in "Introduction to the PDP11 And Its Assembly Language", Frank. Opcodes can be upper or lower case. Comments start with ';' and carry on to the end of the line. Labels are declared with '.label' or 'label:' at the start of a line. Labels are case sensitive. As the BBC BASIC evaluator is used, labels cannot be BASIC commands or functions, eg 'PRINT' or 'TAN'. Use lower case or prefix with with additional characters, eg 'cmdPRINT'. Numeric values can be any valid value recognised by BBC BASIC. Hexadecimal constants start with &, octal constants start with &o, binary constants start with %. Character constants can be specified with 'x'. The current location counter can be found with '$' or 'P%'. Assembler directives -------------------- #define