misspelling
[unix-history] / usr / src / old / adb / common_source / adb.1
index 47e28d0..e9ebcec 100644 (file)
@@ -1,8 +1,9 @@
-.\" Copyright (c) 1980, 1990 The Regents of the University of California.
-.\" All rights reserved.  The Berkeley software License Agreement
-.\" specifies the terms and conditions for redistribution.
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
 .\"
 .\"
-.\"     @(#)adb.1      5.8 (Berkeley) %G%
+.\" %sccs.include.proprietary.roff%
+.\"
+.\"    @(#)adb.1       5.13 (Berkeley) %G%
 .\"
 .Dd 
 .Dt ADB 1
 .\"
 .Dd 
 .Dt ADB 1
@@ -14,9 +15,7 @@
 .Nm adb
 .Op Fl w
 .Op Fl k
 .Nm adb
 .Op Fl w
 .Op Fl k
-.Oo
-.Op Fl I Ar dir
-.Oo
+.Op Fl I Ns Ar dir
 .Op Ar objfil Op Ar corfil
 .Sh DESCRIPTION
 .Nm Adb
 .Op Ar objfil Op Ar corfil
 .Sh DESCRIPTION
 .Nm Adb
@@ -58,10 +57,14 @@ The
 .Fl k
 option makes
 .Nm adb
 .Fl k
 option makes
 .Nm adb
-do UNIX kernel memory
+do
+.Ux
+kernel memory
 mapping; it should be used when
 .Pa core
 mapping; it should be used when
 .Pa core
-is a UNIX crash dump
+is a
+.Ux
+crash dump
 or
 .Pa /dev/mem .
 .Pp
 or
 .Pa /dev/mem .
 .Pp
@@ -69,9 +72,9 @@ The
 .Fl I
 option specifies a directory where files to be read
 with
 .Fl I
 option specifies a directory where files to be read
 with
-.Li $<
+.Ic $<
 or
 or
-.Li $<<
+.Ic $<<
 (see below) will be sought; the default is
 .Pa /usr/lib/adb .
 .Pp
 (see below) will be sought; the default is
 .Pa /usr/lib/adb .
 .Pp
@@ -86,12 +89,12 @@ command.
 In general requests to
 .Nm adb
 are of the form
 In general requests to
 .Nm adb
 are of the form
-.Pp
-.ti +\n(Dsu
+.Bd -filled -offset indent
 .Op Ad address
 .Op \&, Va count
 .Op Ic command
 .Op \&;
 .Op Ad address
 .Op \&, Va count
 .Op Ic command
 .Op \&;
+.Ed
 .Pp
 If
 .Ad address
 .Pp
 If
 .Ad address
@@ -114,7 +117,7 @@ are expressions.
 The interpretation of an address depends on the context it is used in.
 If a subprocess is being debugged then addresses are interpreted
 in the usual way in the address space of the subprocess.
 The interpretation of an address depends on the context it is used in.
 If a subprocess is being debugged then addresses are interpreted
 in the usual way in the address space of the subprocess.
-If the operating system is being debugged either post-mortem or using
+If the operating system is being debugged, either post-mortem or using
 the special file
 .Pa /dev/mem
 to interactively examine and/or modify memory, the maps are set to map
 the special file
 .Pa /dev/mem
 to interactively examine and/or modify memory, the maps are set to map
@@ -122,23 +125,23 @@ the kernel virtual addresses which start at
 .Li \&0x80000000
 (on the VAX); see ADDRESSES below.
 .Sh EXPRESSIONS
 .Li \&0x80000000
 (on the VAX); see ADDRESSES below.
 .Sh EXPRESSIONS
-.Tw Li
-.Tp Sy \&\.
+.Bl -tag -width integer
+.It Sy \&\.
 The value of
 .Ad dot .
 The value of
 .Ad dot .
-.Tp  Sy \&\+
+.It  Sy \&\+
 The value of
 .Ad dot
 incremented by the current increment.
 The value of
 .Ad dot
 incremented by the current increment.
-.Tp Sy \&^
+.It Sy \&^
 The value of
 .Ad dot
 decremented by the current increment.
 The value of
 .Ad dot
 decremented by the current increment.
-.Tp Sy \&"
+.It Sy \&"
 The last
 .Ad address
 typed.
 The last
 .Ad address
 typed.
-.Tp Va integer
+.It Va integer
 A number.  The prefixes
 .Li \&0o
 and
 A number.  The prefixes
 .Li \&0o
 and
@@ -165,7 +168,7 @@ hexadecimal radix.  Thus
 If no prefix appears, then the
 .Em default radix
 is used; see the
 If no prefix appears, then the
 .Em default radix
 is used; see the
-.Li $d
+.Ic $d
 command.  The default radix is initially hexadecimal.
 The hexadecimal digits are
 .Li 0123456789abcdefABCDEF
 command.  The default radix is initially hexadecimal.
 The hexadecimal digits are
 .Li 0123456789abcdefABCDEF
@@ -176,20 +179,21 @@ digit would otherwise be an alphabetic character must have a
 (or
 .Li 0X )
 prefix (or a leading zero if the default radix is hexadecimal).
 (or
 .Li 0X )
 prefix (or a leading zero if the default radix is hexadecimal).
-.Tp Va integer.fraction
+.It Va integer.fraction
 A 32 bit floating point number.
 A 32 bit floating point number.
-.Tp Li \'cccc\'
+.It Li \'cccc\'
 The ASCII value of up to 4 characters.
 .Li \e
 may be used to escape a
 .Li \' .
 The ASCII value of up to 4 characters.
 .Li \e
 may be used to escape a
 .Li \' .
-.Tp Va < name
+.It Va < name
 The value of
 .Va name ,
 which is either a variable name or a register name.
 .Nm Adb
 maintains a number of variables (see
 The value of
 .Va name ,
 which is either a variable name or a register name.
 .Nm Adb
 maintains a number of variables (see
-VARIABLES below)
+.Sx VARIABLES
+below)
 named by single letters or digits.
 If
 .Va name
 named by single letters or digits.
 If
 .Va name
@@ -197,9 +201,9 @@ is a register name then the value of the register is obtained from
 the system header in
 .Ar corfil .
 The register names are those printed by the
 the system header in
 .Ar corfil .
 The register names are those printed by the
-.Li $r
+.Ic $r
 command.
 command.
-.Tp Va symbol
+.It Va symbol
 A
 .Va symbol
 is a sequence of upper or lower case letters, underscores or
 A
 .Va symbol
 is a sequence of upper or lower case letters, underscores or
@@ -214,12 +218,12 @@ An initial
 will be prepended to
 .Va symbol
 if needed.
 will be prepended to
 .Va symbol
 if needed.
-.Tp Va _symbol
+.It Va _symbol
 In C, the `true name' of an external symbol begins with
 .Li \_ .
 It may be necessary to utter this name to distinguish it
 from internal or hidden variables of a program.
 In C, the `true name' of an external symbol begins with
 .Li \_ .
 It may be necessary to utter this name to distinguish it
 from internal or hidden variables of a program.
-.Tp Va routine.name
+.It Va routine.name
 The address of the variable
 .Va name
 in the specified C routine.  Both
 The address of the variable
 .Va name
 in the specified C routine.  Both
@@ -241,83 +245,50 @@ of the most recently activated C stack frame
 corresponding to
 .Va routine
 (this much works).
 corresponding to
 .Va routine
 (this much works).
-.Tp (exp)
-.\" .Tp Cx \&(\&
-.\" .Va exp
-.\" .Cx \&)\&
+.It Pq Va exp
 The value of the expression
 The value of the expression
-.Va exp .
-.Tp
-.Pp
+.Ar exp .
+.El
 .Ss Monadic Operators
 .Ss Monadic Operators
-.Pp
-.Dp Cx Li \&*
-.Va exp
-.Cx
+.Bl -tag -width flag -compact
+.It Li \&* Ns Va exp 
 The contents of the location addressed by
 .Va exp
 in
 .Ar corfil .
 The contents of the location addressed by
 .Va exp
 in
 .Ar corfil .
-.Dp Cx Li \&@
-.Va exp
-.Cx
+.It Li \&@ Ns Va exp 
 The contents of the location addressed by
 .Va exp
 in
 .Ar objfil .
 The contents of the location addressed by
 .Va exp
 in
 .Ar objfil .
-.Dp Cx Li \&\-
-.Va exp
-.Cx
+.It Li \&\- Ns Va exp 
 Integer negation.
 Integer negation.
-.Dp Cx Li \&~
-.Va exp
-.Cx
+.It Li \&~ Ns Va exp 
 Bitwise complement.
 Bitwise complement.
-.Dp Cx Li \&#
-.Va exp
-.Cx
+.It Li \&# Ns Va exp 
 Logical negation.
 Logical negation.
-.Dp
+.El
 .Ss Dyadic operators
 .Ss Dyadic operators
-are left associative and are less binding than monadic operators.
-.Dp Cx Va e1
-.Li \&\+
-.Va e2
-.Cx
+Are left associative and are less binding than monadic operators.
+.Pp
+.Bl -tag -width xxXxx -compact
+.It Va e1 Ns Li \&\+ Ns Va e2 
 Integer addition.
 Integer addition.
-.Dp Cx Va e1
-.Li \&\-
-.Va e2
-.Cx
+.It Va e1 Ns Li \&\- Ns Va e2 
 Integer subtraction.
 Integer subtraction.
-.Dp Cx Va e1
-.Li \&*
-.Va e2
-.Cx
+.It Va e1 Ns Li \&* Ns Va e2 
 Integer multiplication.
 Integer multiplication.
-.Dp Cx Va e1
-.Li \&%
-.Va e2
-.Cx
+.It Va e1 Ns Li \&% Ns Va e2 
 Integer division.
 Integer division.
-.Dp Cx Va e1
-.Li &
-.Va e2
-.Cx
+.It Va e1 Ns Li & Ns Va e2 
 Bitwise conjunction.
 Bitwise conjunction.
-.Dp Cx Va e1
-.Li \&|
-.Va e2
-.Cx
+.It Va e1 Ns Li \&| Ns Va e2 
 Bitwise disjunction.
 Bitwise disjunction.
-.Dp Cx Va e1
-.Li #
-.Va e2
-.Cx
-.Va E1
+.It Va e1 Ns Li # Ns Va e2 
+.Va e1
 rounded up to the next multiple of
 .Va e2 .
 rounded up to the next multiple of
 .Va e2 .
-.Dp
+.El
 .Sh COMMANDS
 Most commands consist of a verb followed by a modifier or list of modifiers.
 The following verbs are available.
 .Sh COMMANDS
 Most commands consist of a verb followed by a modifier or list of modifiers.
 The following verbs are available.
@@ -328,12 +299,11 @@ and
 may be followed by
 .Li * ;
 see the
 may be followed by
 .Li * ;
 see the
-ADDRESSES section
+.Sx ADDRESSES
+section
 for further details.)
 for further details.)
