rmac.1 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. .\" Man page generated from reStructuredText.
  2. .
  3. .
  4. .nr rst2man-indent-level 0
  5. .
  6. .de1 rstReportMargin
  7. \\$1 \\n[an-margin]
  8. level \\n[rst2man-indent-level]
  9. level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
  10. -
  11. \\n[rst2man-indent0]
  12. \\n[rst2man-indent1]
  13. \\n[rst2man-indent2]
  14. ..
  15. .de1 INDENT
  16. .\" .rstReportMargin pre:
  17. . RS \\$1
  18. . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
  19. . nr rst2man-indent-level +1
  20. .\" .rstReportMargin post:
  21. ..
  22. .de UNINDENT
  23. . RE
  24. .\" indent \\n[an-margin]
  25. .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
  26. .nr rst2man-indent-level -1
  27. .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
  28. .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
  29. ..
  30. .TH "RMAC" 1 "2023-01-03" "2.2.14_20221221" "SlackBuilds.org"
  31. .SH NAME
  32. rmac \- 68000 and 6502 cross assembler
  33. .\" RST source for rmac(1) man page. Convert with:
  34. .
  35. .\" rst2man.py rmac.rst > rmac.1
  36. .
  37. .\" rst2man.py comes from the SBo development/docutils package.
  38. .
  39. .SH SYNOPSIS
  40. .sp
  41. rmac [\fI\-options\fP] \fIsource\-file\fP [\fIsource\-file ...\fP]
  42. .SH DESCRIPTION
  43. .sp
  44. RMAC began its life as MADMAC. It was initially written at Atari
  45. Corporation by programmers who needed a high performance assembler for
  46. their work. Then, more than 20 years later, because there was still a need
  47. for such an assembler and what was available wasn\(aqt up to expectations,
  48. Subqmod and eventually Reboot continued work on the freely released
  49. source, adding Jaguar extensions and fixing bugs. And of course recently
  50. 6502 support was added back!
  51. .SH OPTIONS
  52. .sp
  53. \-dname\fI[=value]\fP Define symbol, with optional value.
  54. .sp
  55. \-e\fI[file[.err]]\fP Direct error messages to the specified file.
  56. .INDENT 0.0
  57. .TP
  58. .BI \-f\fB a
  59. ALCYON output object file format (implied when \fB\-p\fP or \fB\-ps\fP is enabled).
  60. .TP
  61. .BI \-f\fB b
  62. BSD COFF output object file format.
  63. .TP
  64. .BI \-f\fB e
  65. ELF output object file format.
  66. .TP
  67. .BI \-f\fB r
  68. Absolute address. Source is required to have only one \fB\&.org\fP\&.
  69. .TP
  70. .BI \-f\fB x
  71. Atari 800 com/exe/xex output object file format.
  72. .TP
  73. .B \-g
  74. Generate source level debug info. Requires BSD COFF object file format.
  75. .UNINDENT
  76. .INDENT 0.0
  77. .TP
  78. .B \-i\fIpath\fP Set include\-file directory search path. \fINote\fP this is a
  79. \fBsemicolon\fP separated list of directories.
  80. .UNINDENT
  81. .sp
  82. \-l\fI[file[prn]]\fP Construct and direct assembly listing to the specified file.
  83. .sp
  84. \-l\fI*[filename]\fP Create an output listing file without pagination.
  85. .INDENT 0.0
  86. .TP
  87. .B \-m\fIcpu\fP Set default CPU type. Choices are: \fB68000\fP \fB68020\fP
  88. \fB68030\fP \fB68040\fP \fB68060\fP \fB68881\fP \fB68882\fP
  89. \fB56001\fP \fB6502\fP \fBtom\fP \fBjerry\fP
  90. .UNINDENT
  91. .INDENT 0.0
  92. .TP
  93. .B \-n
  94. Don\(aqt do things behind your back in RISC assembler.
  95. .UNINDENT
  96. .sp
  97. \-o\fIfile[.o]\fP Direct object code output to the specified file.
  98. .sp
  99. +/~oall Turn all optimisations on/off
  100. .sp
  101. +o\fI0\-30\fP Enable specific optimisation
  102. .sp
  103. ~o\fI0\-30\fP Disable specific optimisation
  104. .INDENT 0.0
  105. .INDENT 3.5
  106. \fI0: Absolute long adddresses to word (default: on)\fP
  107. .sp
  108. \fI1: move.l #x,dn/an to moveq (default: on)\fP
  109. .sp
  110. \fI2: Word branches to short (default: on)\fP
  111. .sp
  112. \fI3: Outer displacement 0(an) to (an) (default: on)\fP
  113. \fI4: lea size(An),An to addq #size,An (default: off)\fP
  114. \fI5: 68020+ Absolute long base displacement to word (default: off)\fP
  115. .sp
  116. \fI6: Convert null short branches to NOP\fP
  117. .sp
  118. \fI7: Convert clr.l Dn to moveq #0,Dn\fP
  119. .sp
  120. \fI8: Convert adda.w/l #x,Dy to addq.w/l #x,Dy\fP
  121. .sp
  122. \fI9: Convert adda.w/l #x,Dy to lea x(Dy),Dy\fP
  123. .sp
  124. \fI10: 56001 Use short format for immediate values if possible\fP
  125. .sp
  126. \fI11: 56001 Auto convert short addressing mode to long (default: on)\fP
  127. .sp
  128. \fI30: Enforce PC relative (alternative name: op)\fP
  129. .UNINDENT
  130. .UNINDENT
  131. .INDENT 0.0
  132. .TP
  133. .B \-p
  134. Produce an executable (\fB\&.prg\fP) output file.
  135. .TP
  136. .BI \-p\fB s
  137. Produce an executable (\fB\&.prg\fP) output file with symbols.
  138. .TP
  139. .B \-q
  140. Make RMAC resident in memory (Atari ST only).
  141. .UNINDENT
  142. .INDENT 0.0
  143. .TP
  144. .B \-r \fIsize\fP automatically pad the size of each
  145. segment in the output file until the size is an integral multiple of the
  146. specified boundary. Size is a letter that specifies the desired boundary.
  147. .INDENT 7.0
  148. .INDENT 3.5
  149. \fI\-rw Word (2 bytes, default alignment)\fP
  150. .sp
  151. \fI\-rl Long (4 bytes)\fP
  152. .sp
  153. \fI\-rp Phrase (8 bytes)\fP
  154. .sp
  155. \fI\-rd Double Phrase (16 bytes)\fP
  156. .sp
  157. \fI\-rq Quad Phrase (32 bytes)\fP
  158. .UNINDENT
  159. .UNINDENT
  160. .UNINDENT
  161. .INDENT 0.0
  162. .TP
  163. .B \-s
  164. Warn about unoptimized long branches and applied optimisations.
  165. .TP
  166. .B \-u
  167. Force referenced and undefined symbols global.
  168. .TP
  169. .B \-v
  170. Verbose mode (print running dialogue).
  171. .TP
  172. .B \-x
  173. Turn on debugging mode
  174. .TP
  175. .BI \-y\fB n
  176. Set listing page size to n lines.
  177. .TP
  178. .B \-4
  179. Use C style operator precedence.
  180. .UNINDENT
  181. .sp
  182. file\fI[s]\fP Assemble the specified file.
  183. .SH FILES
  184. .INDENT 0.0
  185. .INDENT 3.5
  186. .INDENT 0.0
  187. .TP
  188. .B /usr/share/rmac/atari.s
  189. Atari ST system equates.
  190. .UNINDENT
  191. .UNINDENT
  192. .UNINDENT
  193. .SH ENVIRONMENT
  194. .INDENT 0.0
  195. .INDENT 3.5
  196. .INDENT 0.0
  197. .TP
  198. .B RMACPATH
  199. Semicolon\-separated list of directories to search for include files.
  200. .UNINDENT
  201. .UNINDENT
  202. .UNINDENT
  203. .SH AUTHORS
  204. .sp
  205. rmac is Copyright (C) 199x Landon Dyer, 2011\-2017 Reboot.
  206. .sp
  207. This man page written for the SlackBuilds.org project
  208. by B. Watson, and is licensed under the WTFPL.
  209. .SH SEE ALSO
  210. .sp
  211. \fIhatari\fP(1)
  212. .sp
  213. The full \fBrmac\fP documentation: /usr/doc/rmac\-2.2.14_20221221/rmac.html
  214. .\" Generated by docutils manpage writer.
  215. .