summaryrefslogtreecommitdiffstats
path: root/development/rmac/rmac.1
blob: bf28056a445e9a7ed01462416d9b727c4c5be254 (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
.\" Man page generated from reStructuredText.
.
.TH RMAC 1 "2017-09-01" "1.8.6" "SlackBuilds.org"
.SH NAME
RMAC \- 68000 and 6502 cross assembler
.
.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
..
.\" 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 x
Atari 800 com/exe/xex output 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 \-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\-3\fP            Enable specific optimisation
.sp
~o\fI0\-3\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
.sp
\fI4: lea size(An),An to addq #size,An (default: off)\fP
.sp
\fI5: Absolute long base displacement to word (default: off)\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.
.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 in /usr/doc/rmac\-1.8.6/rmac.rst.
.\" Generated by docutils manpage writer.
.