Advertisement
luckytyphlosion

--agbasm-help

Mar 6th, 2019
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1.  
  2. --agbasm enable all agbasm features except --agbasm-debug
  3.  
  4. --agbasm-debug FILE
  5. enable agbasm debug info. Outputs miscellaneous debugging print
  6. statements to the specified file. ("printf debugging")
  7.  
  8. --agbasm-colonless-labels
  9. enable agbasm colonless labels. This allows defining labels
  10. without a colon at the end if the label is in column
  11. zero and ends with a newline (after optional whitespace).
  12. If the label does not end with a newline, then an error is
  13. thrown and the label is assumed to be a statement.
  14.  
  15. --agbasm-colon-defined-global-labels
  16. enable agbasm colon defined global labels. This allows setting
  17. a label as global on definition by following the label name
  18. with two colons, as opposed to one (e.g. `label::').
  19.  
  20. --agbasm-local-labels
  21. enable agbasm local labels. These are like dollar local
  22. labels (as in they go out of scope when a non-local label
  23. is defined), but are not limited to a number as the label
  24. name. An agbasm local label is prefixed (and thus defined)
  25. with `.'. Internally, an agbasm local label is actually
  26. just a concatenation of the most recently defined
  27. non-local label and the local label (including the prefix).
  28. This gives us a safe way to canonicalize local label names
  29. so that they can be exported for debug information. This
  30. also means that local labels can be referenced outside
  31. of their scope by using the canonicalized label name.
  32. Note that agbasm local labels are NOT local symbols by
  33. default.
  34.  
  35. --agbasm-multiline-macros
  36. enable agbasm multiline macros. This allows the use of
  37. a macro to span across multiple lines, by placing a `['
  38. after the macro name, and then placing a `]' once all
  39. macro arguments have been defined, e.g.
  40.  
  41. my_macro [
  42. arg_1=FOO,
  43. arg_2=BAR
  44. ]
  45.  
  46. The opening character (`[') must be defined before any
  47. macro arguments are specified. Arguments can be defined
  48. on the same line as the opening character with optional
  49. whitespace in-between the opening character and the starting
  50. argument, e.g.:
  51.  
  52. my_macro [arg_1=FOO,
  53. arg_2=BAR
  54. ]
  55.  
  56. The closing character (`]') can be defined in one of
  57. two ways:
  58. - After the last argument, a comma is placed (to indicate
  59. the end of the argument), followed by optional whitespace
  60. and then the closing character, e.g.:
  61.  
  62. my_macro [
  63. FOO, ]
  64.  
  65. - On a single line by itself (supposedly after the last
  66. argument has been defined) with no non-whitespace characters
  67. before or after it, e.g.:
  68.  
  69. my_macro [
  70. FOO
  71. ]
  72.  
  73. Note that the first method **requires** a comma before the
  74. closing character, while the second method does not require
  75. the closing character. This is due to the inherent design
  76. of how macro arguments are parsed, which may be explained
  77. here in the future.
  78.  
  79. A comma should be inserted after the last argument for each
  80. line (except as mentioned above in the second closing character
  81. method), otherwise a warning is generated. It is
  82. recommended to not ignore these warnings as they can
  83. be an indicator of a missing closing character, as most
  84. directives do not end with a comma.
  85.  
  86. --agbasm-help show this message and exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement