char **argv;
{
/*
- * Usage: ass [-[d][p][m][u]] [-s(s/m/l)] [ [file] [flag] ] ...
+ * Usage: ass [-[d][p][m][u]] [-s(s/m/l/x)] [ [file] [flag] ] ...
* The d flag can be repeated several times, resulting in more
* debugging information.
*/
getsizes(str) char *str; {
/*
- * accepts -ss (small), -sm (medium), -sl (large), -sg (giant)
+ * accepts -ss (small), -sm (medium), -sl (large), -sx (extra large)
*/
switch(LC(*str)) {
case 's': oursize = &sizes[0]; break;
case 'm': oursize = &sizes[1]; break;
case 'l': oursize = &sizes[2]; break;
- case 'g': oursize = &sizes[3]; break;
+ case 'x': oursize = &sizes[3]; break;
}
}
arch_t archhdr;
siz_t sizes[NDEFAULT] = {
/* mlab, glab,mproc,xproc, proc */
- { 151, 29, 31, 73, 130 },
- { 307, 127, 151, 401, 460 },
- { 601, 251, 151, 401, 600 },
- {1601, 1601, 1601, 1601, 2000 }
+ { 151, 29, 31, 73, 130 }, /* small */
+ { 307, 127, 151, 401, 460 }, /* medium */
+ { 601, 251, 151, 401, 600 }, /* large */
+ {1601, 1601, 1601, 1601, 2000 } /* extra large */
};
-siz_t *oursize = &sizes[1] ; /* point to selected sizes */
+siz_t *oursize = &sizes[2] ; /* point to selected sizes */
Em_ass assembles and links EM modules.
Arguments may be flags, EM modules or libraries.
Flags recognized are:
-.IP "-ss, -sm, -sl"
-Indicate that your program is small, medium or large.
-Medium is the default.
+.IP "-ss, -sm, -sl, -sx"
+Indicate that your program is small, medium, large, or extra large.
+Large is the default.
.IP -p
List all procedure names together with base-address (decimal and octal),
procedure number and module of definition.
produced code the only messages to expect are "Out of memory"
or of the
form: Overflow in XXXX. The latter can usually be cured by giving
-a -sl flag,
+a -sx flag,
the former means your program is too big, dimishing
the size of very large procedures can sometimes help.
The most likely errors, however, are unresolved references,