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