-.Tw XXX
-.Tp Cx Ic ?
-.Va f
-.Cx
+.Bl -tag -width flag
+.It Ic ? Ns Va f 
 Locations starting at
 .Ad address
 in
 Locations starting at
 .Ad address
 in
@@ -342,9 +312,7 @@ are printed according to the format
 .Va f .
 .Ad dot
 is incremented by the sum of the increments for each format letter (q.v.).
 .Va f .
 .Ad dot
 is incremented by the sum of the increments for each format letter (q.v.).
-.Tp Cx Ic /
-.Va f
-.Cx
+.It Ic / Ns Va f 
 Locations starting at
 .Ad address
 in
 Locations starting at
 .Ad address
 in
@@ -355,255 +323,161 @@ and
 .Ad dot
 is incremented as for
 .Ic ? .
 .Ad dot
 is incremented as for
 .Ic ? .
-.Tp Cx Ic =
-.Va f
-.Cx
+.It Ic = Ns Va f 
 The value of
 .Ad address
 itself is printed in the styles indicated by the format
 .Va f .
 (For
 .Va i
 The value of
 .Ad address
 itself is printed in the styles indicated by the format
 .Va f .
 (For
 .Va i
-format zero values are assumed
+format, zero values are assumed
 for the parts of the instruction that reference
 subsequent words.)
 for the parts of the instruction that reference
 subsequent words.)
-.Tp
+.El
 .Pp
 A
 .Va format
 consists of one or more characters that specify a style of printing.
 Each format character may be preceded by a decimal integer
 that is a repeat count for the format character.
 .Pp
 A
 .Va format
 consists of one or more characters that specify a style of printing.
 Each format character may be preceded by a decimal integer
 that is a repeat count for the format character.
-While stepping through a format
+While stepping through a format,
 .Ad dot
 is incremented by the amount given for each format letter.
 If no format is given then the last format is used.
 The format characters available are as follows.
 Note that a backslash
 .Ad dot
 is incremented by the amount given for each format letter.
 If no format is given then the last format is used.
 The format characters available are as follows.
 Note that a backslash
-.Cx (
-.Li \e
-.Cx )
-.Cx
+.Pq Li \e
 must be used
 to quote the three numeric formats.
 must be used
 to quote the three numeric formats.
-.Dw \&M_____\&M
-.Dp Cx Ic 1
-.Cx \&\ \ \&
-.Va 1
-.Cx
+.Pp
+.Bl -tag -width \&M_____\&M -compact
+.It Ic 1 Va 1 
 Print 1 byte in the current radix
 (which may be either signed or unsigned; see the
 Print 1 byte in the current radix
 (which may be either signed or unsigned; see the
-.Li $d
+.Ic $d
 command).
 command).
-.Dp Cx Ic 2
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic 2 Va 2 
 Print 2 bytes in the current radix.
 Print 2 bytes in the current radix.
-.Dp Cx Ic 4
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic 4 Va 4 
 Print 4 bytes in the current radix.
 Print 4 bytes in the current radix.
-.Dp Cx Ic v
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic v Va 2 
 Print 2 bytes in the signed variant of the current radix.
 Print 2 bytes in the signed variant of the current radix.
-.Dp Cx Ic V
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic V Va 4 
 Print 4 bytes in the signed variant of the current radix.
 Print 4 bytes in the signed variant of the current radix.
