📄 as.9
字号:
%!PS-Adobe-1.0%%Creator: devps (Pipeline Associates, Inc.)%%CreationDate: Fri Sep 13 14:26:34 1996%%Pages: (atend)%%DocumentFonts: (atend)/devps 180 dict def devps begin/res 10.000000 def/y_offset 843 def/X{exch}bind def/mm {transform round X round X itransform} bind def/r{rmoveto}bind def/m{moveto}bind def/l{lineto}bind def/rl{rlineto}bind def/st{stroke}bind def/gs{gsave}bind def/gr{grestore}bind def/cp{currentpoint}bind def/np{newpath}bind def/ct{curveto}bind defsystemdict /setpacking known { /savepacking currentpacking def true setpacking } if/m0{0 0 moveto}bind def/xc{//res div}bind def/yc{//res neg div //y_offset add}bind def/lc{yc X xc X l st}bind def/mc{yc X xc X m}bind def/el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def/ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def/sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def/V{//res neg div //y_offset addcurrentpoint pop Xm}bind def/H{//res div0 transform X round X itransform popcurrentpoint X popmoveto}bind def/h{//res div 0 r}bind def/v{//res neg div 0 X r}bind def/S{X H show}bind def/A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def/psize 10 def/height 0 def/cheight { height 0 ne { height } { psize } ifelse } bind def/slant 0 def/FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def/shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fillgr}bind def1 setlinecap/resolution res 72 mul def/startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def}bind def/clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto}bind def/doclip { llx lly urx ury clipFig } def/endFig { end SavedState restore}bind def/globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def/globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def}bind def/fontnum 1 def systemdict /setpacking known { savepacking setpacking} ifend/BP{save mark devps begin m0/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def}bind def/EP{end cleartomark restore showpage}def/R{/Times-Roman FF}def/B{/Times-Bold FF}def/Y{/Symbol FF}def/I{/Times-Italic FF}def%% Troff special characters not on Symbol font%% Copyright (C) 1986 by Pipeline Associates, Inc.%% Version 1.0%% $Header: Troff.pro,v 1.7 90/08/14 16:07:55 keie Exp $/altRTD 20 dict defaltRTD begin/s{setcachedevice}bind def/m{moveto}bind def/c{curveto}bind def/S{stroke}bind def/l{lineto}bind defend/F_Troff 17 dict def F_Troff beginsystemdict /currentpacking known{/SavePacking currentpacking def true setpacking}if/PaintType 0 def/FontType 3 def/StrokeWidth 25 def/UniqueID 8277030 def/FontMatrix [.001000 0 0 .001000 0 0] def/FontBBox [-85 -150 1000 1000 ] def/Encoding 256 array def/CD 256 1 add dict def/FontInfo 3 dict def FontInfo begin/UnderlinePosition -133 def /UnderlineThickness 20 def end/FontName (Troff) def0 1 256 1 sub{Encoding exch /.notdef put}forCD /.notdef{500 0 setcharwidth{}}putEncoding (1) 0 get /br put%% bold vertical rule used by tblCD /br{0 0 -500 -500 1000 1000 snpclw0 -100 m0 900 l{S}}putEncoding (2) 0 get /ul put%% underline used by tblCD /ul{500 0 0 -200 500 0 snpclw0 -100 m500 -100 l{S}}putEncoding (3) 0 get /ru put%% baseline ruleCD /ru{500 0 -500 -500 1000 1000 snpclwm0500 0 l{S}}putEncoding (4) 0 get /vr put%% vertical ruleCD /vr{0 0 -500 -500 1000 1000 snpclwm00 1000 l{S}}putEncoding (5) 0 get /sq put%% squareCD /sq{500 0 0 0 500 1000 snpm00 500 rl500 0 rl0 -500 rl-500 0 rlclosepath61 61 m378 0 rl0 378 rl-378 0 rlclosepath{fill}}putEncoding (6) 0 get /bx put%% solid boxCD /bx{500 0 0 0 500 1000 snpm00 500 rl500 0 rl0 -500 rlclosepath{fill}}putEncoding (7) 0 get /rn put%% radical extenderCD /rn{500 0 -500 -500 1000 1000 snp30 setlinewidth-30 900 m500 0 rl{S}}putEncoding 120 /rc put%% top of right bracket above braceexCD /rc {494 0 -85 -80 255 926 s201 -80 m 201 872 l -85 872 l -85 926 l 255 926 l 255 -80 lclosepath {fill}} putEncoding 121 /lc put%% top of left bracket above braceexCD /lc {491 0 201 -80 541 926 s201 -80 m 201 926 l 541 926 l 541 872 l 255 872 l 255 -80 lclosepath {fill}} putEncoding 122 /rf put%% bottom of right bracket below braceexCD /rf {494 0 -85 -80 255 926 s-85 -80 m -85 -26 l 201 -26 l 201 926 l 255 926 l 255 -80 lclosepath {fill}} putEncoding 123 /lf put%% bottom of left bracket below braceexCD /lf {494 0 201 -80 541 926 s201 -80 m 201 926 l 255 926 l 255 -26 l 872 -26 l 872 -80 lclosepath {fill}} putEncoding 97 /a putCD /a{5 setlinewidth 1000 0 0 66 942 421 s 430 415m 578 406 678 349 662 319 c 655 306 614 287 583296 c 570 300 466 340 438 332 c 365 309 335 213270 209 c 0 310 m 108 310 l 108 114 l 0114 l 0 310 l 42 161 m 42 134 l 66 134 l 66161 l 42 161 l 47 155 m 47 140 l 62 140 l 62155 l 47 155 l 110 133 m 226 113 300 66 41080 c 497 91 550 69 634 76 c 645 76 663 92 669107 c 677 125 673 141 668 160 c 725 334 m 758332 734 253 701 250 c 501 325 m 475 316 476 309473 302 c 465 282 482 263 499 257 c 552 236 615253 689 253 c 701 253 713 236 713 218 c 712 194702 168 678 161 c 671 159 663 160 655 160 c 591158 516 156 479 168 c 461 173 453 191 453 210 c 453224 456 235 466 244 c 476 253 490 252 503 255 c 45984 m 447 96 435 106 435 123 c 435 136 440 145 447155 c 453 163 462 168 469 173 c 110 293 m 173318 300 421 435 415 c 609 407 852 416 885 411 c 898409 924 411 930 380 c 942 316 828 339 742 334 c 731334 730 335 725 335 c 701 336 685 336 660 336 c{S}}putEncoding 98 /b putCD /b{5 setlinewidth 1000 0 -12 66 930 421 s 500415 m 352 406 252 349 268 319 c 275 306 316 287347 296 c 360 300 464 340 492 332 c 565 309 595213 660 209 c 930 310 m 822 310 l 822 114 l 930114 l 930 310 l 888 161 m 888 134 l 864 134l 864 161 l 888 161 l 883 155 m 883 140 l 868140 l 868 155 l 883 155 l 820 133 m 704 113630 66 520 80 c 433 91 380 69 296 76 c 285 76267 92 261 107 c 253 125 257 141 262 160 c 205334 m 172 332 196 253 229 250 c 429 325 m 455316 454 309 457 302 c 465 282 448 263 431 257 c 378236 315 253 241 253 c 229 253 217 236 217 218 c 218194 228 168 252 161 c 259 159 267 160 275 160 c 339158 414 156 451 168 c 469 173 477 191 477 210 c 477224 474 235 464 244 c 454 253 440 252 427 255 c 47184 m 483 96 495 106 495 123 c 495 136 490 145 483155 c 477 163 468 168 461 173 c 820 293 m 757318 630 421 495 415 c 321 407 78 416 45 411 c 32409 6 411 0 380 c -12 316 102 339 188 334 c 199334 200 335 205 335 c 229 336 245 336 270 336 c{S}}putEncoding 99 /c putCD /c{710 0 0 0 700 700 s33 setlinewidth335 23 m 335 325 302 -90 270 arc{S}}putEncoding 100 /d putCD /d{590 0 134 158 477 500 s 300160 m 208 162 134 238 135 330 c 136 423 212 500305 500 c 397 500 473 427 475 335 c 477 239 396158 300 160 c{fill}}putEncoding 101 /e putCD /e { % produces the VU symbol760 0 0 0 750 750 s267 267 scale0 setlinejoin.045 setlinewidth0 setlinecap3 setmiterlimitnewpath0 0 moveto0 2.8 rlineto0.38 0 rlineto0 -2.3 rlineto0.02 0 rlineto0.67 2.3 rlineto0.38 0 rlineto-0.83 -2.8 rlinetoclosepath1.61 2.8 moveto0.38 0 rlineto-0.687 -2.32 rlineto-.03 -.1 -0.03 -0.1 0 -0.1 rcurveto1.027 0 rlineto0 2.42 rlineto0.38 0 rlinetocurrentpoint pop 0 % x 02.0 00.28 arcto4 {pop} repeat0.78 0 1.61 2.8 0.15 arcto4 {pop} repeatclosepath{S}} put/BuildChar{altRTD /BuildChar get exec}def endaltRTD begin /BuildChar{altRTD begin/char exch def /fontdict exch def save/charname fontdict /Encoding get char get def/clw { 37 0 mm pop setlinewidth}bind deffontdict /StrokeWidth get setlinewidth0 setlinecap0 setlinejoinfontdict /CD get dup charname known{charname}{/.notdef}ifelse get newpath execfontdict /PaintType get 0 eq{exec}{pop S}ifelserestore end}def endsystemdict /currentpacking known{F_Troff /SavePacking get setpacking}if/Troff F_Troff definefont pop/Y1{/Troff FF}def%%EndProlog%%Page: 1 1BP/slant 0 def/height 0 def858 V12 B936(Command:)S1584(as)S1721(\261)S1811(assembler)S1272 V(AS\320ASSEMBLER)1019 936 A1985([IBM])S1722 V12 R1116(This)S1370(document)S1885(describes)S2375(the)S(language)436 2562 A(accepted)424 3038 A3502(by)S3662(the)S(80386)300 3850 A4190(assembler)S4715(that)S4937(is)S1860 V936(part)S1159(of)S1294(the)S1476(Amsterdam)S2076(Compiler)S2567(Kit.)S2816(Note)S3085(that)S3300(only)S3547(the)S3728(syntax)S4076(is)S4190(described,)S4717(only)S4964(a)S1998 V936(few)S(386)180 1149 A1359(instructions)S1954(are)S2133(shown)S2478(as)S2609(examples.)S2274 V12 B936(Tokens,)S1371(Numbers,)S1909(Character)S2471(Constants,)S3049(and)S3273(Strings)S2586 V12 R1116(The)S1337(syntax)S1685(of)S1819(numbers)S2268(is)S2382(the)S2563(same)S2845(as)S2979(in)S3106(C.)S3280(The)S3502(constants)S3986(32,)S(040,)210 4170 A4414(and)S(0x20)240 4622 A4896(all)S2724 V936(represent)S1417(the)S1601(same)S1886(number,)S2321(but)S2511(are)S(written)345 2695 A3075(in)S3204(decimal,)S3653(octal,)S3954(and)S4163(hex,)S4402(respectively.)S2862 V936(The)S1162(rules)S1436(for)S1616(character)S2100(constants)S2588(and)S2800(strings)S3161(are)S3348(also)S3581(the)S3768(same)S4056(as)S4196(in)S4329(C.)S4508(For)S4715(exam-)S3000 V936(ple,)S12 Y1163(\242)S12 R1193(a)S12 Y1247(\242)S12 R1326(is)S1456(a)S1559(character)S2054(constant.)S2566(A)S2703(typical)S3081(string)S3405(is)S3534("string".)S4016(Expressions)S4648(may)S4904(be)S3138 V936(formed)S1317(with)S1564(C)S1675(operators,)S2187(but)S2372(must)S2638(use)S2830([)S2902(and)S3107(])S3179(for)S3352(parentheses.)S4009(\(Normal)S4453(parentheses)S3276 V936(are)S1115(claimed)S1529(by)S1679(the)S1857(operand)S2276(syntax.\))S3552 V12 B936(Symbols)S3864 V12 R1116(Symbols)S1571(contain)S1960(letters)S2291(and)S2498(digits,)S2831(as)S2966(well)S3210(as)S3345(three)S3622(special)S3993(characters:)S4554(dot,)S(tilde,)246 4772 A4002 V936(and)S(underscore.)561 1140 A1761(The)S1979(\256rst)S2198(character)S2674(may)S2912(not)S3096(be)S3240(a)S3324(digit)S3576(or)S(tilde.)246 3707 A4176 V1116(The)S1334(names)S1673(of)S1804(the)S(80386)300 1982 A2312(registers)S2754(are)S2933(reserved.)S3434(These)S3753(are:)S4383 V1026(al,)S1174(bl,)S1328(cl,)S1476(dl)S4521 V1026(ah,)S1200(bh,)S1380(ch,)S1554(dh)S4659 V1026(ax,)S1200(bx,)S1380(cx,)S1554(dx,)S1734(eax,)S1962(ebx,)S2196(ecx,)S2424(edx)S4797 V1026(si,)S1167(di,)S1321(bp,)S1501(sp,)S1668(esi,)S1863(edi,)S2071(ebp,)S2305(esp)S4935 V1026(cs,)S1187(ds,)S1354(ss,)S1508(es,)S1669(fs,)S1817(gs)S5142 V936(The)S1166(xx)S1328(and)S1544(exx)S1760(variants)S2186(of)S2329(the)S2519(eight)S2803(general)S3202(registers)S3657(are)S3849(treated)S4223(as)S(synonyms)488 4367 A4898(by)S5280 V936(the)S1132(assembler.)S1725(Normally)S2238("ax")S2498(is)S2627(the)S2823(16-bit)S3160(low)S3390(half)S3627(of)S3776(the)S3972(32-bit)S4309("eax")S4623(register.)S5418 V936(The)S1162(assembler)S1685(determines)S2255(if)S2368(a)S2460(16)S2619(or)S2759(32)S2918(bit)S3085(operation)S3581(is)S3701(meant)S4036(solely)S4364(by)S(looking)368 4523 A4930(at)S5556 V936(the)S1116(instruction)S1666(or)S1799(the)S1979(instruction)S2529(pre\256xes.)S3004(It)S3111(is)S3224(however)S3672(best)S3898(to)S4023(use)S4215(the)S4394(proper)S4741(regis-)S5694 V936(ters)S1142(when)S(writing)351 1434 A1815(assembly)S2295(to)S2419(not)S2603(confuse)S3009(those)S3294(who)S3532(read)S3771(the)S3949(code.)S5901 V936(The)S1164(last)S(group)281 1373 A1694(of)S1835(6)S1935(segment)S2378(registers)S2830(are)S3019(used)S3280(for)S3462(selector)S3880(+)S3988(offset)S4305(mode)S4614(address-)S6039 V936(ing,)S1150(in)S1274(which)S1600(the)S1778(effective)S2234(address)S2627(is)S2738(at)S2856(a)S2940(given)S3238(offset)S3545(in)S3669(one)S3873(of)S4004(the)S4182(6)S4272(segments.)S6213 V1116(Names)S1484(of)S1616(instructions)S2212(and)S(pseudo-ops)549 2417 A2997(are)S3177(not)S3362(reserved.)S3835(Alphabetic)S4399(characters)S4924(in)S6351 V936(opcodes)S1361(and)S(pseudo-ops)549 1565 A2144(must)S2409(be)S2553(in)S2677(lower)S2984(case.)S8427 VEP%%Page: 2 2BP/slant 0 def/height 0 def1130 V12 B936(2)S1380 V936(Separators)S1692 V12 R1116(Commas,)S1607(blanks,)S1984(and)S2190(tabs)S2417(are)S2598(separators)S3123(and)S3330(can)S3531(be)S3678(interspersed)S4297(freely)S4614(between)S1830 V936(tokens,)S1311(but)S1495(not)S1679(within)S2019(tokens.)S2424(Commas)S2883(are)S3062(only)S3306(legal)S3572(between)S4006(operands.)S2106 V12 B936(Comments)S2418 V12 R1116(The)S1334(comment)S1814(character)S2290(is)S2401(`)S(`!')123 2432 A2545('.)S2646(The)S2864(rest)S3070(of)S3201(the)S3379(line)S3591(is)S(ignored.)399 3702 A2694 V12 B936(Opcodes)S3006 V12 R1116(The)S1339(opcodes)S1769(are)S1953(listed)S2251(below.)S2642(Notes:)S2994(\(1\))S3172(Different)S3655(names)S4000(for)S4178(the)S4362(same)S4647(instruc-)S3144 V936(tion)S1181(are)S1387(separated)S1902(by)S2079(`)S2110(`/')S2216('.)S2374(\(2\))S2573(Square)S2966(brackets)S(\([]\))164 3426 A3646(indicate)S4086(that)S4324(0)S4440(or)S4597(1)S4713(of)S4870(the)S3282 V936(enclosed)S1391(characters)S1917(can)S2118(be)S2265(included.)S2774(\(3\))S2949(Curly)S3257(brackets)S3694(\({}\))S3925(work)S4207(similarly,)S4702(except)S3420 V936(that)S1152(one)S1359(of)S1493(the)S1674(enclosed)S2130(characters)S12 I2656(must)S12 R2918(be)S3065(included.)S3574(Thus)S3848(square)S4197(brackets)S4634(indicate)S3558 V936(an)S1080(option,)S1448(whereas)S1876(curly)S2155(brackets)S2589(indicate)S3003(that)S3215(a)S3299(choice)S3645(must)S3910(be)S4054(made.)S3834 V12 B936(Data)S1215(Transfer)S4041 V12 R1116(mov[b])S1800(dest,)S2055(source)S3096(!)S3167(Move)S3478(word/byte)S3999(from)S4265(source)S4611(to)S4735(dest)S4179 V(pop)180 1116 A1800(dest)S3096(!)S3167(Pop)S3384(stack)S4317 V1116(push)S1800(source)S3096(!)S3167(Push)S3431(stack)S4455 V1116(xchg[b])S(op1,)210 1800 A(op2)180 2040 A3096(!)S3167(Exchange)S3673(word/byte)S4593 V1116(xlat)S3096(!)S3167(Translate)S4731 V(o16)180 1116 A3096(!)S3167(Operate)S3582(on)S3732(a)S3816(16)S3966(bit)S4124(object)S4450(instead)S4823(of)S4954(32)S5104(bit)S5007 V12 B(Input/Output)700 936 A5214 V12 R1116(in[b])S1800(source)S3096(!)S(Input)255 3167 A3452(from)S3718(source)S4064(I/O)S4257(port)S5352 V1116(in[b])S3096(!)S(Input)255 3167 A3452(from)S3718(DX)S3924(I/O)S4117(port)S5490 V1116(out[b])S1800(dest)S3096(!)S3167(Output)S3533(to)S3657(dest)S3882(I/O)S4075(port)S5628 V1116(out[b])S3096(!)S3167(Output)S3533(to)S3657(DX)S3863(I/O)S4056(port)S5904 V12 B936(Address)S1390(Object)S6111 V12 R1116(lds)S1800(reg,source)S3096(!)S3167(Load)S3445(reg)S3630(and)S3834(DS)S4019(from)S4285(source)S6249 V1116(les)S1800(reg,source)S3096(!)S3167(Load)S3445(reg)S3630(and)S3834(ES)S
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -