%!PS-Adobe-3.0 %%Creator: groff version 1.16.1 %%CreationDate: Sun Jul 7 02:17:48 2002 %%DocumentNeededResources: font Times-Roman %%+ font Times-Italic %%+ font Times-Bold %%+ font Symbol %%DocumentSuppliedResources: procset grops 1.16 1 %%Pages: 11 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.16 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /FL{ currentgray exch setgray fill setgray }bind def /BL/fill load def /LW/setlinewidth load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Italic %%IncludeResource: font Times-Bold %%IncludeResource: font Symbol grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Bold@0 ENC0/Times-Bold RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 16/Times-Roman@0 SF(UNIX Assembler Reference Manual)188.928 126 Q/F1 12/Times-Italic@0 SF(Dennis M. Ritc)262.596 171 Q(hie)-.18 E(Bell Labor) 263.586 198 Q(atories)-.18 E(Murr)246.912 216 Q(ay Hill, Ne)-.18 E 3(wJ) -.18 G(er)-3.3 E(se)-.12 E(y)-.36 E/F2 10/Times-Bold@0 SF 2.5(0. Intr)72 274 R(oduction)-.18 E/F3 10/Times-Roman@0 SF .296 (This document describes the usage and input syntax of the)72 290.5 R/F4 8/Times-Roman@0 SF .296(UNIX PDP)2.796 F F3 .296(-11 assembler)B/F5 10 /Times-Italic@0 SF(as)2.796 E F3 5.296(.T)C .296(he details of the) -5.296 F F4(PDP)2.796 E F3 .296(-11 are)B(not described; consult the)72 301.5 Q F4(DEC)2.5 E F3(documents `)2.5 E(`)-.74 E F4(PDP)A F3 (-11/20 Handbook')A 2.5('a)-.74 G(nd `)-2.5 E(`)-.74 E F4(PDP)A F3 (-11/45 Handbook.)A -.74('')-.7 G .279(The input syntax of the)72 318 R F4(UNIX)2.78 E F3 .28(assembler is generally similar to that of the)2.78 F F4(DEC)2.78 E F3(assembler)2.78 E F4 -.736(PA)2.78 G(L).736 E F3(-11)A F4(R)A F3 2.78(,a)C .28(lthough its inter)-2.78 F(-)-.2 E .756(nal w)72 329 R .756(orkings and output format are unrelated.)-.1 F .756 (It may be useful to read the publication)5.756 F F4(DEC)3.255 E F3 (-11-)A F4(ASDB)A F3(-)A F4(D)A F3 3.255(,w)C .755(hich de-)-3.255 F (scribes)72 340 Q F4 -.736(PA)2.5 G(L).736 E F3(-11)A F4(R)A F3 2.5(,a)C (lthough naturally one must use care in assuming that its rules apply t\ o)-2.5 E F5(as)2.5 E F3(.)A F5(As)72 356.5 Q F3 .399 (is a rather ordinary tw)2.899 F .399 (o-pass assembler without macro capabilities.)-.1 F .4 (It produces an output \214le which contains re-)5.399 F 1.094(location\ information and a complete symbol table; thus the output is acceptable\ to the)72 367.5 R F4(UNIX)3.594 E F3(link-editor)3.594 E F5(ld)3.594 E F3 3.594(,w)C(hich)-3.594 E 1.026 (may be used to combine the outputs of se)72 378.5 R -.15(ve)-.25 G 1.026(ral assembler runs and to obtain object programs from libraries.) .15 F(The)6.027 E .186(output format has been designed so that if a pro\ gram contains no unresolv)72 389.5 R .186(ed references to e)-.15 F .185 (xternal symbols, it is e)-.15 F(x-)-.15 E (ecutable without further processing.)72 400.5 Q F2 2.5(1. Usage)72 422.5 R F5(as)72 439 Q F3(is used as follo)2.5 E(ws:)-.25 E F2(as)87 461 Q F3([)5 E F25 E F3(])5 E F5(\214le)5 E/F6 6/Times-Italic@0 SF(1)3 I F5 1.666(...)5 -3 O F3 .415(If the optional `)72 483 R(`\255')-.74 E 2.915('a)-.74 G -.18(rg)-2.915 G .415(ument is gi).18 F -.15(ve)-.25 G .415(n, all unde\214ned symbols in the current assembly will be made un\ de\214ned-e).15 F(xter)-.15 E(-)-.2 E 2.5(nal. See)72 494 R(the)2.5 E F2 (.globl)2.5 E F3(directi)2.5 E .3 -.15(ve b)-.25 H(elo).15 E -.65(w.) -.25 G .855(The other ar)72 510.5 R .855 (guments name \214les which are concatenated and assembled.)-.18 F .855 (Thus programs may be written in se)5.855 F -.15(ve)-.25 G(ral).15 E (pieces and assembled together)72 521.5 Q(.)-.55 E .383 (The output of the assembler is placed on the \214le)72 538 R F5(a.out) 2.883 E F3 .383(in the current directory)2.883 F 5.383(.I)-.65 G 2.883 (ft)-5.383 G .383(here were no unresolv)-2.883 F .383(ed e)-.15 F (xternal)-.15 E .948(references, and no errors detected,)72 549 R F5 (a.out)3.448 E F3 .948(is made e)3.448 F -.15(xe)-.15 G .947 (cutable; otherwise, if it is produced at all, it is made non-e).15 F (x-)-.15 E(ecutable.)72 560 Q F2 2.5(2. Lexical)72 582 R(con)2.5 E -.1 (ve)-.4 G(ntions).1 E F3 .32(Assembler tok)72 598.5 R .321 (ens include identi\214ers \(alternati)-.1 F -.15(ve)-.25 G(ly).15 E 2.821(,`)-.65 G(`symbols')-3.561 E 2.821('o)-.74 G 2.821(r`)-2.821 G (`names')-3.561 E .321('\), temporary symbols, constants, and op-)-.74 F (erators.)72 609.5 Q 2.5(2.1 Identi\214ers)72 631.5 R 1.035(An identi\ \214er consists of a sequence of alphanumeric characters \(including pe\ riod `)72 648 R(`)-.74 E F2(.)1.666 E F3 -.74('')1.666 G 3.535(,u).74 G 1.035(nderscore `)-3.535 F .4 LW 492.29 650.5 487.29 650.5 DL 5(`') 483.96 648 S 1.035(', and tilde)-5.74 F -.74(``)72 659 S(~').74 E 2.814 ('a)-.74 G 2.814(sa)-2.814 G .314 (lphanumeric\) of which the \214rst may not be numeric.)-2.814 F .314 (Only the \214rst eight characters are signi\214cant.)5.314 F .315 (When a)5.315 F .648(name be)72 670 R .648(gins with a tilde, the tilde\ is discarded and that occurrence of the identi\214er generates a uniqu\ e entry in the)-.15 F .348 (symbol table which can match no other occurrence of the identi\214er)72 681 R 5.349(.T)-.55 G .349 (his feature is used by the C compiler to place)-5.349 F (names of local v)72 692 Q (ariables in the output symbol table without ha)-.25 E(ving to w)-.2 E (orry about making them unique.)-.1 E 2.5(2.2 T)72 714 R (emporary symbols)-.7 E EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 2)72 58 Q F0 2.5(At)72 97.8 S (emporary symbol consists of a digit follo)-2.5 E(wed by `)-.25 E -.834 (`f ')-.74 F 2.5('o)-.74 G 2.5(r`)-2.5 G(`b')-3.24 E 2.5('. T)-.74 F (emporary symbols are discussed fully in \2475.1.)-.7 E 2.5 (2.3 Constants)72 119.8 R .535 (An octal constant consists of a sequence of digits; `)72 136.3 R(`8') -.74 E 3.035('a)-.74 G .535(nd `)-3.035 F(`9')-.74 E 3.035('a)-.74 G .535(re tak)-3.035 F .535(en to ha)-.1 F .835 -.15(ve o)-.2 H .535 (ctal v).15 F .535(alue 10 and 11.)-.25 F .535(The con-)5.535 F (stant is truncated to 16 bits and interpreted in tw)72 147.3 Q(o')-.1 E 2.5(sc)-.55 G(omplement notation.)-2.5 E 3.12(Ad)72 163.8 S .62(ecimal \ constant consists of a sequence of digits terminated by a decimal point\ `)-3.12 F(`)-.74 E/F2 10/Times-Bold@0 SF(.)A F0 -.74('')C 5.62(.T).74 G .62(he magnitude of the con-)-5.62 F (stant should be representable in 15 bits; i.e., be less than 32,768.)72 174.8 Q 3.338(As)72 191.3 S .837 (ingle-character constant consists of a single quote `)-3.338 F(`)-.74 E /F3 10/Symbol SF1.666 E F0 2.317 -.74('' f)1.666 H(ollo).74 E .837 (wed by an)-.25 F/F4 8/Times-Roman@0 SF(ASCII)3.337 E F0 .837 (character not a ne)3.337 F 3.337(w-line. Certain)-.25 F .61 (dual-character escape sequences are acceptable in place of the)72 202.3 R F4(ASCII)3.11 E F0 .61(character to represent ne)3.11 F .611 (w-line and other non-)-.25 F .424(graphics \(see)72 213.3 R F1 .424 (String statements)2.924 F F0 2.924<2ca7>C 2.924(5.5\). The)-2.924 F (constant')2.924 E 2.923(sv)-.55 G .423(alue has the code for the gi) -3.173 F -.15(ve)-.25 G 2.923(nc).15 G .423 (haracter in the least signi\214-)-2.923 F(cant byte of the w)72 224.3 Q (ord and is null-padded on the left.)-.1 E 3.619(Ad)72 240.8 S 1.119 (ouble-character constant consists of a double quote `)-3.619 F 1.666 (`"')-.74 G 3.619('f)-2.406 G(ollo)-3.619 E 1.12(wed by a pair of)-.25 F F4(ASCII)3.62 E F0 1.12(characters not including)3.62 F(ne)72 251.8 Q 2.902(w-line. Certain)-.25 F .402(dual-character escape sequences are a\ cceptable in place of either of the)2.902 F F4(ASCII)2.902 E F0 .402 (characters to repre-)2.902 F .912(sent ne)72 262.8 R .913 (w-line and other non-graphics \(see)-.25 F F1 .913(String statements) 3.413 F F0 3.413<2ca7>C 3.413(5.5\). The)-3.413 F(constant')3.413 E 3.413(sv)-.55 G .913(alue has the code for the \214rst)-3.663 F(gi)72 273.8 Q -.15(ve)-.25 G 2.5(nc).15 G(haracter in the least signi\214cant\ byte and that for the second character in the most signi\214cant byte.) -2.5 E 2.5(2.4 Operators)72 295.8 R(There are se)72 312.3 Q -.15(ve)-.25 G(ral single- and double-character operators; see \2476.).15 E 2.5 (2.5 Blanks)72 334.3 R .014 (Blank and tab characters may be interspersed freely between tok)72 350.8 R .014(ens, b)-.1 F .014(ut may not be used within tok)-.2 F .013 (ens \(e)-.1 F .013(xcept char)-.15 F(-)-.2 E(acter constants\).)72 361.8 Q 2.5(Ab)5 G(lank or tab is required to separate adjacent identi\ \214ers or constants not otherwise separated.)-2.5 E 2.5(2.6 Comments)72 383.8 R 1.142(The character `)72 400.3 R 1.666(`/')-.74 G 3.642('i) -2.406 G 1.142(ntroduces a comment, which e)-3.642 F 1.142 (xtends through the end of the line on which it appears.)-.15 F(Com-) 6.143 E(ments are ignored by the assembler)72 411.3 Q(.)-.55 E F2 2.5 (3. Segments)72 433.3 R F0 .112(Assembled code and data f)72 449.8 R .112(all into three se)-.1 F .112(gments: the te)-.15 F .112(xt se)-.15 F .111(gment, the data se)-.15 F .111(gment, and the bss se)-.15 F 2.611 (gment. The)-.15 F(te)2.611 E(xt)-.15 E(se)72 460.8 Q .237 (gment is the one in which the assembler be)-.15 F .237 (gins, and it is the one into which instructions are typically placed.) -.15 F(The)5.237 E F4(UNIX)72 471.8 Q F0 .382 (system will, if desired, enforce the purity of the te)2.882 F .381 (xt se)-.15 F .381 (gment of programs by trapping write operations into it.)-.15 F .667(Ob\ ject programs produced by the assembler must be processed by the link-e\ ditor)72 482.8 R F1(ld)3.167 E F0 .667(\(using its `)3.167 F(`\255')-.74 E 3.167<278d>-.74 G .667(ag\) if the te)-3.167 F(xt)-.15 E(se)72 493.8 Q .456(gment is to be write-protected.)-.15 F 2.955(As)5.456 G .455 (ingle cop)-2.955 F 2.955(yo)-.1 G 2.955(ft)-2.955 G .455(he te)-2.955 F .455(xt se)-.15 F .455(gment is shared among all processes e)-.15 F -.15 (xe)-.15 G .455(cuting such a).15 F(program.)72 504.8 Q .95(The data se) 72 521.3 R .95(gment is a)-.15 F -.25(va)-.2 G .951(ilable for placing \ data or instructions which will be modi\214ed during e).25 F -.15(xe) -.15 G 3.451(cution. An).15 F(ything)-.15 E .164(which may go in the te) 72 532.3 R .164(xt se)-.15 F .164(gment may be put into the data se)-.15 F 2.663(gment. In)-.15 F .163 (programs with write-protected, sharable te)2.663 F(xt)-.15 E(se)72 543.3 Q .582(gments, data se)-.15 F .582 (gment contains the initialized b)-.15 F .582(ut v)-.2 F .582 (ariable parts of a program.)-.25 F .582(If the te)5.582 F .582(xt se) -.15 F .582(gment is not pure, the)-.15 F .663(data se)72 554.3 R .663 (gment be)-.15 F .663(gins immediately after the te)-.15 F .663(xt se) -.15 F .663(gment; if the te)-.15 F .663(xt se)-.15 F .662 (gment is pure, the data se)-.15 F .662(gment be)-.15 F .662 (gins at the)-.15 F(lo)72 565.3 Q(west 8K byte boundary after the te) -.25 E(xt se)-.15 E(gment.)-.15 E .382(The bss se)72 581.8 R .382 (gment may not contain an)-.15 F 2.882(ye)-.15 G .382 (xplicitly initialized code or data.)-3.032 F .382 (The length of the bss se)5.382 F .382(gment \(lik)-.15 F 2.882(et)-.1 G .382(hat of)-2.882 F(te)72 592.8 Q .451 (xt or data\) is determined by the high-w)-.15 F .451 (ater mark of the location counter within it.)-.1 F .451(The bss se) 5.451 F .451(gment is actually an)-.15 F -.15(ex)72 603.8 S .657 (tension of the data se).15 F .657(gment and be)-.15 F .657 (gins immediately after it.)-.15 F .657(At the start of e)5.657 F -.15 (xe)-.15 G .657(cution of a program, the bss se).15 F(g-)-.15 E (ment is set to 0.)72 614.8 Q -.8(Ty)5 G(pically the bss se).8 E (gment is set up by statements e)-.15 E -.15(xe)-.15 G(mpli\214ed by).15 E(lab)108 636.8 Q F2 2.5(:.)C F0(=)A F2(.)2.5 E F0(+10)A .034(The adv)72 658.8 R .034(antage in using the bss se)-.25 F .034 (gment for storage that starts of)-.15 F 2.534(fe)-.25 G .033 (mpty is that the initialization information need not)-2.534 F (be stored in the output \214le.)72 669.8 Q(See also)5 E F1 (Location counter)2.5 E F0(and)2.5 E F1(Assignment statements)2.5 E F0 (belo)2.5 E -.65(w.)-.25 G F2 2.5(4. The)72 691.8 R(location counter)2.5 E F0 .515(One special symbol, `)72 708.3 R(`)-.74 E F2(.)1.666 E F0 -.74 ('')1.666 G 3.015(,i).74 G 3.015(st)-3.015 G .515(he location counter) -3.015 F 5.515(.I)-.55 G .515(ts v)-5.515 F .515(alue at an)-.25 F 3.015 (yt)-.15 G .515(ime is the of)-3.015 F .516 (fset within the appropriate se)-.25 F(gment)-.15 E .667 (of the start of the statement in which it appears.)72 719.3 R .667 (The location counter may be assigned to, with the restriction that) 5.667 F .847(the current se)72 730.3 R .847 (gment may not change; furthermore, the v)-.15 F .847(alue of `)-.25 F (`)-.74 E F2(.)1.666 E F0 2.327 -.74('' m)1.666 H .847(ay not decrease.) .74 F .848(If the ef)5.847 F .848(fect of the assign-)-.25 F EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 3)451.4 58 Q F0(ment is to increase the v)72 97.8 Q (alue of `)-.25 E(`)-.74 E/F2 10/Times-Bold@0 SF(.)1.666 E F0 -.74('') 1.666 G 2.5(,t).74 G(he required number of null bytes are generated \(b) -2.5 E(ut see)-.2 E F1(Se)2.5 E(gments)-.4 E F0(abo)2.5 E -.15(ve)-.15 G (\).).15 E F2 2.5(5. Statements)72 119.8 R F0 3.825(As)72 136.3 S 1.325 (ource program is composed of a sequence of)-3.825 F F1(statements)3.825 E F0 6.325(.S)C 1.324(tatements are separated either by ne)-6.325 F 1.324(w-lines or by)-.25 F 2.5(semicolons. There)72 147.3 R(are \214v) 2.5 E 2.5(ek)-.15 G(inds of statements: null statements, e)-2.5 E (xpression statements, assignment statements, string)-.15 E (statements, and k)72 158.3 Q -.15(ey)-.1 G -.1(wo).15 G(rd statements.) .1 E(An)72 174.8 Q 2.5(yk)-.15 G (ind of statement may be preceded by one or more labels.)-2.5 E 2.5 (5.1 Labels)72 196.8 R .283(There are tw)72 213.3 R 2.783(ok)-.1 G .283 (inds of label: name labels and numeric labels.)-2.783 F 2.783(An)5.283 G .283(ame label consists of a name follo)-2.783 F .282(wed by a colon) -.25 F 1.666(\(:\))72 224.3 S 5.366(.T)-1.666 G .366(he ef)-5.366 F .366 (fect of a name label is to assign the current v)-.25 F .367 (alue and type of the location counter `)-.25 F(`)-.74 E F2(.)1.666 E F0 1.847 -.74('' t)1.666 H 2.867(ot).74 G .367(he name.)-2.867 F(An)5.367 E .669(error is indicated in pass 1 if the name is already de\214ned; an \ error is indicated in pass 2 if the `)72 235.3 R(`)-.74 E F2(.)1.666 E F0 2.148 -.74('' v)1.666 H .668(alue assigned).49 F (changes the de\214nition of the label.)72 246.3 Q 2.859(An)72 262.8 S .359(umeric label consists of a digit)-2.859 F F1(0)2.859 E F0(to)2.859 E F1(9)2.859 E F0(follo)2.859 E .359(wed by a colon \()-.25 F 1.666(:\)) 1.666 G 5.359(.S)-1.666 G .359(uch a label serv)-5.359 F .359 (es to de\214ne temporary symbols)-.15 F .114(of the form `)72 273.8 R (`)-.74 E F1(n)A F0(b')1.666 E 2.614('a)-.74 G .114(nd `)-2.614 F(`)-.74 E F1(n)A F0 1.666(f')1.666 G .114(', where)-2.406 F F1(n)2.614 E F0 .114 (is the digit of the label.)2.614 F .114 (As in the case of name labels, a numeric label assigns)5.114 F .934 (the current v)72 284.8 R .935(alue and type of `)-.25 F(`)-.74 E F2(.) 1.666 E F0 2.415 -.74('' t)1.666 H 3.435(ot).74 G .935 (he temporary symbol.)-3.435 F(Ho)5.935 E(we)-.25 E -.15(ve)-.25 G 1.735 -.4(r, s).15 H -2.15 -.25(ev e).4 H .935 (ral numeric labels with the same digit).25 F .374 (may be used within the same assembly)72 295.8 R 5.374(.R)-.65 G .374 (eferences of the form `)-5.374 F(`)-.74 E F1(n)A F0 1.666(f')1.666 G 2.874('r)-2.406 G .374(efer to the \214rst numeric label `)-2.874 F(`) -.74 E F1(n)A F0(:')1.666 E(')-.74 E F1(f)2.874 E F0(orw)1.666 E(ard)-.1 E .344(from the reference; `)72 306.8 R(`)-.74 E F1(n)A F0(b')A 2.844 ('s)-.74 G .345(ymbols refer to the \214rst `)-2.844 F(`)-.74 E F1(n)A F0(:')1.666 E 2.845('l)-.74 G(abel)-2.845 E F1(b)2.845 E F0(ackw)A .345 (ard from the reference.)-.1 F .345(This sort of temporary)5.345 F .707 (label w)72 317.8 R .707(as introduced by Knuth [)-.1 F F1 .706 (The Art of Computer Pr)B -.1(og)-.45 G -.15(ra).1 G(mming).15 E 3.206 (,V)-.1 G .706(ol I: Fundamental Algorithms)-4.316 F F0 3.206(]. Such) 1.666 F(labels)3.206 E(tend to conserv)72 328.8 Q 2.5(eb)-.15 G (oth the symbol table space of the assembler and the in)-2.5 E -.15(ve) -.4 G(nti).15 E .3 -.15(ve p)-.25 H -.25(ow).15 G(ers of the programmer) .25 E(.)-.55 E 2.5(5.2 Null)72 350.8 R(statements)2.5 E 3.28(An)72 367.3 S .78(ull statement is an empty statement \(which may)-3.28 F 3.28(,h) -.65 G -.25(ow)-3.28 G -2.15 -.25(ev e).25 H 1.581 -.4(r, h).25 H -2.25 -.2(av e).4 H 3.281(labels\). A)3.481 F .781 (null statement is ignored by the as-)3.281 F(sembler)72 378.3 Q 5(.C) -.55 G(ommon e)-5 E(xamples of null statements are empty lines or lines\ containing only a label.)-.15 E 2.5(5.3 Expression)72 400.3 R (statements)2.5 E .943(An e)72 416.8 R .943 (xpression statement consists of an arithmetic e)-.15 F .943 (xpression not be)-.15 F .942(ginning with a k)-.15 F -.15(ey)-.1 G -.1 (wo).15 G 3.442(rd. The).1 F .942(assembler com-)3.442 F (putes its \(16-bit\) v)72 427.8 Q(alue and places it in the output str\ eam, together with the appropriate relocation bits.)-.25 E 2.5 (5.4 Assignment)72 449.8 R(statements)2.5 E .36 (An assignment statement consists of an identi\214er)72 466.3 R 2.86(,a) -.4 G 2.86(ne)-2.86 G .36(quals sign \()-2.86 F 1.666(=\))1.666 G 2.86 (,a)-1.666 G .36(nd an e)-2.86 F 2.86(xpression. The)-.15 F -.25(va)2.86 G .36(lue and type of the).25 F -.15(ex)72 477.3 S .503 (pression are assigned to the identi\214er).15 F 5.503(.I)-.55 G 3.003 (ti)-5.503 G 3.003(sn)-3.003 G .503(ot required that the type or v) -3.003 F .503(alue be the same in pass 2 as in pass 1,)-.25 F (nor is it an error to rede\214ne an)72 488.3 Q 2.5(ys)-.15 G (ymbol by assignment.)-2.5 E(An)72 504.8 Q 2.99(ye)-.15 G .49 (xternal attrib)-3.14 F .49(ute of the e)-.2 F .49 (xpression is lost across an assignment.)-.15 F .491 (This means that it is not possible to declare a)5.491 F .367(global sy\ mbol by assigning to it, and that it is impossible to de\214ne a symbol\ to be of)72 515.8 R .366(fset from a non-locally de\214ned)-.25 F (global symbol.)72 526.8 Q .075 (As mentioned, it is permissible to assign to the location counter `)72 543.3 R(`)-.74 E F2(.)1.666 E F0 -.74('')1.666 G 5.075(.I).74 G 2.575 (ti)-5.075 G 2.575(sr)-2.575 G .075(equired, ho)-2.575 F(we)-.25 E -.15 (ve)-.25 G .875 -.4(r, t).15 H .076(hat the type of the e).4 F(x-)-.15 E .111(pression assigned be of the same type as `)72 554.3 R(`)-.74 E F2 (.)1.666 E F0 -.74('')1.666 G 2.611(,a).74 G .111 (nd it is forbidden to decrease the v)-2.611 F .11(alue of `)-.25 F(`) -.74 E F2(.)1.666 E F0 -.74('')1.666 G 5.11(.I).74 G 2.61(np)-5.11 G .11 (ractice, the most)-2.61 F 1.316(common assignment to `)72 565.3 R(`) -.74 E F2(.)1.666 E F0 2.796 -.74('' h)1.666 H 1.316(as the form `).74 F -.834(`. = . +)-.74 F F1(n)1.666 E F0 2.796 -.74('' f)D 1.316 (or some number).74 F F1(n;)3.817 E F0 1.317(this has the ef)3.817 F 1.317(fect of generating)-.25 F F1(n)3.817 E F0(null)3.817 E(bytes.)72 576.3 Q 2.5(5.5 String)72 598.3 R(statements)2.5 E 3.332(As)72 614.8 S .832(tring statement generates a sequence of bytes containing)-3.332 F /F3 8/Times-Roman@0 SF(ASCII)3.332 E F0 3.332(characters. A)3.332 F .832 (string statement consists of a left)3.332 F .349(string quote `)72 625.8 R(`<')-.74 E 2.849('f)-.74 G(ollo)-2.849 E .349 (wed by a sequence of)-.25 F F3(ASCII)2.849 E F0 .349 (characters not including ne)2.849 F .349(wline, follo)-.25 F .349 (wed by a right string quote)-.25 F -.74(``)72 636.8 S(>').74 E 3.728 ('. An)-.74 F 3.728(yo)-.15 G 3.728(ft)-3.728 G(he)-3.728 E F3(ASCII) 3.728 E F0 1.228(characters may be replaced by a tw)3.728 F 1.227 (o-character escape sequence to represent certain non-)-.1 F (graphic characters, as follo)72 647.8 Q(ws:)-.25 E EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 4)72 58 Q F0(\\n)108 97.8 Q/F2 8/Times-Roman@0 SF (NL)64.22 E F0(\(012\))25.336 E(\\t)108 108.8 Q F2(HT)66.44 E F0 (\(011\))25.336 E(\\e)108 119.8 Q F2(EO)64.78 E(T)-.32 E F0(\(004\)) 20.768 E(\\0)108 130.8 Q F2(NUL)64.22 E F0(\(000\))19.56 E(\\r)108 141.8 Q F2(CR)65.89 E F0(\(015\))25.328 E(\\a)108 152.8 Q F2 -.32(AC)64.78 G (K).32 E F0(\(006\))19.432 E(\\p)108 163.8 Q F2(PFX)64.22 E F0(\(033\)) 21.328 E 63.94(\\\\ \\)108 174.8 R 61.08(\\> >)108 185.8 R .577 (The last tw)72 207.8 R 3.077(oa)-.1 G .577(re included so that the esc\ ape character and the right string quote may be represented.)-3.077 F .578(The same es-)5.578 F(cape sequences may also be used within single\ - and double-character constants \(see \2472.3 abo)72 218.8 Q -.15(ve) -.15 G(\).).15 E 2.5(5.6 K)72 240.8 R -.15(ey)-.25 G -.1(wo).15 G (rd statements).1 E -2.15 -.25(Ke y)72 257.3 T -.1(wo).25 G 1.246(rd st\ atements are numerically the most common type, since most machine instr\ uctions are of this sort.).1 F(A)6.246 E -.1(ke)72 268.3 S(yw)-.05 E .485(ord statement be)-.1 F .485(gins with one of the man)-.15 F 2.985 (yp)-.15 G .485(rede\214ned k)-2.985 F -.15(ey)-.1 G -.1(wo).15 G .486 (rds of the assembler; the syntax of the remainder).1 F (depends on the k)72 279.3 Q -.15(ey)-.1 G -.1(wo).15 G 2.5(rd. All).1 F (the k)2.5 E -.15(ey)-.1 G -.1(wo).15 G(rds are listed belo).1 E 2.5(ww) -.25 G(ith the syntax the)-2.5 E 2.5(yr)-.15 G(equire.)-2.5 E/F3 10 /Times-Bold@0 SF 2.5(6. Expr)72 301.3 R(essions)-.18 E F0 .843(An e)72 317.8 R .843(xpression is a sequence of symbols representing a v)-.15 F 3.343(alue. Its)-.25 F .842 (constituents are identi\214ers, constants, temporary)3.342 F (symbols, operators, and brack)72 328.8 Q 2.5(ets. Each)-.1 F -.15(ex) 2.5 G(pression has a type.).15 E .397(All operators in e)72 345.3 R .397 (xpressions are fundamentally binary in nature; if an operand is missin\ g on the left, a 0 of absolute)-.15 F .077(type is assumed.)72 356.3 R .077(Arithmetic is tw)5.077 F(o')-.1 E 2.577(sc)-.55 G .076 (omplement and has 16 bits of precision.)-2.577 F .076(All operators ha) 5.076 F .376 -.15(ve e)-.2 H .076(qual precedence,).15 F(and e)72 367.3 Q(xpressions are e)-.15 E -.25(va)-.25 G (luated strictly left to right e).25 E(xcept for the ef)-.15 E (fect of brack)-.25 E(ets.)-.1 E 2.5(6.1 Expression)72 389.3 R (operators)2.5 E(The operators are:)72 405.8 Q 18.62(\(blank\) when)102 427.8 R .72(there is no operator between operands, the ef)3.22 F .721 (fect is e)-.25 F .721(xactly the same as if a `)-.15 F(`+')-.74 E 3.221 ('h)-.74 G .721(ad ap-)-3.221 F(peared.)152 438.8 Q 44.36(+a)102 455.3 S (ddition)-44.36 E 44.36102 471.8 S(ubtraction)-44.36 E 45(*m)102 488.3 S(ultiplication)-45 E 41.94(\\/ di)102 504.8 R (vision \(note that plain `)-.25 E 1.666(`/')-.74 G 2.5('s)-2.406 G (tarts a comment\))-2.5 E 42.22(&b)102 521.3 S(itwise)-42.22 E F3(and) 2.5 E/F4 10/Symbol SF105.332 537.8 Q F0(bitwise)41.728 E F3(or)2.5 E F0 36.22(>> logical)102 554.3 R(right shift)2.5 E 36.22(<< logical)102 570.8 R(left shift)2.5 E 41.67(%m)102 587.3 S(odulo)-41.67 E(!)102 603.8 Q F1(a)46.67 E F0(!)1.666 E F1(b)1.666 E F0(is)3.451 E F1(a)3.451 E F3 (or)3.451 E F0(\()3.451 E F3(not)1.666 E F1(b)3.451 E F0 .951 (\); i.e., the)1.666 F F3(or)3.45 E F0 .95 (of the \214rst operand and the one')3.45 F 3.45(sc)-.55 G .95 (omplement of the second;)-3.45 F(most common use is as a unary)152 614.8 Q(.)-.65 E 46.67(^r)102 631.3 S .876(esult has the v)-46.67 F .877 (alue of \214rst operand and the type of the second; most often used to\ de\214ne ne)-.25 F(w)-.25 E (machine instructions with syntax identical to e)152 642.3 Q (xisting instructions.)-.15 E .183 (Expressions may be grouped by use of square brack)72 664.3 R .183 (ets `)-.1 F -2.5 1.666(`[ ]')-.74 H 2.683('. \(Round)-2.406 F .183 (parentheses are reserv)2.683 F .182(ed for address modes.\))-.15 F 2.5 (6.2 T)72 686.3 R(ypes)-.8 E .291 (The assembler deals with a number of types of e)72 702.8 R 2.791 (xpressions. Most)-.15 F .291(types are attached to k)2.791 F -.15(ey) -.1 G -.1(wo).15 G .291(rds and used to select).1 F (the routine which treats that k)72 713.8 Q -.15(ey)-.1 G -.1(wo).15 G 2.5(rd. The).1 F(types lik)2.5 E(ely to be met e)-.1 E(xplicitly are:) -.15 E EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 5)451.4 58 Q F0(unde\214ned)102 97.8 Q .685 (Upon \214rst encounter)132 108.8 R 3.185(,e)-.4 G .685 (ach symbol is unde\214ned.)-3.185 F .684 (It may become unde\214ned if it is assigned an unde-)5.684 F .351 (\214ned e)132 119.8 R 2.851(xpression. It)-.15 F .351 (is an error to attempt to assemble an unde\214ned e)2.851 F .351 (xpression in pass 2; in pass 1, it)-.15 F(is not \(e)132 130.8 Q (xcept that certain k)-.15 E -.15(ey)-.1 G -.1(wo).15 G (rds require operands which are not unde\214ned\).).1 E(unde\214ned e) 102 147.3 Q(xternal)-.15 E 2.537(As)132 158.3 S .037 (ymbol which is declared)-2.537 F/F2 10/Times-Bold@0 SF(.globl)2.537 E F0 -.2(bu)2.537 G 2.537(tn).2 G .036 (ot de\214ned in the current assembly is an unde\214ned e)-2.537 F 2.536 (xternal. If)-.15 F .245(such a symbol is declared, the link editor)132 169.3 R F1(ld)2.745 E F0 .246(must be used to load the assembler')2.746 F 2.746(so)-.55 G .246(utput with another)-2.746 F (routine that de\214nes the unde\214ned reference.)132 180.3 Q(absolute) 102 196.8 Q .161 (An absolute symbol is one de\214ned ultimately from a constant.)132 207.8 R .161(Its v)5.161 F .161(alue is unaf)-.25 F .161(fected by an) -.25 F 2.661(yp)-.15 G(ossible)-2.661 E (future applications of the link-editor to the output \214le.)132 218.8 Q(te)102 235.3 Q(xt)-.15 E .512(The v)132 246.3 R .512(alue of a te)-.25 F .513(xt symbol is measured with respect to the be)-.15 F .513 (ginning of the te)-.15 F .513(xt se)-.15 F .513(gment of the pro-)-.15 F 2.907(gram. If)132 257.3 R .406 (the assembler output is link-edited, its te)2.907 F .406 (xt symbols may change in v)-.15 F .406(alue since the program)-.25 F .222(need not be the \214rst in the link editor')132 268.3 R 2.723(so) -.55 G 2.723(utput. Most)-2.723 F(te)2.723 E .223 (xt symbols are de\214ned by appearing as labels.)-.15 F (At the start of an assembly)132 279.3 Q 2.5(,t)-.65 G(he v)-2.5 E (alue of `)-.25 E(`)-.74 E F2(.)1.666 E F0 1.48 -.74('' i)1.666 H 2.5 (st).74 G -.15(ex)-2.5 G 2.5(t0).15 G(.)-2.5 E(data)102 295.8 Q .534 (The v)132 306.8 R .534(alue of a data symbol is measured with respect \ to the origin of the data se)-.25 F .533(gment of a program.)-.15 F(Lik) 132 317.8 Q 3.121(et)-.1 G -.15(ex)-3.121 G 3.121(ts).15 G .621 (ymbols, the v)-3.121 F .621(alue of a data symbol may change during a \ subsequent link-editor run since)-.25 F(pre)132 328.8 Q 1.362 (viously loaded programs may ha)-.25 F 1.662 -.15(ve d)-.2 H 1.362 (ata se).15 F 3.861(gments. After)-.15 F 1.361(the \214rst)3.861 F F2 (.data)3.861 E F0 1.361(statement, the v)3.861 F 1.361(alue of)-.25 F -.74(``)132 339.8 S F2(.)2.406 E F0 1.48 -.74('' i)1.666 H 2.5(sd).74 G (ata 0.)-2.5 E(bss)102 356.3 Q .042(The v)132 367.3 R .042 (alue of a bss symbol is measured from the be)-.25 F .042 (ginning of the bss se)-.15 F .042(gment of a program.)-.15 F(Lik)5.043 E 2.543(et)-.1 G -.15(ex)-2.543 G(t).15 E .832(and data symbols, the v) 132 378.3 R .831(alue of a bss symbol may change during a subsequent li\ nk-editor run, since)-.25 F(pre)132 389.3 Q .554 (viously loaded programs may ha)-.25 F .854 -.15(ve b)-.2 H .554(ss se) .15 F 3.054(gments. After)-.15 F .555(the \214rst)3.055 F F2(.bss)3.055 E F0 .555(statement, the v)3.055 F .555(alue of `)-.25 F(`)-.74 E F2(.) 1.666 E F0 -.74('')1.666 G(is bss 0.)132 400.3 Q -.15(ex)102 416.8 S (ternal absolute, te).15 E(xt, data, or bss)-.15 E .072 (symbols declared)132 427.8 R F2(.globl)2.572 E F0 -.2(bu)2.572 G 2.572 (td).2 G .072(e\214ned within an assembly as absolute, te)-2.572 F .072 (xt, data, or bss symbols may be)-.15 F .069(used e)132 438.8 R .069 (xactly as if the)-.15 F 2.569(yw)-.15 G .069(ere not declared)-2.569 F F2(.globl)2.569 E F0 2.569(;h)C -.25(ow)-2.569 G -2.15 -.25(ev e).25 H .869 -.4(r, t).25 H .07(heir v).4 F .07(alue and type are a)-.25 F -.25 (va)-.2 G .07(ilable to the link).25 F(editor so that the program may b\ e loaded with others that reference these symbols.)132 449.8 Q(re)102 466.3 Q(gister)-.15 E(The symbols)132 477.3 Q F2(r0)192 493.8 Q F0 1.666 (...)5 G F2(r5).834 E(fr0)192 504.8 Q F0 1.666(...)5 G F2(fr5).834 E(sp) 192 515.8 Q(pc)192 526.8 Q F0 .051(are prede\214ned as re)132 543.3 R .051(gister symbols.)-.15 F .051(Either the)5.051 F 2.551(yo)-.15 G 2.551(rs)-2.551 G .05 (ymbols de\214ned from them must be used to refer to)-2.551 F .1(the si\ x general-purpose, six \215oating-point, and the 2 special-purpose mach\ ine re)132 554.3 R 2.6(gisters. The)-.15 F(beha)2.6 E(vior)-.2 E .328 (of the \215oating re)132 565.3 R .328 (gister names is identical to that of the corresponding general re)-.15 F .327(gister names; the for)-.15 F(-)-.2 E(mer are pro)132 576.3 Q (vided as a mnemonic aid.)-.15 E(other types)102 592.8 Q .33(Each k)132 603.8 R -.15(ey)-.1 G -.1(wo).15 G .33(rd kno).1 F .331(wn to the assem\ bler has a type which is used to select the routine which processes)-.25 F .69(the associated k)132 614.8 R -.15(ey)-.1 G -.1(wo).15 G .69 (rd statement.).1 F .69(The beha)5.69 F .69 (vior of such symbols when not used as k)-.2 F -.15(ey)-.1 G -.1(wo).15 G .69(rds is the).1 F(same as if the)132 625.8 Q 2.5(yw)-.15 G (ere absolute.)-2.5 E 2.5(6.3 T)72 647.8 R(ype propag)-.8 E(ation in e) -.05 E(xpressions)-.15 E 1.584(When operands are combined by e)72 664.3 R 1.585(xpression operators, the result has a type which depends on the\ types of the)-.15 F 1.142(operands and on the operator)72 675.3 R 6.142 (.T)-.55 G 1.142(he rules in)-6.142 F -.2(vo)-.4 G(lv).2 E 1.142 (ed are comple)-.15 F 3.642(xt)-.15 G 3.642(os)-3.642 G 1.141(tate b) -3.642 F 1.141(ut were intended to be sensible and pre-)-.2 F 2.5 (dictable. F)72 686.3 R(or purposes of e)-.15 E(xpression e)-.15 E -.25 (va)-.25 G(luation the important types are).25 E(unde\214ned)144 702.8 Q (absolute)144 713.8 Q(te)144 724.8 Q(xt)-.15 E EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 6)72 58 Q F0(data)144 97.8 Q(bss)144 108.8 Q (unde\214ned e)144 119.8 Q(xternal)-.15 E(other)144 130.8 Q .168(The co\ mbination rules are then: If one of the operands is unde\214ned, the re\ sult is unde\214ned.)72 147.3 R .169(If both operands are ab-)5.169 F .576(solute, the result is absolute.)72 158.3 R .576 (If an absolute is combined with one of the `)5.576 F .575 (`other types')-.74 F 3.075('m)-.74 G .575(entioned abo)-3.075 F -.15 (ve)-.15 G 3.075(,o).15 G 3.075(rw)-3.075 G .575(ith a)-3.075 F(re)72 169.3 Q .07(gister e)-.15 F .07(xpression, the result has the re)-.15 F .07(gister or other type.)-.15 F .07 (As a consequence, one can refer to r3 as `)5.07 F(`r0+3')-.74 E 2.57 ('. If)-.74 F(tw)2.57 E(o)-.1 E .659(operands of `)72 180.3 R .659 (`other type')-.74 F 3.159('a)-.74 G .659 (re combined, the result has the numerically lar)-3.159 F .658 (ger type \(not that this f)-.18 F .658(act is v)-.1 F .658(ery useful,) -.15 F .213(since the v)72 191.3 R .214(alues are not made public\).) -.25 F .214(An `)5.214 F .214(`other type')-.74 F 2.714('c)-.74 G .214 (ombined with an e)-2.714 F .214 (xplicitly discussed type other than abso-)-.15 F(lute acts lik)72 202.3 Q 2.5(ea)-.1 G 2.5(na)-2.5 G(bsolute.)-2.5 E (Further rules applying to particular operators are:)72 218.8 Q 34.36 (+I)102 240.8 S 2.791(fo)-34.36 G .291(ne operand is te)-2.791 F .291 (xt-, data-, or bss-se)-.15 F .291 (gment relocatable, or is an unde\214ned e)-.15 F .29 (xternal, the result has)-.15 F (the postulated type and the other operand must be absolute.)142 251.8 Q 34.36102 268.3 S 2.798(ft)-34.36 G .298 (he \214rst operand is a relocatable te)-2.798 F .298 (xt-, data-, or bss-se)-.15 F .298 (gment symbol, the second operand may be)-.15 F 1.178(absolute \(in whi\ ch case the result has the type of the \214rst operand\); or the second\ operand may)142 279.3 R(ha)142 290.3 Q .561 -.15(ve t)-.2 H .261 (he same type as the \214rst \(in which case the result is absolute\).) .15 F .261(If the \214rst operand is e)5.261 F(xternal)-.15 E (unde\214ned, the second must be absolute.)142 301.3 Q (All other combinations are ille)5 E -.05(ga)-.15 G(l.).05 E 36.67(^T) 102 317.8 S .97(his operator follo)-36.67 F .97 (ws no other rule than that the result has the v)-.25 F .969 (alue of the \214rst operand and the)-.25 F(type of the second.)142 328.8 Q 13.06(others It)102 345.3 R(is ille)2.5 E -.05(ga)-.15 G 2.5(lt) .05 G 2.5(oa)-2.5 G(pply these operators to an)-2.5 E 2.5(yb)-.15 G (ut absolute symbols.)-2.7 E/F2 10/Times-Bold@0 SF 2.5 (7. Pseudo-operations)72 367.3 R F0 .647(The k)72 383.8 R -.15(ey)-.1 G -.1(wo).15 G .647(rds listed belo).1 F 3.147(wi)-.25 G .648(ntroduce st\ atements which generate data in unusual forms or in\215uence the later \ opera-)-3.147 F(tions of the assembler)72 394.8 Q 5(.T)-.55 G (he metanotation)-5 E 2.5([s)102 411.3 S(tuf)-2.5 E 2.5(f].)-.25 G 1.666 (..)-.834 G .036(means that 0 or more instances of the gi)72 427.8 R -.15(ve)-.25 G 2.536(ns).15 G(tuf)-2.536 E 2.536(fm)-.25 G .035 (ay appear)-2.536 F 5.035(.A)-.55 G .035(lso, boldf)-5.035 F .035 (ace tok)-.1 F .035(ens are literals, italic w)-.1 F .035(ords are sub-) -.1 F(stitutable.)72 438.8 Q(7.1)72 460.8 Q F2(.byte)5 E F1 -.2(ex)5 G (pr).2 E(ession)-.37 E F0([)5 E F2(,)5 E F1 -.2(ex)2.5 G(pr).2 E(ession) -.37 E F0 5(].)2.5 G 1.666(..)-3.334 G(The)72 477.3 Q F1 -.2(ex)2.96 G (pr).2 E(ession)-.37 E F0 2.96(si)C 2.96(nt)-2.96 G .46(he comma-separa\ ted list are truncated to 8 bits and assembled in successi)-2.96 F .76 -.15(ve b)-.25 H 2.96(ytes. The).15 F -.15(ex)2.96 G(pres-).15 E .835 (sions must be absolute.)72 488.3 R .835 (This statement and the string statement abo)5.835 F 1.134 -.15(ve a) -.15 H .834(re the only ones which assemble data one).15 F (byte at at time.)72 499.3 Q(7.2)72 521.3 Q F2(.e)5 E -.1(ve)-.15 G(n).1 E F0 .044(If the location counter `)72 537.8 R(`)-.74 E F2(.)1.666 E F0 1.525 -.74('' i)1.666 H 2.545(so).74 G .045(dd, it is adv)-2.545 F .045 (anced by one so the ne)-.25 F .045 (xt statement will be assembled at a w)-.15 F .045(ord boundary)-.1 F(.) -.65 E(7.3)72 559.8 Q F2(.if)5 E F1 -.2(ex)5 G(pr).2 E(ession)-.37 E F0 (The)72 576.3 Q F1 -.2(ex)3.17 G(pr).2 E(ession)-.37 E F0 .669 (must be absolute and de\214ned in pass 1.)3.17 F .669(If its v)5.669 F .669(alue is nonzero, the)-.25 F F2(.if)3.169 E F0 .669 (is ignored; if zero, the state-)3.169 F .66(ments between the)72 587.3 R F2(.if)3.16 E F0 .66(and the matching)3.16 F F2(.endif)3.16 E F0 (\(belo)3.16 E .66(w\) are ignored.)-.25 F F2(.if)5.66 E F0 .66 (may be nested.)3.16 F .66(The ef)5.66 F .66(fect of)-.25 F F2(.if)3.16 E F0 .66(cannot e)3.16 F(x-)-.15 E .714(tend be)72 598.3 R .714 (yond the end of the input \214le in which it appears.)-.15 F .714 (\(The statements are not totally ignored, in the follo)5.714 F(wing) -.25 E(sense:)72 609.3 Q F2(.if)2.944 E F0 2.944(sa)C(nd)-2.944 E F2 (.endif)2.944 E F0 2.944(sa)C .444(re scanned for)-2.944 F 2.945(,a)-.4 G .445(nd moreo)-2.945 F -.15(ve)-.15 G 2.945(ra).15 G .445 (ll names are entered in the symbol table.)-2.945 F .445 (Thus names occur)5.445 F(-)-.2 E(ring only inside an)72 620.3 Q F2(.if) 2.5 E F0(will sho)2.5 E 2.5(wu)-.25 G 2.5(pa)-2.5 G 2.5(su)-2.5 G (nde\214ned if the symbol table is listed.\))-2.5 E(7.4)72 642.3 Q F2 (.endif)5 E F0(This statement marks the end of a conditionally-assemble\ d section of code.)72 658.8 Q(See)5 E F2(.if)2.5 E F0(abo)2.5 E -.15(ve) -.15 G(.).15 E(7.5)72 680.8 Q F2(.globl)5 E F1(name)5 E F0([)5 E F2(,)5 E F1(name)5 E F0 5(].)5 G 1.666(..)-3.334 G 1.04(This statement mak)72 697.3 R 1.04(es the)-.1 F F1(names)3.54 E F0 -.15(ex)3.54 G 3.54 (ternal. If).15 F(the)3.54 E 3.54(ya)-.15 G 1.04 (re otherwise de\214ned \(by assignment or appearance as a label\))-3.54 F(the)72 708.3 Q 3.434(ya)-.15 G .934(ct within the assembly e)-3.434 F .934(xactly as if the)-.15 F F2(.globl)3.434 E F0 .935 (statement were not gi)3.434 F -.15(ve)-.25 G .935(n; ho).15 F(we)-.25 E -.15(ve)-.25 G 1.735 -.4(r, t).15 H .935(he link editor).4 F F1(ld)3.435 E F0 .935(may be)3.435 F(used to combine this routine with other routin\ es that refer these symbols.)72 719.3 Q EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 7)451.4 58 Q F0(Con)72 97.8 Q -.15(ve)-.4 G(rsely) .15 E 2.825(,i)-.65 G 2.825(ft)-2.825 G .325(he gi)-2.825 F -.15(ve)-.25 G 2.825(ns).15 G .325 (ymbols are not de\214ned within the current assembly)-2.825 F 2.825(,t) -.65 G .325(he link editor can combine the output)-2.825 F (of this assembly with that of others which de\214ne the symbols.)72 108.8 Q (As discussed in \2471, it is possible to force the assembler to mak)72 125.3 Q 2.5(ea)-.1 G(ll otherwise unde\214ned symbols e)-2.5 E(xternal.) -.15 E(7.6)72 147.3 Q/F2 10/Times-Bold@0 SF(.text)5 E F0(7.7)72 158.3 Q F2(.data)5 E F0(7.8)72 169.3 Q F2(.bss)5 E F0 .88 (These three pseudo-operations cause the assembler to be)72 185.8 R .881 (gin assembling into the te)-.15 F .881(xt, data, or bss se)-.15 F .881 (gment respec-)-.15 F(ti)72 196.8 Q -.15(ve)-.25 G(ly).15 E 5.703(.A) -.65 G .703(ssembly starts in the te)-5.703 F .703(xt se)-.15 F 3.203 (gment. It)-.15 F .703(is forbidden to assemble an)3.203 F 3.202(yc)-.15 G .702(ode or data into the bss se)-3.202 F .702(gment, b)-.15 F(ut)-.2 E(symbols may be de\214ned and `)72 207.8 Q(`)-.74 E F2(.)1.666 E F0 1.48 -.74('' m)1.666 H -.15(ove).74 G 2.5(da).15 G(bout by assignment.) -2.5 E(7.9)72 229.8 Q F2(.comm)5 E F1(name)5 E F2(,)5 E F1 -.2(ex)5 G (pr).2 E(ession)-.37 E F0(Pro)72 246.3 Q(vided the)-.15 E F1(name)2.5 E F0(is not de\214ned else)2.5 E(where, this statement is equi)-.25 E -.25 (va)-.25 G(lent to).25 E 2.5(.globl name)132 262.8 R(name = e)132 273.8 Q(xpression ^ name)-.15 E .572(That is, the type of)72 290.3 R F1(name) 3.073 E F0 .573(is `)3.073 F .573(`unde\214ned e)-.74 F(xternal')-.15 E .573(', and its v)-.74 F .573(alue is)-.25 F F1 -.2(ex)3.073 G(pr).2 E (ession)-.37 E F0 5.573(.I)C 3.073(nf)-5.573 G .573(act the)-3.173 F F1 (name)3.073 E F0(beha)3.073 E -.15(ve)-.2 G 3.073(si).15 G 3.073(nt) -3.073 G .573(he cur)-3.073 F(-)-.2 E .333(rent assembly just lik)72 301.3 R 2.833(ea)-.1 G 2.833(nu)-2.833 G .333(nde\214ned e)-2.833 F 2.832(xternal. Ho)-.15 F(we)-.25 E -.15(ve)-.25 G 1.132 -.4(r, t).15 H .332(he link-editor).4 F F1(ld)2.832 E F0 .332 (has been special-cased so that all e)2.832 F(xternal)-.15 E .039 (symbols which are not otherwise de\214ned, and which ha)72 312.3 R .339 -.15(ve a n)-.2 H .039(on-zero v).15 F .039 (alue, are de\214ned to lie in the bss se)-.25 F .039(gment, and)-.15 F .679(enough space is left after the symbol to hold)72 323.3 R F1 -.2(ex) 3.178 G(pr).2 E(ession)-.37 E F0 3.178(bytes. All)3.178 F .678 (symbols which become de\214ned in this w)3.178 F .678(ay are)-.1 F (located before all the e)72 334.3 Q(xplicitly de\214ned bss-se)-.15 E (gment locations.)-.15 E F2 5(8. Machine)72 356.3 R(instructions)2.5 E F0 .3(Because of the rather complicated instruction and addressing stru\ cture of the)72 372.8 R/F3 8/Times-Roman@0 SF(PDP)2.801 E F0 .301 (-11, the syntax of machine instruc-)B .427(tion statements is v)72 383.8 R 2.927(aried. Although)-.25 F .427(the follo)2.927 F .427 (wing sections gi)-.25 F .726 -.15(ve t)-.25 H .426 (he syntax in detail, the 11/20 and 11/45 handbooks).15 F (should be consulted on the semantics.)72 394.8 Q 2.5(8.1 Sources)72 416.8 R(and Destinations)2.5 E 1.053 (The syntax of general source and destination addresses is the same.)72 433.3 R 1.053(Each must ha)6.053 F 1.354 -.15(ve o)-.2 H 1.054 (ne of the follo).15 F 1.054(wing forms,)-.25 F(where)72 444.3 Q F1 -.37 (re)2.5 G(g)-.03 E F0(is a re)2.5 E(gister symbol, and)-.15 E F1 -.2(ex) 2.5 G(pr).2 E F0(is an)2.5 E 2.5(ys)-.15 G(ort of e)-2.5 E(xpression:) -.15 E 48.79(syntax w)126 466.3 R 39.76(ords mode)-.1 F .4 LW 131 472.3 126 472.3 DL 133.5 472.3 128.5 472.3 DL 138.26 472.3 133.26 472.3 DL 143.26 472.3 138.26 472.3 DL 148.26 472.3 143.26 472.3 DL 153.26 472.3 148.26 472.3 DL 158.26 472.3 153.26 472.3 DL 163.26 472.3 158.26 472.3 DL 168.26 472.3 163.26 472.3 DL 173.26 472.3 168.26 472.3 DL 178.26 472.3 173.26 472.3 DL 183.26 472.3 178.26 472.3 DL 188.26 472.3 183.26 472.3 DL 193.26 472.3 188.26 472.3 DL 198.26 472.3 193.26 472.3 DL 203.26 472.3 198.26 472.3 DL 208.26 472.3 203.26 472.3 DL 213.26 472.3 208.26 472.3 DL 218.26 472.3 213.26 472.3 DL 223.26 472.3 218.26 472.3 DL 228.26 472.3 223.26 472.3 DL 233.26 472.3 228.26 472.3 DL 238.26 472.3 233.26 472.3 DL 243.26 472.3 238.26 472.3 DL 248.26 472.3 243.26 472.3 DL 253.26 472.3 248.26 472.3 DL 258.26 472.3 253.26 472.3 DL 263.26 472.3 258.26 472.3 DL 268.26 472.3 263.26 472.3 DL 273.26 472.3 268.26 472.3 DL 278.26 472.3 273.26 472.3 DL 283.26 472.3 278.26 472.3 DL 288.26 472.3 283.26 472.3 DL 293.26 472.3 288.26 472.3 DL F1 -.37(re) 126 488.3 S(g)-.03 E F0 49(00)77.44 G(+)-49 E F1 -.37(re)C(g)-.03 E F2 (\()126 499.3 Q F1 -.37(re)1.666 G(g)-.03 E F2 1.666(\)+)1.666 G F0 49 (02)58.416 G(+)-49 E F1 -.37(re)C(g)-.03 E F2 1.666126 510.3 S F1 -.37(re)C(g)-.03 E F2(\))1.666 E F0 49(04)60.082 G(+)-49 E F1 -.37(re)C (g)-.03 E -.2(ex)126 521.3 S(pr).2 E F2(\()1.666 E F1 -.37(re)1.666 G(g) -.03 E F2(\))1.666 E F0 49(16)48.212 G(+)-49 E F1 -.37(re)C(g)-.03 E F2 (\()126 532.3 Q F1 -.37(re)1.666 G(g)-.03 E F2(\))1.666 E F0 49(01) 67.448 G(+)-49 E F1 -.37(re)C(g)-.03 E F2(*)126 543.3 Q F1 -.37(re)1.666 G(g)-.03 E F0 49(01)70.774 G(+)-49 E F1 -.37(re)C(g)-.03 E F2 1.666(*\() 126 554.3 S F1 -.37(re)C(g)-.03 E F2 1.666(\)+)1.666 G F0 49(03)51.75 G (+)-49 E F1 -.37(re)C(g)-.03 E F2 1.666<2aad28>126 565.3 S F1 -.37(re)C (g)-.03 E F2(\))1.666 E F0 49(05)53.416 G(+)-49 E F1 -.37(re)C(g)-.03 E F2 1.666(*\()126 576.3 S F1 -.37(re)C(g)-.03 E F2(\))1.666 E F0 49(17) 60.782 G(+)-49 E F1 -.37(re)C(g)-.03 E F2(*)126 587.3 Q F1 -.2(ex)1.666 G(pr).2 E F2(\()1.666 E F1 -.37(re)1.666 G(g)-.03 E F2(\))1.666 E F0 49 (17)41.546 G(+)-49 E F1 -.37(re)C(g)-.03 E -.2(ex)126 598.3 S(pr).2 E F0 49(16)72.43 G(7)-49 E F2($)126 609.3 Q F1 -.2(ex)1.666 G(pr).2 E F0 49 (12)65.764 G(7)-49 E F2(*)126 620.3 Q F1 -.2(ex)1.666 G(pr).2 E F0 49 (17)65.764 G(7)-49 E F2 1.666(*$)126 631.3 S F1 -.2(ex)C(pr).2 E F0 49 (13)59.098 G(7)-49 E(The)72 653.3 Q F1(wor)3.675 E(ds)-.37 E F0 1.175 (column gi)3.675 F -.15(ve)-.25 G 3.675(st).15 G 1.175 (he number of address w)-3.675 F 1.174(ords generated; the)-.1 F F1 (mode)3.674 E F0 1.174(column gi)3.674 F -.15(ve)-.25 G 3.674(st).15 G 1.174(he octal address-mode)-3.674 F(number)72 664.3 Q 5.135(.T)-.55 G .136(he syntax of the address forms is identical to that in)-5.135 F F3 (DEC)2.636 E F0 .136(assemblers, e)2.636 F .136(xcept that `)-.15 F(`*') -.74 E 2.636('h)-.74 G .136(as been substituted)-2.636 F(for `)72 675.3 Q(`@')-.74 E 2.5('a)-.74 G(nd `)-2.5 E(`$')-.74 E 2.5('f)-.74 G(or `) -2.5 E(`#')-.74 E('; the)-.74 E F3(UNIX)2.5 E F0(typing con)2.5 E -.15 (ve)-.4 G(ntions mak).15 E 2.5(e`)-.1 G(`@')-3.24 E 2.5('a)-.74 G(nd `) -2.5 E(`#')-.74 E 2.5('r)-.74 G(ather incon)-2.5 E -.15(ve)-.4 G(nient.) .15 E 1.005(Notice that mode `)72 691.8 R(`*re)-.74 E(g')-.15 E 3.505 ('i)-.74 G 3.505(si)-3.505 G 1.005(dentical to `)-3.505 F(`\(re)-.74 E (g\)')-.15 E 1.005('; that `)-.74 F(`*\(re)-.74 E(g\)')-.15 E 3.505('g) -.74 G 1.005(enerates an inde)-3.505 F 3.505(xw)-.15 G 1.005 (ord \(namely)-3.605 F 3.505(,0)-.65 G 1.005(\); and that ad-)-3.505 F .195(dresses consisting of an unadorned e)72 702.8 R .195 (xpression are assembled as pc-relati)-.15 F .495 -.15(ve r)-.25 H .195 (eferences independent of the type of the).15 F -.15(ex)72 713.8 S 3.117 (pression. T).15 F 3.117(of)-.8 G .617(orce a non-relati)-3.117 F .917 -.15(ve r)-.25 H .617(eference, the form `).15 F(`*$e)-.74 E(xpr')-.15 E 3.116('c)-.74 G .616(an be used, b)-3.116 F .616 (ut notice that further indirection is)-.2 F EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 8)72 58 Q F0(impossible.)72 97.8 Q 2.5(8.3 Simple)72 119.8 R(machine instructions)2.5 E(The follo)72 136.3 Q (wing instructions are de\214ned as absolute symbols:)-.25 E/F2 10 /Times-Bold@0 SF(clc)144 152.8 Q(clv)144 163.8 Q(clz)144 174.8 Q(cln)144 185.8 Q(sec)144 196.8 Q(se)144 207.8 Q(v)-.15 E(sez)144 218.8 Q(sen)144 229.8 Q F0(The)72 246.3 Q 2.922(yt)-.15 G .422 (herefore require no special syntax.)-2.922 F(The)5.422 E/F3 8 /Times-Roman@0 SF(PDP)2.922 E F0 .422(-11 hardw)B .422(are allo)-.1 F .422(ws more than one of the `)-.25 F(`clear')-.74 E 2.922('c)-.74 G .423(lass, or alter)-2.922 F(-)-.2 E(nati)72 257.3 Q -.15(ve)-.25 G (ly more than one of the `).15 E(`set')-.74 E 2.5('c)-.74 G(lass to be) -2.5 E F2(or)2.5 E F0(-ed together; this may be e)A(xpressed as follo) -.15 E(ws:)-.25 E(clc)144 273.8 Q/F4 10/Symbol SF4.998 E F0(clv) 3.332 E 2.5(8.4 Branch)72 295.8 R .227(The follo)72 312.3 R .227 (wing instructions tak)-.25 F 2.727(ea)-.1 G 2.727(ne)-2.727 G .227 (xpression as operand.)-2.877 F .227(The e)5.227 F .227 (xpression must lie in the same se)-.15 F .226(gment as the refer)-.15 F (-)-.2 E .769(ence, cannot be unde\214ned-e)72 323.3 R .77 (xternal, and its v)-.15 F .77(alue cannot dif)-.25 F .77 (fer from the current location of `)-.25 F(`)-.74 E F2(.)1.666 E F0 2.25 -.74('' b)1.666 H 3.27(ym).74 G .77(ore than 254)-3.27 F(bytes:)72 334.3 Q F2 95.5(br blos)144 350.8 R 89.94(bne b)144 361.8 R(vc)-.15 E 89.94 (beq b)144 372.8 R(vs)-.15 E 90.5(bge bhis)144 383.8 R 93.83(blt bec)144 394.8 R F0(\(=)21.56 E F2(bcc)2.5 E F0(\))A F2 91.61(bgt bcc)144 405.8 R 92.72(ble blo)144 416.8 R 91.6(bpl bcs)144 427.8 R 88.83(bmi bes)144 438.8 R F0(\(=)22.11 E F2(bcs)2.5 E F0(\))A F2(bhi)144 449.8 Q(bes)72 466.3 Q F0(\(`)3.139 E .639(`branch on error set')-.74 F .639('\) and) -.74 F F2(bec)3.139 E F0(\(`)3.139 E .639(`branch on error clear')-.74 F .639('\) are intended to test the error bit returned by system)-.74 F (calls \(which is the c-bit\).)72 477.3 Q 5(8.5 Extended)72 499.3 R (branch instructions)2.5 E .746(The follo)72 515.8 R .746 (wing symbols are follo)-.25 F .746(wed by an e)-.25 F .746 (xpression representing an address in the same se)-.15 F .746 (gment as `)-.15 F(`)-.74 E F2(.)1.666 E F0 -.74('')1.666 G 5.746(.I).74 G 3.246(ft)-5.746 G(he)-3.246 E(tar)72 526.8 Q .742(get address is clos\ e enough, a branch-type instruction is generated; if the address is too\ f)-.18 F .741(ar a)-.1 F -.1(wa)-.15 G 2.041 -.65(y, a).1 H F2(jmp) 3.891 E F0 .741(will be)3.241 F(used.)72 537.8 Q F2 92.17(jbr jlos)144 554.3 R 92.17(jne jvc)144 565.3 R 92.17(jeq jvs)144 576.3 R 92.73 (jge jhis)144 587.3 R 96.06(jlt jec)144 598.3 R 93.84(jgt jcc)144 609.3 R 94.95(jle jlo)144 620.3 R 93.83(jpl jcs)144 631.3 R 91.06(jmi jes)144 642.3 R(jhi)144 653.3 Q(jbr)72 669.8 Q F0 .215(turns into a plain)2.715 F F2(jmp)2.715 E F0 .215(if its tar)2.715 F .216(get is too remote; the\ others \(whose names are contructed by replacing the `)-.18 F(`b')-.74 E 2.716('i)-.74 G(n)-2.716 E(the branch instruction')72 680.8 Q 2.5(sn) -.55 G(ame by `)-2.5 E(`j')-.74 E -3.332 1.666('\) t)-.74 H (urn into the con)-1.666 E -.15(ve)-.4 G(rse branch o).15 E -.15(ve)-.15 G 2.5(ra).15 G F2(jmp)A F0(to the tar)2.5 E(get address.)-.18 E 2.5 (8.6 Single)72 702.8 R(operand instructions)2.5 E 1.436(The follo)72 719.3 R 1.436 (wing symbols are names of single-operand machine instructions.)-.25 F 1.435(The form of address e)6.435 F 1.435(xpected is dis-)-.15 F (cussed in \2478.1 abo)72 730.3 Q -.15(ve)-.15 G(.).15 E EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 9)451.4 58 Q/F2 10/Times-Bold@0 SF 93.84(clr sbcb) 144 97.8 R 88.28(clrb r)144 108.8 R(or)-.18 E 87.73(com r)144 119.8 R (orb)-.18 E 82.17(comb r)144 130.8 R(ol)-.18 E 92.72(inc r)144 141.8 R (olb)-.18 E 87.16(incb asr)144 152.8 R 91.06(dec asrb)144 163.8 R 85.5 (decb asl)144 174.8 R 90.5(neg aslb)144 185.8 R 84.94(negb jmp)144 196.8 R 90.5(adc swab)144 207.8 R 84.94(adcb tst)144 218.8 R 91.61(sbc tstb) 144 229.8 R F0 2.5(8.7 Double)72 251.8 R(operand instructions)2.5 E (The follo)72 268.3 Q(wing instructions tak)-.25 E 2.5(eag)-.1 G(eneral\ source and destination \(\2478.1\), separated by a comma, as operands.) -2.5 E F2(mo)144 284.8 Q(v)-.1 E(mo)144 295.8 Q(vb)-.1 E(cmp)144 306.8 Q (cmpb)144 317.8 Q(bit)144 328.8 Q(bitb)144 339.8 Q(bic)144 350.8 Q(bicb) 144 361.8 Q(bis)144 372.8 Q(bisb)144 383.8 Q(add)144 394.8 Q(sub)144 405.8 Q F0 2.5(8.8 Miscellaneous)72 427.8 R(instructions)2.5 E .087 (The follo)72 444.3 R .087(wing instructions ha)-.25 F .387 -.15(ve m) -.2 H .087(ore specialized syntax.).15 F(Here)5.087 E F1 -.37(re)2.587 G (g)-.03 E F0 .087(is a re)2.587 F .087(gister name,)-.15 F F1(sr)2.588 E (c)-.37 E F0(and)2.588 E F1(dst)2.588 E F0 2.588(ag)2.588 G .088 (eneral source or)-2.588 F(destination \(\2478.1\), and)72 455.3 Q F1 -.2(ex)2.5 G(pr).2 E F0(is an e)2.5 E(xpression:)-.15 E F2(jsr)144 471.8 Q F1 -.37(re)24.34 G -.1(g,)-.03 G(dst).1 E F2(rts)144 482.8 Q F1 -.37 (re)24.34 G(g)-.03 E F2(sys)144 493.8 Q F1 -.2(ex)23.22 G(pr).2 E F2 (ash)144 504.8 Q F1(sr)21.55 E 1.666(c,r)-.37 G -.4(eg)-2.036 G F0(\(or) 78.158 E(,)-.4 E F2(als)2.5 E F0(\))A F2(ashc)144 515.8 Q F1(sr)17.11 E 1.666(c,r)-.37 G -.4(eg)-2.036 G F0(\(or)78.158 E(,)-.4 E F2(alsc)2.5 E F0(\))A F2(mul)144 526.8 Q F1(sr)19.33 E 1.666(c,r)-.37 G -.4(eg)-2.036 G F0(\(or)78.158 E(,)-.4 E F2(mpy)2.5 E F0(\))A F2(di)144 537.8 Q(v)-.1 E F1(sr)22.76 E 1.666(c,r)-.37 G -.4(eg)-2.036 G F0(\(or)78.158 E(,)-.4 E F2(dvd)2.5 E F0(\))A F2(xor)144 548.8 Q F1 -.37(re)21.56 G 1.666(g,d) -.03 G(st)-1.666 E F2(sxt)144 559.8 Q F1(dst)23.78 E F2(mark)144 570.8 Q F1 -.2(ex)12.67 G(pr).2 E F2(sob)144 581.8 Q F1 -.37(re)21.55 G 1.666 (g,e)-.03 G(xpr)-1.866 E F2(sys)72 598.3 Q F0 .061 (is another name for the)2.561 F F2(trap)2.561 E F0 2.561 (instruction. It)2.561 F .06(is used to code system calls.)2.561 F .06 (Its operand is required to be e)5.06 F(xpressible)-.15 E .614 (in 6 bits.)72 609.3 R .615(The alternati)5.615 F .915 -.15(ve f)-.25 H .615(orms for).15 F F2(ash)3.115 E F0(,)A F2(ashc)3.115 E F0(,)A F2(mul) 3.115 E F0 3.115(,a)C(nd)-3.115 E F2(di)3.115 E(v)-.1 E F0 .615(are pro) 3.115 F .615(vided to a)-.15 F -.2(vo)-.2 G .615(id con\215ict with).2 F /F3 8/Times-Roman@0 SF(EAE)3.115 E F0(re)3.115 E .615(gister names)-.15 F(should the)72 620.3 Q 2.5(yb)-.15 G 2.5(en)-2.5 G(eeded.)-2.5 E .65 (The e)72 636.8 R .649(xpression in)-.15 F F2(mark)3.149 E F0 .649 (must be e)3.149 F .649(xpressible in six bits, and the e)-.15 F .649 (xpression in)-.15 F F2(sob)3.149 E F0 .649(must be in the same se)3.149 F .649(gment as)-.15 F -.74(``)72 647.8 S F2(.)2.406 E F0 -.74('')1.666 G 2.5(,m).74 G(ust not be e)-2.5 E (xternal-unde\214ned, must be less than `)-.15 E(`)-.74 E F2(.)1.666 E F0 -.74('')1.666 G 2.5(,a).74 G(nd must be within 510 bytes of `)-2.5 E (`)-.74 E F2(.)1.666 E F0 -.74('')1.666 G(.).74 E 2.5 (8.9 Floating-point)72 669.8 R(unit instructions)2.5 E(The follo)72 686.3 Q(wing \215oating-point operations are de\214ned, with syntax as \ indicated:)-.25 E F2(cfcc)144 702.8 Q(setf)144 713.8 Q(setd)144 724.8 Q EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 10)72 58 Q/F2 10/Times-Bold@0 SF(seti)144 97.8 Q (setl)144 108.8 Q(clrf)144 119.8 Q F1(fdst)21.01 E F2(negf)144 130.8 Q F1(fdst)17.67 E F2(absf)144 141.8 Q F1(fdst)18.22 E F2(tstf)144 152.8 Q F1(fsr)22.12 E(c)-.37 E F2(mo)144 163.8 Q(vf)-.1 E F1(fsr)14.44 E -.834 (c, fr)-.37 F -.4(eg)-.37 G F0(\(= ldf)74.264 E(\))1.666 E F2(mo)144 174.8 Q(vf)-.1 E F1(fr)14.44 E -1.8 -.4(eg ,)-.37 H(fdst)2.066 E F0 (\(= stf)74.144 E(\))1.666 E F2(mo)144 185.8 Q(vif)-.1 E F1(sr)11.66 E -.834(c, fr)-.37 F -.4(eg)-.37 G F0(\(= ldcif)77.044 E(\))1.666 E F2(mo) 144 196.8 Q<768c>-.1 E F1(fr)12.21 E -1.8 -.4(eg ,)-.37 H(dst)2.066 E F0 (\(= stc\214)76.924 E(\))1.666 E F2(mo)144 207.8 Q -.1(vo)-.1 G(f).1 E F1(fsr)9.54 E -.834(c, fr)-.37 F -.4(eg)-.37 G F0(\(= ldcdf)74.264 E(\)) 1.666 E F2(mo)144 218.8 Q(vf)-.1 E(o)-.25 E F1(fr)9.69 E -1.8 -.4(eg ,) -.37 H(fdst)2.066 E F0(\(= stcfd)74.144 E(\))1.666 E F2(mo)144 229.8 Q (vie)-.1 E F1(sr)10.55 E -.834(c, fr)-.37 F -.4(eg)-.37 G F0(\(= lde) 77.044 E(xp\))-.15 E F2(mo)144 240.8 Q -.1(ve)-.1 G(i).1 E F1(fr)10.65 E -1.8 -.4(eg ,)-.37 H(dst)2.066 E F0(\(= ste)76.924 E(xp\))-.15 E F2 (addf)144 251.8 Q F1(fsr)16.55 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2 (subf)144 262.8 Q F1(fsr)17.66 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2 (mulf)144 273.8 Q F1(fsr)16 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2(di)144 284.8 Q(vf)-.1 E F1(fsr)19.43 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2 (cmpf)144 295.8 Q F1(fsr)14.34 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2 (modf)144 306.8 Q F1(fsr)13.78 E -.834(c, fr)-.37 F -.4(eg)-.37 G F2 (ldfps)144 317.8 Q F1(sr)14.88 E(c)-.37 E F2(stfps)144 328.8 Q F1(dst)16 E F2(stst)144 339.8 Q F1(dst)21.56 E(fsr)72 356.3 Q(c)-.37 E F0(,)A F1 (fdst)2.801 E F0 2.801(,a)C(nd)-2.801 E F1(fr)2.802 E -.4(eg)-.37 G F0 .302(mean \215oating-point source, destination, and re)3.202 F .302 (gister respecti)-.15 F -.15(ve)-.25 G(ly).15 E 5.302(.T)-.65 G .302 (heir syntax is identical to that)-5.302 F (for their non-\215oating counterparts, b)72 367.3 Q (ut note that only \215oating re)-.2 E(gisters 0\2123 can be a)-.15 E F1 (fr)2.5 E -.4(eg)-.37 G F0(.).4 E .593(The names of se)72 383.8 R -.15 (ve)-.25 G .592(ral of the operations ha).15 F .892 -.15(ve b)-.2 H .592 (een changed to bring out an analogy with certain \214x).15 F .592 (ed-point instruc-)-.15 F 3.33(tions. The)72 394.8 R .83 (only strange case is)3.33 F F2(mo)3.33 E(vf)-.1 E F0 3.33(,w)C .83 (hich turns into either)-3.33 F F2(stf)3.331 E F0(or)3.331 E F2(ldf) 3.331 E F0 .831(depending respecti)3.331 F -.15(ve)-.25 G .831 (ly on whether its \214rst).15 F(operand is or is not a re)72 405.8 Q (gister)-.15 E 5(.W)-.55 G(arning:)-5.8 E F2(ldf)5 E F0 (sets the \215oating condition codes,)2.5 E F2(stf)2.5 E F0(does not.) 2.5 E F2 2.5(9. Other)72 427.8 R(symbols)2.5 E F0(9.1)72 444.3 Q F2 1.666(..)5 G F0 .071(The symbol `)72 460.8 R(`)-.74 E F2 1.666(..)1.666 G F0 1.551 -.74('' i)D 2.571(st).74 G(he)-2.571 E F1 -.37(re)2.571 G .071(location counter).37 F F0 5.071(.J)C .071 (ust before each assembled w)-5.071 F .07 (ord is placed in the output stream, the cur)-.1 F(-)-.2 E .17(rent v)72 471.8 R .17(alue of this symbol is added to the w)-.25 F .17 (ord if the w)-.1 F .17(ord refers to a te)-.1 F .171 (xt, data or bss se)-.15 F .171(gment location.)-.15 F .171 (If the output)5.171 F -.1(wo)72 482.8 S(rd is a pc-relati).1 E .3 -.15 (ve a)-.25 H(ddress w).15 E (ord which refers to an absolute location, the v)-.1 E(alue of `)-.25 E (`)-.74 E F2 1.666(..)1.666 G F0 1.48 -.74('' i)D 2.5(ss).74 G (ubtracted.)-2.5 E .037(Thus the v)72 499.3 R .037(alue of `)-.25 F(`) -.74 E F2 1.666(..)1.666 G F0 1.517 -.74('' c)D .037(an be tak).74 F .037(en to mean the starting core location of the program.)-.1 F(In) 5.036 E/F3 8/Times-Roman@0 SF(UNIX)2.536 E F0 .036(systems with reloca-) 2.536 F(tion hardw)72 510.3 Q(are, the initial v)-.1 E(alue of `)-.25 E (`)-.74 E F2 1.666(..)1.666 G F0 1.48 -.74('' i)D 2.5(s0).74 G(.)-2.5 E .474(The v)72 526.8 R .474(alue of `)-.25 F(`)-.74 E F2 1.666(..)1.666 G F0 1.954 -.74('' m)D .474(ay be changed by assignment.).74 F .474 (Such a course of action is sometimes necessary)5.474 F 2.975(,b)-.65 G .475(ut the conse-)-3.175 F .493 (quences should be carefully thought out.)72 537.8 R .493 (It is particularly ticklish to change `)5.493 F(`)-.74 E F2 1.666(..) 1.666 G F0 1.973 -.74('' m)D(idw).74 E .492(ay in an assembly or to do) -.1 F(so in a program which will be treated by the loader)72 548.8 Q 2.5 (,w)-.4 G(hich has its o)-2.5 E(wn notions of `)-.25 E(`)-.74 E F2 1.666 (..)1.666 G F0 -.74('')C(.).74 E 2.5(9.2 System)72 570.8 R(calls)2.5 E (The follo)72 587.3 Q (wing absolute symbols may be used to code calls to the)-.25 E F3(UNIX) 2.5 E F0(system \(see the)2.5 E F2(sys)2.5 E F0(instruction abo)2.5 E -.15(ve)-.15 G(\).).15 E F2(br)144 603.8 Q 80.68(eak nice)-.18 F 82.72 (chdir open)144 614.8 R 76.61(chmod r)144 625.8 R(ead)-.18 E(cho)144 636.8 Q 77.82(wn seek)-.1 F 84.95(close setuid)144 647.8 R(cr)144 658.8 Q 84.03(eat signal)-.18 F 87.18(exec stat)144 669.8 R 89.95(exit stime) 144 680.8 R -.25(fo)144 691.8 S 87.42(rk stty).25 F 86.62(fstat tell)144 702.8 R 78.83(getuid time)144 713.8 R 88.84(gtty umount)144 724.8 R EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q/F1 10/Times-Italic@0 SF (Assembler Manual - 11)446.4 58 Q/F2 10/Times-Bold@0 SF 88.82 (link unlink)144 97.8 R 73.83(makdir wait)144 108.8 R 78.84(mdate write) 144 119.8 R(mount)144 130.8 Q F0 -.8(Wa)72 147.3 S(rning: the).8 E F2 (wait)2.5 E F0(system call is not the same as the)2.5 E F2(wait)2.5 E F0 (instruction, which is not de\214ned in the assembler)2.5 E(.)-.55 E F2 2.5(10. Diagnostics)72 169.3 R F0 .402 (When an input \214le cannot be read, its name follo)72 185.8 R .403 (wed by a question mark is typed and assembly ceases.)-.25 F .403 (When syn-)5.403 F .611(tactic or semantic errors occur)72 196.8 R 3.111 (,as)-.4 G .61(ingle-character diagnostic is typed out together with th\ e line number and the \214le)-3.111 F(name in which it occurred.)72 207.8 Q(Errors in pass 1 cause cancellation of pass 2.)5 E (The possible errors are:)5 E 20.77(\)p)108 229.8 S(arentheses error) -20.77 E 20.77(]p)108 240.8 S(arentheses error)-20.77 E 18.46(>s)108 251.8 S(tring not terminated properly)-18.46 E 19.1(*i)108 262.8 S (ndirection \()-19.1 E -3.332 1.666(*\) u)1.666 H(sed ille)-1.666 E -.05 (ga)-.15 G(lly).05 E F2(.)108 273.8 Q F0(ille)21.6 E -.05(ga)-.15 G 2.5 (la).05 G(ssignment to `)-2.5 E(`)-.74 E F2(.)1.666 E F0 -.74('')1.666 G /F3 8/Times-Roman@0 SF(A)108 284.8 Q F0(error in address)18.324 E F3(B) 108 295.8 Q F0(branch address is odd or too remote)18.764 E F3(E)108 306.8 Q F0(error in e)19.212 E(xpression)-.15 E F3(F)108 317.8 Q F0 (error in local \(`)19.652 E -.834(`f ')-.74 F 2.5('o)-.74 G 2.5(r`)-2.5 G(`b')-3.24 E('\) type symbol)-.74 E F3(G)108 328.8 Q F0 -.05(ga)18.324 G(rbage \(unkno).05 E(wn\) character)-.25 E F3(I)108 339.8 Q F0 (end of \214le inside an)21.436 E F2(.if)2.5 E F3(M)108 350.8 Q F0 (multiply de\214ned symbol as label)16.988 E F3(O)108 361.8 Q F0 -.1(wo) 18.324 G(rd quantity assembled at odd address).1 E F3(P)108 372.8 Q F0 (phase error\212`)19.652 E(`)-.74 E F2(.)1.666 E F0 1.48 -.74('' d)1.666 H(if).74 E(ferent in pass 1 and 2)-.25 E F3(R)108 383.8 Q F0 (relocation error)18.764 E F3(U)108 394.8 Q F0(unde\214ned symbol)18.324 E F3(X)108 405.8 Q F0(syntax error)18.324 E EP %%Trailer end %%EOF