-.Dp Cx Ic o
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic o Va 2 
 Print 2 bytes in unsigned octal.  All octal numbers output by
 .Nm adb
 are preceded by 0.
 Print 2 bytes in unsigned octal.  All octal numbers output by
 .Nm adb
 are preceded by 0.
-.Dp Cx Ic O
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic O Va 4 
 Print 4 bytes in unsigned octal.
 Print 4 bytes in unsigned octal.
-.Dp Cx Ic q
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic q Va 2 
 Print 2 bytes in signed octal.
 Print 2 bytes in signed octal.
-.Dp Cx Ic Q
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic Q Va 4 
 Print 4 bytes in signed octal.
 Print 4 bytes in signed octal.
-.Dp Cx Ic u
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic u Va 2 
 Print 2 bytes in unsigned decimal.
 Print 2 bytes in unsigned decimal.
-.Dp Cx Ic U
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic U Va 4 
 Print 4 bytes in long unsigned decimal.
 Print 4 bytes in long unsigned decimal.
-.Dp Cx Ic d
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic d Va 2 
 Print 2 bytes in signed decimal.
 Print 2 bytes in signed decimal.
-.Dp Cx Ic D
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic D Va 4 
 Print 4 bytes in long signed decimal.
 Print 4 bytes in long signed decimal.
-.Dp Cx Ic x
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic x Va 2 
 Print 2 bytes in unsigned hexadecimal.
 Print 2 bytes in unsigned hexadecimal.
-.Dp Cx Ic X
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic X Va 4 
 Print 4 bytes in unsigned hexadecimal.
 Print 4 bytes in unsigned hexadecimal.
-.Dp Cx Ic z
-.Cx \&\ \ \&
-.Va 2
-.Cx
+.It Ic z Va 2 
 Print 2 bytes in signed hexadecimal.
 Print 2 bytes in signed hexadecimal.
-.Dp Cx Ic Z
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic Z Va 4 
 Print 4 bytes in signed hexadecimal.
 Print 4 bytes in signed hexadecimal.
-.Dp Cx Ic f
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic f Va 4 
 Print 4 bytes as a floating point number.
 Print 4 bytes as a floating point number.
-.Dp Cx Ic F
-.Cx \&\ \ \&
-.Va 8
-.Cx
-Print 8 bytes as a double floating point number.
-.Dp Cx Ic b
-.Cx \&\ \ \&
-.Va 1
-.Cx
+.It Ic F Va 8 
+Print 8 bytes as a double precision floating point number.
+.It Ic b Va 1 
 Print 1 byte in unsigned octal.
 Print 1 byte in unsigned octal.
-.Dp Cx Ic c
-.Cx \&\ \ \&
-.Va 1
-.Cx
+.It Ic c Va 1 
 Print 1 byte as a character.
 Print 1 byte as a character.
-.Dp Cx Ic C
-.Cx \&\ \ \&
-.Va 1
-.Cx
+.It Ic C Va 1 
 Print 1 byte as a character, using
 the standard escape convention where control characters
 Print 1 byte as a character, using
 the standard escape convention where control characters
-are printed as ^X and the delete character is printed as ^?.
-.Dp Cx Ic s
-.Cx \&\ \ \&
-.Va n
-.Cx
+are printed as
+.Ql \&^X
+and the delete character is printed as
+.Ql ^? .
+.It Ic s Va n 
 Print the addressed characters until a zero character is reached.
 Print the addressed characters until a zero character is reached.
-.Dp Cx Ic S
-.Cx \&\ \ \&
-.Va n
-.Cx
-Print a string using the ^
-.Ar X
+.Ar n
+is the length of the string including its zero terminator.
+.It Ic S Va n 
+Print a string using the
+.Ql ^X
 escape convention (see
 .Ar C
 above).
 .Ar n
 is the length of the string including its zero terminator.
 escape convention (see
 .Ar C
 above).
 .Ar n
 is the length of the string including its zero terminator.
-.Dp Cx Ic Y
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.It Ic Y Va 4 
 Print 4 bytes in date format (see
 .Xr ctime 3 ) .
 Print 4 bytes in date format (see
 .Xr ctime 3 ) .
-.Dp Cx Ic i
-.Cx \&\ \ \&
-.Va n
-.Cx
+.It Ic i Va n 
 Print as machine instructions.
 .Ar n
 is the number of bytes occupied by the instruction.
 This style of printing causes the numeric variables 1, 2, ... to be set
 according to the offset parts of the arguments, if any, of the instruction
 Print as machine instructions.
 .Ar n
 is the number of bytes occupied by the instruction.
 This style of printing causes the numeric variables 1, 2, ... to be set
 according to the offset parts of the arguments, if any, of the instruction
