]> git.sur5r.net Git - cc65/commitdiff
Added the new .ASSERT command
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 6 Jun 2003 21:09:20 +0000 (21:09 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 6 Jun 2003 21:09:20 +0000 (21:09 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2204 b7a2c559-68d2-44c3-8de9-860c34a00d81

doc/ca65.sgml

index f08fe8f67efc0a20c11af3571bfdd6e5cccbe96c..8e253661714b21f955ed83b00473d7fb1b96c5ab 100644 (file)
@@ -689,6 +689,28 @@ Here's a list of all control commands and a description, what they do:
   the binary zero is only appended once (after the last one).
 
 
+<sect1><tt>.ASSERT</tt><label id=".ASSERT"><p>
+
+  Add an assertion. The command is followed by an expression, an action
+  specifier and a message that is output in case the assertion fails. The
+  action specifier may be one of <tt/warning/ or <tt/error/. The assertion
+  is passed to the linker and will be evaluated when segment placement has
+  been done.
+
+  Example:
+
+  <tscreen><verb>
+               .assert         * = $8000, error, "Code not at $8000"
+  </verb></tscreen>
+
+  The example assertion will check that the current location is at $8000,
+  when the output file is written, and abort with an error if this is not
+  the case. More complex expressions are possible. The action specifier
+  <tt/warning/ outputs a warning, while the <tt/error/ specifier outputs
+  an error message. In the latter case, generation if the output file is
+  suppressed.
+
+
 <sect1><tt>.AUTOIMPORT</tt><label id=".AUTOIMPORT"><p>
 
   Is followed by a plus or a minus character. When switched on (using a
@@ -762,7 +784,7 @@ Here's a list of all control commands and a description, what they do:
   Example:
 
   <tscreen><verb>
-               .case   -               ; Identifiers are not case sensitive
+               .case   -               ; Identifiers are not case sensitive
   </verb></tscreen>