Add an initial README to zilasm
[zilutils.git] / zilasm / README.md
diff --git a/zilasm/README.md b/zilasm/README.md
new file mode 100644 (file)
index 0000000..fe17cd4
--- /dev/null
@@ -0,0 +1,58 @@
+zilasm is an assembler that targets the Z-Machine. It is the default 
+assembler used by zilc.
+
+General syntax
+==============
+
+Files processed by zilasm consist of instructions and directives, one 
+per line.
+
+Comments begin with ; and continue until end of line. Comments are 
+ignored by the assembler.
+
+Instructions
+------------
+
+Instruction Number Meaning 
+----------- ------ ----------------------------------------------------
+PRINTI      178    Prints a string.
+QUIT        186    Terminates program execution.
+
+Directives
+----------
+
+zilasm uses directives which are instructions to the assembler itself. 
+To distinguish them from instructions, directives begin with a period.
+
+Directive  Meaning
+--------- -------------------------------------------------------------
+.END      Signifies the end of the program and terminates assembly. 
+          End-of-file (EOF) is also treated as the end of the program.
+
+.FUNCT    Defines a function, which is a group of instructions. A 
+          function name, separated from the directive by space or tab, 
+          is also required. The function name may be optionally 
+          followed by a comma and include comma-separated argument 
+          list. A blank line, the .END directive or end-of-file (EOF) 
+          all indicate the end of the function.
+
+Licensing
+=========
+
+This file is part of ZilUtils/ZilAsm
+
+You can redistribute and/or modify this file under the terms of the 
+GNU Affero General Public License as published by the Free Software 
+Foundation, either version 3 of the license, or (at your option) any 
+later version.
+
+This file is distributed in the hope that it will be useful, but 
+WITHOUT ANY WARRANTY; without even the implied warranty of 
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
+Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public 
+License along with this file. If not, see 
+<http://www.gnu.org/licenses/>
+
+\$-- SPDX-License-Identifier: AGPL-3.0-or-later