-(up to 6 on the VAX).
-.Dp Cx Ic a
-.Cx \&\ \ \&
-.Va 0
-.Cx
+(up to 6 on the
+.Tn VAX ) .
+.It Ic a Va 0 
 Print the value of
 .Ad dot
 in symbolic form.
 Symbols are checked to ensure that they have an appropriate
 type as indicated below.
 Print the value of
 .Ad dot
 in symbolic form.
 Symbols are checked to ensure that they have an appropriate
 type as indicated below.
-.Dw AAAA
-.Dp Va /
+.Bl -tag -width flag -compact
+.It Va /
 local or global data symbol
 local or global data symbol
-.Dp Va \&?
-.Cx
+.It Va \&?
 local or global text symbol
 local or global text symbol
-.Dp Va \&=
-.Cx
+.It Va \&=
 local or global absolute symbol
 local or global absolute symbol
-.Dp
-.Dp Cx Ic p
-.Cx \&\ \ \&
-.Va 4
-.Cx
+.El
+.It Ic p Va 4 
 Print the addressed value in symbolic form using
 the same rules for symbol lookup as
 .Ic a .
 Print the addressed value in symbolic form using
 the same rules for symbol lookup as
 .Ic a .
-.Dp Cx Ic t
-.Cx \&\ \ \&
-.Va 0
-.Cx
-When preceded by an integer tabs to the next appropriate tab stop.
+.It Ic t Va 0 
+When preceded by an integer, tabs to the next appropriate tab stop.
 For example,
 .Li 8t
 moves to the next 8-space tab stop.
 For example,
 .Li 8t
 moves to the next 8-space tab stop.
-.Dp Cx Ic r
-.Cx \&\ \ \&
-.Va 0
-.Cx
+.It Ic r Va 0 
 Print a space.
 Print a space.
-.Dp Cx Ic n
-.Cx \&\ \ \&
-.Va 0
-.Cx
+.It Ic n Va 0 
 Print a newline.
 Print a newline.
-.Dp Ic \*(Rq...\*(Lq
-.Va 0
-\&\ \ \&
+.ne 2v
+.It Ic \*(Lq...\*(Rq Va 0
 Print the enclosed string.
 Print the enclosed string.
-.Dp ^
+.It Ic \&^
 .Ad Dot
 is decremented by the current increment.  Nothing is printed.
 .Ad Dot
 is decremented by the current increment.  Nothing is printed.
-.Dp +
+.It Ic \&+
 .Ad Dot
 is incremented by 1.  Nothing is printed.
 .Ad Dot
 is incremented by 1.  Nothing is printed.
-.Dp \-
+.It Ic \&\-
 .Ad Dot
 is decremented by 1.  Nothing is printed.
 .Ad Dot
 is decremented by 1.  Nothing is printed.
-.Dp newline
+.It newline
 Repeat the previous command with a
 .Va count
 of 1.
 Repeat the previous command with a
 .Va count
 of 1.
-.Dp
+.El
 .Pp
 .Pp
-.Tw $modifier
-.Tp Cx Op Ic ?/
-.Ic l\ \&
-.Va value mask
-.Cx
+.Bl -tag -width $modifier
+.It Xo
+.Oo Ic ?/ Oc Ns Ic l
+.Va "value mask"
+.Xc
 Words starting at
 .Ad dot
 are masked with
 Words starting at
 .Ad dot
 are masked with
@@ -623,10 +497,10 @@ is set to the matched location.
 If
 .Va mask
 is omitted then all bits are compared.
 If
 .Va mask
 is omitted then all bits are compared.
-.Tp Cx Op Ic ?/
-.Ic w\ \&
-.Va value ...
-.Cx
+.It Xo
+.Oo Ic ?/ Oc Ns Ic w
+.Va "value ..."
+.Xc
 Write the 2-byte
 .Va value
 into the addressed location.  If the command is
 Write the 2-byte
 .Va value
 into the addressed location.  If the command is
@@ -636,13 +510,12 @@ Odd addresses
 .Em are
 allowed
 when writing to the subprocess address space.
 .Em are
 allowed
 when writing to the subprocess address space.
-.Tp Cx Op Ic ?/
-.Ic m\ \&
-.Ad b1 e1 f1
-.Op Ic ?/
-.Cx
+.It Xo
+.Oo Ic ?/ Oc Ns Ic m
+.Ad b1 e1 f1 Ns Op Ic ?/ 
+.Xc
 New values for
 New values for
-.Ad  ( b1 , e1 , f1 )
+.Pq Ad b1 , e1 , f1
 are recorded.  If less than three expressions are given then
 the remaining map parameters are left unchanged.
 If the
 are recorded.  If less than three expressions are given then
 the remaining map parameters are left unchanged.
 If the
@@ -652,48 +525,40 @@ or
 is followed by
 .Li *
 then
 is followed by
 .Li *
 then
-the second segment (
-.Ad  ( b2 , e2 , f2 )
+the second segment
+.Pq Ad b2 , e2 , f2
 of the mapping is changed.
 If the list is terminated by
 .Ic ?
 or
 .Ic /
 then the file
 of the mapping is changed.
 If the list is terminated by
 .Ic ?
 or
 .Ic /
 then the file
-.Ar ( objfil
+.Pf ( Ar objfil
 or
 .Ar corfil
 respectively) is used for subsequent requests.
 For example,
 or
 .Ar corfil
 respectively) is used for subsequent requests.
 For example,
-.Li /m?
+.Sq Li /m?
 will cause
 .Ic /
 to refer to
 .Ar objfil .
 will cause
 .Ic /
 to refer to
 .Ar objfil .
-.Tp Cx Ic >
-.Va name
-.Cx
+.It Ic > Ns Va name 
 .Ad Dot
 is assigned to the variable or register named.
 .Ad Dot
 is assigned to the variable or register named.
-.Tp Ic \&!
+.It Ic \&!
 A shell
 A shell
-.Cx \&(
-.Pa /bin/sh )
-.Cx
+.Pq Pa /bin/sh
 is called to read the rest of the line following
 .Ic \&! .
 is called to read the rest of the line following
 .Ic \&! .
-.Tp Cx Cm $
-.Va modifier
-.Cx
+.It Cm $ Ns Va modifier 
 Miscellaneous commands.  The available
 .Va modifiers
 are:
 Miscellaneous commands.  The available
 .Va modifiers
 are:
-.Tw fil
-.Tp Cx Cm <
-.Va file
-.Cx
+.Bl -tag -width filexx
+.It Cm < Ns Va file 
 Read commands from
 Read commands from
-.Va file
+.Va file .
 If this command is executed in a file, further commands
 in the file are not seen.
 If
 If this command is executed in a file, further commands
 in the file are not seen.
 If
@@ -706,9 +571,7 @@ The value of the count will be placed in variable
 before the first command in
 .Va file
 is executed.
 before the first command in
 .Va file
 is executed.
-.Tp Cx Cm <<
-.Va file
-.Cx
+.It Cm << Ns Va file 
 Similar to
 .Cm <
 except it can be used in a file of commands without
 Similar to
 .Cm <
 except it can be used in a file of commands without
@@ -718,32 +581,28 @@ is saved during the execution of this command, and restored when it completes.
 There is a (small) finite limit to the number of
 .Cm <<
 files that can be open at once.
 There is a (small) finite limit to the number of
 .Cm <<
 files that can be open at once.
-.Tp Cx Cm >
-.Va file
-.Cx
+.It Cm > Ns Va file 
 Append output to the file
 .Va file ,
 which is created if it does not exist.  If
 .Va file
 is omitted, output is returned to the terminal.
 Append output to the file
 .Va file ,
 which is created if it does not exist.  If
 .Va file
 is omitted, output is returned to the terminal.
-.Tp Cx Cm ?
-.Va file
-.Cx
+.It Cm ? Ns Va file 
 Print process id, the signal which caused stoppage or termination,
 as well as the registers as
 .Ic $r .
 This is the default if
 .Va modifier
 is omitted.
 Print process id, the signal which caused stoppage or termination,
 as well as the registers as
 .Ic $r .
 This is the default if
 .Va modifier
 is omitted.
-.Tp Cm r
+.It Cm r
 Print the general registers and the instruction addressed by
 .Nm pc .
 .Ad Dot
 is set to
 .Nm pc .
 Print the general registers and the instruction addressed by
 .Nm pc .
 .Ad Dot
 is set to
 .Nm pc .
-.Tp Cm b
+.It Cm b
 Print all breakpoints and their associated counts and commands.
 Print all breakpoints and their associated counts and commands.
-.Tp Cm c
+.It Cm c
 C stack backtrace.  If
 .Ad address
 is given then it is taken as the address of the current frame
 C stack backtrace.  If
 .Ad address
 is given then it is taken as the address of the current frame
@@ -756,7 +615,7 @@ and static variables are printed for each active function
 is given then only the first
 .Va count
 frames are printed.
 is given then only the first
 .Va count
 frames are printed.
-.Tp Cm d
+.It Cm d
 Set the default radix to
 .Ad address
 and report the new value.  If no
 Set the default radix to
 .Ad address
 and report the new value.  If no
@@ -769,27 +628,30 @@ will be treated as signed; otherwise they are treated as unsigned.
 Note that
 .Ad address
 is interpreted in the (old) current radix.
 Note that
 .Ad address
 is interpreted in the (old) current radix.
-Thus \*(lq10$d\*(rq simply changes the default radix to unsigned.
-To make signed decimal the default radix, use \*(lq-0t10$d\*(rq.
-.Tp Cm e
+Thus
+.Dq "10$d"
+simply changes the default radix to unsigned.
+To make signed decimal the default radix, use
+.Dq "-0t10$d"
+.It Cm e
 The names and values of external variables are printed.
 The names and values of external variables are printed.
-.Tp Cm w
+.It Cm w
 Set the page width for output to
 .Ad address
 (default 80).
 Set the page width for output to
 .Ad address
 (default 80).
-.Tp Cm s
+.It Cm s
 Set the limit for symbol matches to
 .Ad address
 (default 1024).
 Set the limit for symbol matches to
 .Ad address
 (default 1024).
-.Tp Cm q
+.It Cm q
 Exit from
 .Nm adb .
 Exit from
 .Nm adb .
-.Tp Cm v
+.It Cm v
 Print all non zero variables in octal.
 Print all non zero variables in octal.
-.Tp Cm m
+.It Cm m
 Print the address map.
 Print the address map.
-.Tp Cm p
-.Em ( Kernel debugging )
+.It Cm p
+.Pq Em Kernel debugging
 Change the current kernel memory mapping to map the designated
 .Sy user structure
 to the address given by the symbol
 Change the current kernel memory mapping to map the designated
 .Sy user structure
 to the address given by the symbol
@@ -797,15 +659,11 @@ to the address given by the symbol
 The
 .Ad address
 argument is the address of the user's user page table entries.
 The
 .Ad address
 argument is the address of the user's user page table entries.
-.Tp
-.Tp Cx Cm :
-.Va modifier
-.Cx
+.El
+.It Cm : Ns Va modifier 
 Manage a subprocess.  Available modifiers are:
 Manage a subprocess.  Available modifiers are:
-.Tw Ds
-.Tp Cx Cm b
-.Va c
-.Cx
+.Bl -tag -width Ds
+.It Cm b Ns Va c 
 Set breakpoint at
 .Ad address .
 The breakpoint is executed
 Set breakpoint at
 .Ad address .
 The breakpoint is executed
@@ -818,12 +676,12 @@ is executed.  If this command is omitted or sets
 .Ad dot
 to zero, the breakpoint causes a stop immediately,
 regardless of any remaining count.
 .Ad dot
 to zero, the breakpoint causes a stop immediately,
 regardless of any remaining count.
-.Tp Cm d
+.It Cm d
 Delete breakpoint at
 .Ad address .
 Delete breakpoint at
 .Ad address .
-.Tp Cm D
+.It Cm D
 Delete all breakpoints.
 Delete all breakpoints.
-.Tp Cm r
+.It Cm r
 Run
 .Ar objfil
 as a subprocess.  If
 Run
 .Ar objfil
 as a subprocess.  If
@@ -835,11 +693,9 @@ specifies how many breakpoints are to be ignored before stopping.
 Arguments to the subprocess may be supplied on the same line as the command.
 An argument starting with < or > causes the standard
 input or output to be established for the command.
 Arguments to the subprocess may be supplied on the same line as the command.
 An argument starting with < or > causes the standard
 input or output to be established for the command.
-.Tp Cx Cm c
-.Va s
-.Cx
+.It Cm c Ns Va s 
 The subprocess is continued with signal
 The subprocess is continued with signal
-.Va s
+.Va s ;
 see
 .Xr sigvec 2 .
 If
 see
 .Xr sigvec 2 .
 If
@@ -849,9 +705,7 @@ If no signal is specified then the signal
 that caused the subprocess to stop is sent.
 Breakpoint skipping is the same as for
 .Cm r .
 that caused the subprocess to stop is sent.
 Breakpoint skipping is the same as for
 .Cm r .
-.Tp Cx Cm s
-.Va s
-.Cx
+.It Cm s Ns Va s 
 As for
 .Cm c
 except that the subprocess is single stepped
 As for
 .Cm c
 except that the subprocess is single stepped
@@ -862,10 +716,10 @@ is run as a subprocess as for
 .Cm r .
 In this case no signal can be sent; the remainder of the line
 is treated as arguments to the subprocess.
 .Cm r .
 In this case no signal can be sent; the remainder of the line
 is treated as arguments to the subprocess.
-.Tp Cm k
+.It Cm k
 The current subprocess, if any, is terminated.
 The current subprocess, if any, is terminated.
-.Tp
-.Tp
+.El
+.El
 .Sh VARIABLES
 .Nm Adb
 provides a number of variables.
 .Sh VARIABLES
 .Nm Adb
 provides a number of variables.
@@ -873,18 +727,20 @@ Named variables are set initially by
 .Nm adb
 but are not used subsequently.
 Numbered variables are reserved for communication as follows.
 .Nm adb
 but are not used subsequently.
 Numbered variables are reserved for communication as follows.
-.Dw Ds
-.Di L
-.Dp \&0
+.Pp
+.Bl -tag -width Ds -compact
+.It \&0
 The last value printed.
 The last value printed.
-.Dp \&1
+.It \&1
 The last offset part of an instruction source.
 The last offset part of an instruction source.
-This continues up through at most 6 on the VAX.
+This continues up through at most 6 on the
+.Tn VAX .
 For a three-operand instruction, variable 2 is the second source offset
 and variable 3 the destination offset part.
 For a three-operand instruction, variable 2 is the second source offset
 and variable 3 the destination offset part.
-.Dp \&9
+.It \&9
 The count on the last $< or $<< command.
 The count on the last $< or $<< command.
-.Dp
+.El
+.Pp
 On entry the following are set from the system header in the
 .Ar corfil .
 If
 On entry the following are set from the system header in the
 .Ar corfil .
 If
@@ -893,69 +749,43 @@ does not appear to be a
 .Pa core
 file then these values are set from
 .Ar objfil .
 .Pa core
 file then these values are set from
 .Ar objfil .
-.Dw Ds
-.Di L
-.Dp b
+.Pp
+.Bl -tag -width Ds -compact
+.It b
 The base address of the data segment.
 The base address of the data segment.
-.Dp d
+.It d
 The data segment size.
 The data segment size.
-.Dp e
+.It e
 The entry point.
 The entry point.
-.Dp m
+.It m
 The `magic' number (0407, 0410 or 0413).
 The `magic' number (0407, 0410 or 0413).
-.Dp s
+.It s
 The stack segment size.
 The stack segment size.
-.Dp t
+.It t
 The text segment size.
 .Sh ADDRESSES
 The address in a file associated with
 a written address is determined by a mapping associated with that file.
 Each mapping is represented by two triples
 The text segment size.
 .Sh ADDRESSES
 The address in a file associated with
 a written address is determined by a mapping associated with that file.
 Each mapping is represented by two triples
-.Ad ( b1 , e1 , f1 )
+.Pq Ad b1 , e1 , f1
 and
 and
-.Ad ( b2 , e2 , f2 )
+.Pq Ad b2 , e2 , f2
 and the
 .Ad file
 .Ad address
 corresponding to a written
 .Ad address
 is calculated as follows.
 and the
 .Ad file
 .Ad address
 corresponding to a written
 .Ad address
 is calculated as follows.
+.Bd -filled -offset indent
+\*(aDb1\*(sY\*(<=\*(aRaddress\*(<=\*(aDe1 \*(sY\(->
+\*(aRfile address\*(dF=\*(aRaddress\*(sY+\*(aDf1\*(sY-\*(aDb1,
+otherwise
+.Ed
 .Pp
 .Pp
-.Ds I
-.Cx Ad b1
-.Sy \&\*(<=
-.Ad address
-.Sy <
-.Ad e1
-.Sy \ \&\(->\ \&
-.Ad file address
-.Sy =
-.Ad address
-.Sy +
-.Ad f1
-.Sy \-
-.Ad b1 ,
-.Cx \ \&
-.Cx otherwise,
-.Cx
-.De
-.Pp
-.Ds I
-.Cx Ad b2
-.Sy \&\*(<=
-.Ad address
-.Sy <
-.Ad e2
-.Sy \ \&\(->\ \&
-.Ad file address
-.Sy =
-.Ad address
-.Sy +
-.Ad f2
-.Sy \-
-.Ad b2 ,
-.Cx
-.De
+.Bd -filled -offset indent
+\*(aDb2\*(sY\*(<=\*(aRaddress\*(<=\*(aDe2 \*(sY\(->
+\*(aRfile address\*(dF=\*(aRaddress\*(sY+\*(aDf2\*(sY-\*(aDb2\*(dF
+.Ed
 .Pp
 otherwise, the requested
 .Ar address
 .Pp
 otherwise, the requested
 .Ar address
@@ -981,12 +811,11 @@ is set to the maximum file size and
 .Ad f1
 is set to 0; in this way the whole
 file can be examined with no address translation.
 .Ad f1
 is set to 0; in this way the whole
 file can be examined with no address translation.
-.Pp
 .Sh FILES
 .Sh FILES
-.Dw a.out
-.Dp Pa a.out
-.Dp Pa core
-.Dp
+.Bl -tag -width a.out -compact
+.It Pa a.out
+.It Pa core
+.El
 .Sh SEE ALSO
 .Xr cc 1 ,
 .Xr dbx 1 ,
 .Sh SEE ALSO
 .Xr cc 1 ,
 .Xr dbx 1 ,
@@ -995,11 +824,13 @@ file can be examined with no address translation.
 .Xr core 5
 .Sh HISTORY
 .Nm Adb
 .Xr core 5
 .Sh HISTORY
 .Nm Adb
-was first released with Version 7 AT&T UNIX.  The version
+was first released with
+.At v7 .
+The version
 of
 .Nm adb
 this man page describes
 of
 .Nm adb
 this man page describes
-is descended from the orignial.
+is descended from the original.
 .Sh DIAGNOSTICS
 .Li `adb'
 when there is no current command or format.
 .Sh DIAGNOSTICS
 .Li `adb'
 when there is no current command or format.