mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-11-18 19:09:31 +00:00
407 lines
9.2 KiB
ArmAsm
407 lines
9.2 KiB
ArmAsm
.\" set this non-zero to turn on debugging
|
|
.nr Z 0
|
|
.\" **************************************************************************
|
|
.\"
|
|
.\" partial -ms package for nroff. macros for simple paper/report formats
|
|
.\"
|
|
.\" usage: nroff -ms file [...]
|
|
.\"
|
|
.\" included here are:
|
|
.\"
|
|
.\" TL, AU, AI, AB, AE, SH, NH, PP, LP, QP, XP, RS, RE, IP, I, B, R
|
|
.\"
|
|
.\" extensions include:
|
|
.\"
|
|
.\" TI (temp indent), EX (exit NOW)
|
|
.\"
|
|
.\" includes somewhat kludgy support for XS, XA, XE, PX (table of contents)
|
|
.\"
|
|
.\" v1.10 7/22/90 rosenkra@convex.com (Bill Rosenkranz)
|
|
.\" freely distributable (no copyright, etc.)
|
|
.\"
|
|
.\" **************************************************************************
|
|
.\"
|
|
.\" some perdefined strings (Quote, Unquote, dash, footer parts, etc):
|
|
.\"
|
|
.ds Q ""
|
|
.ds U ""
|
|
.ds - --
|
|
.ds CF "ImPoSsIbLe
|
|
.ds LF "\0
|
|
.ds RF "\0
|
|
.\"
|
|
.\" these are various predefined date and time strings
|
|
.\"
|
|
.\" DW day-of-week:
|
|
.if \n(dw=1 .ds DW "Sun
|
|
.if \n(dw=2 .ds DW "Mon
|
|
.if \n(dw=3 .ds DW "Tue
|
|
.if \n(dw=4 .ds DW "Wed
|
|
.if \n(dw=5 .ds DW "Thu
|
|
.if \n(dw=6 .ds DW "Fri
|
|
.if \n(dw=7 .ds DW "Sat
|
|
.\" MO month:
|
|
.if \n(mo=1 .ds MO "January
|
|
.if \n(mo=2 .ds MO "February
|
|
.if \n(mo=3 .ds MO "March
|
|
.if \n(mo=4 .ds MO "April
|
|
.if \n(mo=5 .ds MO "May
|
|
.if \n(mo=6 .ds MO "June
|
|
.if \n(mo=7 .ds MO "July
|
|
.if \n(mo=8 .ds MO "August
|
|
.if \n(mo=9 .ds MO "September
|
|
.if \n(mo=10 .ds MO "October
|
|
.if \n(mo=11 .ds MO "November
|
|
.if \n(mo=12 .ds MO "December
|
|
.\" make some composites:
|
|
.ds Dy "\*(MO \n(dy
|
|
.ds Da "\n(hh:\n(mm:\n(ss \n(mo/\n(dy/\n(yr
|
|
.ds Yr "19\n(yr
|
|
.ds dY "\*(Dy, \*(Yr
|
|
.ds DY "\n(dy \*(MO \*(Yr
|
|
.ds TM "\n(hh:\n(mm:\n(ss
|
|
.ds DA "\*(TM \*(DY
|
|
.ds CT "\*(DW \*(Dy \*(TM 19\n(yr
|
|
.\"
|
|
.\" they look like this:
|
|
.\"
|
|
.\" DW Sun
|
|
.\" MO March
|
|
.\" Dy March 4
|
|
.\" dY March 4, 1990
|
|
.\" DY 4 March 1990 <--- "normal" nroff form
|
|
.\" Yr 1990
|
|
.\" TM 16:34:00
|
|
.\" DA 16:34:00 March 4, 1990
|
|
.\" Da 16:34:00 2/4/90
|
|
.\" CT Sun March 4 16:34:00 1990 almost like ctime(2)
|
|
.\"
|
|
.\" **************************************************************************
|
|
.\"
|
|
.\" startup stuff...
|
|
.\"
|
|
.pl 66
|
|
.ll 6.0i
|
|
.lt 6.0i
|
|
.m1 3
|
|
.m2 2
|
|
.m3 3
|
|
.m4 3
|
|
.\" no header line on first page! (set back in AB, SH, NH, LP, PP, QP)
|
|
.tl ||||
|
|
.\" this is the default footer (date, centered) unless string CF is defined
|
|
.fo ||\*(DY||
|
|
.\" these are for NH numbering (up to 5 levels, a la sun, X holds level)
|
|
.nr A 0 1
|
|
.af A 1
|
|
.nr B 0 1
|
|
.af B 1
|
|
.nr C 0 1
|
|
.af C 1
|
|
.nr D 0 1
|
|
.af D 1
|
|
.nr E 0 1
|
|
.af E 1
|
|
.nr X 1 1
|
|
.\"
|
|
.\" **************************************************************************
|
|
.\"
|
|
.\" MACROS...
|
|
.\"
|
|
.\" ---------------------------------------------------------------------- TL
|
|
.\" title for document (optional)
|
|
.\"
|
|
.de TL
|
|
.sp 4
|
|
.ce 1000
|
|
.\" reset footer. you MUST define CF, even to blank, to get the others!
|
|
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
|
|
..
|
|
.\" ---------------------------------------------------------------------- AU
|
|
.\" author(s) (optional, requires .TL)
|
|
.\"
|
|
.de AU
|
|
.sp 2
|
|
..
|
|
.\" ---------------------------------------------------------------------- AI
|
|
.\" author's institution (optional, requires .TL)
|
|
.\"
|
|
.de AI
|
|
.sp 1
|
|
..
|
|
.\" ---------------------------------------------------------------------- AB
|
|
.\" abstract (optional, requires .TL, .AE)
|
|
.\"
|
|
.de AB
|
|
.br
|
|
.sp 2
|
|
.\" check for arg to AB. can be "no" or something like "SUMMARY". if "no",
|
|
.\" no title above the abstract
|
|
.if !"$1"no" .if "$1"" ABSTRACT
|
|
.if !"$1"no" .if !"$1"" $1
|
|
.if !"$1"no" .sp 1
|
|
.\" set new line length...
|
|
.ce 0
|
|
.ll 5.5i
|
|
.in 0.5i
|
|
.tl ||- % -||
|
|
..
|
|
.\" ---------------------------------------------------------------------- AE
|
|
.\" abstract end (optional, requires .TL)
|
|
.\"
|
|
.de AE
|
|
.br
|
|
.sp 1
|
|
.\" reset...
|
|
.ce 0
|
|
.in 0.0i
|
|
.ll 6.0i
|
|
..
|
|
.\" ----------------------------------------------------------------------- SH
|
|
.\" section heading, no number (optional)
|
|
.\"
|
|
.de SH
|
|
.\" reset...
|
|
.ll 6.0i
|
|
.in 0.0i
|
|
.tl ||- % -||
|
|
.\" see note in TL
|
|
.if !"\*(CF"ImPoSsIbLe" .fo |\*(LF|\*(CF|\*(RF|
|
|
.br
|
|
.ce 0
|
|
.sp 2
|
|
.ne 4
|
|
.\" section title goes here, fill mode only so far...
|
|
..
|
|
.\" ---------------------------------------------------------------------- NH
|
|
.\" numbered section heading. arg (required) is the section level.
|
|
.\" this would be MUCH simpler if the .if command supported "{...}". there is
|
|
.\" a bug in nroff. i does not set the .$ number register correctly (number of
|
|
.\" args for the current macro). that is the reason why level 1 must be set.
|
|
.\"
|
|
.de NH
|
|
.\" do everything from SH...
|
|
.SH
|
|
.\" if ".NH 0", reset numbering
|
|
.if $1=0 .nr A 1 1
|
|
.if $1=0 .nr B 0 1
|
|
.if $1=0 .nr C 0 1
|
|
.if $1=0 .nr D 0 1
|
|
.if $1=0 .nr E 0 1
|
|
.if $1=0 .nr X 1 1
|
|
.\" level 1 (two types here: ".NH" and ".NH 1"):
|
|
.\" once .$ num reg is fixed, these 5 should be: .if \n(.$=0 .nr A +1 etc.
|
|
.if "$1"" .nr A +1
|
|
.if "$1"" .nr B 0 1
|
|
.if "$1"" .nr C 0 1
|
|
.if "$1"" .nr D 0 1
|
|
.if "$1"" .nr E 0 1
|
|
.if "$1"" .nr X 1 1
|
|
.if "$1"1" .nr A +1
|
|
.if "$1"1" .nr B 0 1
|
|
.if "$1"1" .nr C 0 1
|
|
.if "$1"1" .nr D 0 1
|
|
.if "$1"1" .nr E 0 1
|
|
.if "$1"1" .nr X 1 1
|
|
.\" level 2 (increment B, reset lower levels):
|
|
.if "$1"2" .nr B +1
|
|
.if "$1"2" .nr C 0 1
|
|
.if "$1"2" .nr D 0 1
|
|
.if "$1"2" .nr E 0 1
|
|
.if "$1"2" .nr X 2 1
|
|
.\" level 3 (increment C, reset lower levels):
|
|
.if "$1"3" .nr C +1
|
|
.if "$1"3" .nr D 0 1
|
|
.if "$1"3" .nr E 0 1
|
|
.if "$1"3" .nr X 3 1
|
|
.\" level 4 (increment D, reset lower levels):
|
|
.if "$1"4" .nr D +1
|
|
.if "$1"4" .nr E 0 1
|
|
.if "$1"4" .nr X 4 1
|
|
.\" level 5 (increment E, no more lower levels!):
|
|
.if "$1"5" .nr E +1
|
|
.if "$1"5" .nr X 5 1
|
|
.\" print out the section number now, depending on current level...
|
|
.if \nX=1 \nA.
|
|
.if \nX=2 \nA.\nB.
|
|
.if \nX=3 \nA.\nB.\nC.
|
|
.if \nX=4 \nA.\nB.\nC.\nD.
|
|
.if \nX=5 \nA.\nB.\nC.\nD.\nE.
|
|
.\" section title goes here...
|
|
..
|
|
.\" ----------------------------------------------------------------------- LP
|
|
.\" start a new left block paragraph (either .LP or .PP required)
|
|
.\"
|
|
.de LP
|
|
.br
|
|
.\" reset...
|
|
.tl ||- % -||
|
|
.ce 0
|
|
.sp 1
|
|
.ll 6.0i
|
|
.in 0.0i
|
|
..
|
|
.\" ----------------------------------------------------------------------- PP
|
|
.\" start a new indented paragraph (either .LP or .PP required)
|
|
.\"
|
|
.de PP
|
|
.\" do everything for LP, then make a temp indent...
|
|
.LP
|
|
.ti +0.5i
|
|
..
|
|
.\" ----------------------------------------------------------------------- XP
|
|
.\" start a new extended paragraph (bibliography)
|
|
.\"
|
|
.de XP
|
|
.br
|
|
.\" reset...
|
|
.tl ||- % -||
|
|
.ce 0
|
|
.sp 1
|
|
.ll 6.0i
|
|
.in 0.5i
|
|
.ti -0.5i
|
|
..
|
|
.\" ----------------------------------------------------------------------- QP
|
|
.\" start a new quoted paragraph (indented and shorter)
|
|
.\"
|
|
.de QP
|
|
.br
|
|
.tl ||- % -||
|
|
.ce 0
|
|
.sp 1
|
|
.\" set new line length, indent. PP, LP, SH, and NH reset
|
|
.ll 6.0i
|
|
.in 0.0i
|
|
.ll -0.5i
|
|
.in +0.5i
|
|
..
|
|
.\" ----------------------------------------------------------------------- IP
|
|
.\" indented paragraph with tag (relative)
|
|
.\"
|
|
.de IP
|
|
.br
|
|
.tl ||- % -||
|
|
.ce 0
|
|
.sp 1
|
|
.if \n(.i>4 .in -0.5i
|
|
.in +0.5i
|
|
.}D "***DEBUG IP: indent before tag is: \n(.i"
|
|
.}D .br
|
|
.if !"$1"" .ti -0.5i
|
|
.if !"$1"" \&$1
|
|
.if !"$1"" .br
|
|
.}D "***DEBUG IP: indent after tag is: \n(.i"
|
|
..
|
|
.\" ----------------------------------------------------------------------- RS
|
|
.\" start relative indent (requires .RE)
|
|
.\"
|
|
.de RS
|
|
.ce 0
|
|
.br
|
|
.\" if there is arg, use that as indent, otherwise use +5
|
|
.if \n(.$>0 .in +$1
|
|
.if \n(.$=0 .in +0.5i
|
|
.}D "***DEBUG RS: indent after RS is: \n(.i"
|
|
.}D .br
|
|
..
|
|
.\" ----------------------------------------------------------------------- RE
|
|
.\" end relative indent
|
|
.\"
|
|
.de RE
|
|
.ce 0
|
|
.br
|
|
.\" if there is arg, use that as unindent, otherwise use -5
|
|
.if \n(.$>0 .in -$1
|
|
.if \n(.$=0 .in -0.5i
|
|
.if \n(.i<5 .in 0.0i
|
|
.}D "***DEBUG RE: indent after RE is: \n(.i"
|
|
.}D .br
|
|
..
|
|
.\" ----------------------------------------------------------------------- XS
|
|
.\" table of contents start
|
|
.\"
|
|
.de XS
|
|
.bp
|
|
.ce 1
|
|
Table of Contents
|
|
.ce 0
|
|
.ll 8.0i
|
|
.sp 1
|
|
.\" \&123456789012345678901234567890123456789012345678901234567890
|
|
\&NOTE: add/del "dots" until line ends here ---------------->| (del this line)
|
|
.br
|
|
.\" save the page number...
|
|
.ds Xx "$1
|
|
.\" first entry goes here...
|
|
..
|
|
.\" ----------------------------------------------------------------------- XE
|
|
.\" table of contents end
|
|
.\"
|
|
.de XE
|
|
.\" dump last page number...
|
|
\&\0........................... \*(Xx
|
|
.br
|
|
..
|
|
.\" ----------------------------------------------------------------------- XA
|
|
.\" subsequent table of contents entry
|
|
.\"
|
|
.de XA
|
|
.\" dump last page number...
|
|
\&\0........................... \*(Xx
|
|
.br
|
|
.\" save next page number...
|
|
.ds Xx "$1
|
|
.\" next entry goes here...
|
|
..
|
|
.\" ----------------------------------------------------------------------- PX
|
|
.\" print table of contents
|
|
.\"
|
|
.de PX
|
|
.\" this is a NOP without diversions...
|
|
.ll 6.0i
|
|
..
|
|
.\" ----------------------------------------------------------------------- TI
|
|
.\" temporary indent
|
|
.\"
|
|
.de TI
|
|
.ce 0
|
|
.ti +0.5i
|
|
..
|
|
.\" ----------------------------------------------------------------------- EX
|
|
.\" exit NOW! (no extra space at end of document)
|
|
.\"
|
|
.de EX
|
|
.sp
|
|
.ex
|
|
..
|
|
.\" ----------------------------------------------------------------------- I
|
|
.\" italic text
|
|
.\"
|
|
.de I
|
|
\&\fI
|
|
.if !"$1"" $1\fR$2
|
|
..
|
|
.\" ----------------------------------------------------------------------- B
|
|
.\" bold text
|
|
.\"
|
|
.de B
|
|
\&\fB
|
|
.if !"$1"" $1\fR$2
|
|
..
|
|
.\" ----------------------------------------------------------------------- R
|
|
.\" Roman (normal) text
|
|
.\"
|
|
.de R
|
|
\&\fR
|
|
..
|
|
.\" ----------------------------------------------------------------------- }D
|
|
.\" debug. use (e.g. print current indent):
|
|
.\"
|
|
.\" .}D .br
|
|
.\" .}D "** DEBUG ** before RS \n(.i"
|
|
.\"
|
|
.de }D
|
|
.if \nZ>0 \&$1
|
|
..
|