⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipes.ps

📁 可以自由开发的MIPS仿真器模型(.exe),指令执行动画显示.通过修改graphics和对应的元件和互联文件(.dit)可以自己画流水线,其中.dit文件使用简单的硬件描述语言编写.而mipsit是
💻 PS
📖 第 1 页 / 共 2 页
字号:
%!PS-Adobe-2.0%%Title: pipeS.ps%%Creator: fig2dev Version 3.2 Patchlevel 1%%CreationDate: Mon Feb 21 11:11:54 2000%%For: matsbror@odin (Mats Brorsson)%%Orientation: Landscape%%BoundingBox: 138 64 458 778%%Pages: 1%%BeginSetup%%IncludeFeature: *PageSize A4%%EndSetup%%Magnification: 0.4250%%EndComments/MyAppDict 100 dict dup begin def/$F2psDict 200 dict def$F2psDict begin$F2psDict /mtrx matrix put/col-1 {0 setgray} bind def/col0 {0.000 0.000 0.000 srgb} bind def/col1 {0.000 0.000 1.000 srgb} bind def/col2 {0.000 1.000 0.000 srgb} bind def/col3 {0.000 1.000 1.000 srgb} bind def/col4 {1.000 0.000 0.000 srgb} bind def/col5 {1.000 0.000 1.000 srgb} bind def/col6 {1.000 1.000 0.000 srgb} bind def/col7 {1.000 1.000 1.000 srgb} bind def/col8 {0.000 0.000 0.560 srgb} bind def/col9 {0.000 0.000 0.690 srgb} bind def/col10 {0.000 0.000 0.820 srgb} bind def/col11 {0.530 0.810 1.000 srgb} bind def/col12 {0.000 0.560 0.000 srgb} bind def/col13 {0.000 0.690 0.000 srgb} bind def/col14 {0.000 0.820 0.000 srgb} bind def/col15 {0.000 0.560 0.560 srgb} bind def/col16 {0.000 0.690 0.690 srgb} bind def/col17 {0.000 0.820 0.820 srgb} bind def/col18 {0.560 0.000 0.000 srgb} bind def/col19 {0.690 0.000 0.000 srgb} bind def/col20 {0.820 0.000 0.000 srgb} bind def/col21 {0.560 0.000 0.560 srgb} bind def/col22 {0.690 0.000 0.690 srgb} bind def/col23 {0.820 0.000 0.820 srgb} bind def/col24 {0.500 0.190 0.000 srgb} bind def/col25 {0.630 0.250 0.000 srgb} bind def/col26 {0.750 0.380 0.000 srgb} bind def/col27 {1.000 0.500 0.500 srgb} bind def/col28 {1.000 0.630 0.630 srgb} bind def/col29 {1.000 0.750 0.750 srgb} bind def/col30 {1.000 0.880 0.880 srgb} bind def/col31 {1.000 0.840 0.000 srgb} bind defendsave-43.5 47.0 translate 90 rotate1 -1 scale.9 .9 scale % to make patterns same scale as in xfig% This junk string is used by the show operators/PATsstr 1 string def/PATawidthshow { 	% cx cy cchar rx ry string  % Loop over each character in the string  {  % cx cy cchar rx ry char    % Show the character    dup				% cx cy cchar rx ry char char    PATsstr dup 0 4 -1 roll put	% cx cy cchar rx ry char (char)    false charpath		% cx cy cchar rx ry char    /clip load PATdraw    % Move past the character (charpath modified the    % current point)    currentpoint			% cx cy cchar rx ry char x y    newpath    moveto			% cx cy cchar rx ry char    % Reposition by cx,cy if the character in the string is cchar    3 index eq {			% cx cy cchar rx ry      4 index 4 index rmoveto    } if    % Reposition all characters by rx ry    2 copy rmoveto		% cx cy cchar rx ry  } forall  pop pop pop pop pop		% -  currentpoint  newpath  moveto} bind def/PATcg {  7 dict dup begin    /lw currentlinewidth def    /lc currentlinecap def    /lj currentlinejoin def    /ml currentmiterlimit def    /ds [ currentdash ] def    /cc [ currentrgbcolor ] def    /cm matrix currentmatrix def  end} bind def% PATdraw - calculates the boundaries of the object and% fills it with the current pattern/PATdraw {			% proc  save exch    PATpcalc			% proc nw nh px py    5 -1 roll exec		% nw nh px py    newpath    PATfill			% -  restore} bind def% PATfill - performs the tiling for the shape/PATfill { % nw nh px py PATfill -  PATDict /CurrentPattern get dup begin    setfont    % Set the coordinate system to Pattern Space    PatternGState PATsg    % Set the color for uncolored pattezns    PaintType 2 eq { PATDict /PColor get PATsc } if    % Create the string for showing    3 index string		% nw nh px py str    % Loop for each of the pattern sources    0 1 Multi 1 sub {		% nw nh px py str source	% Move to the starting location	3 index 3 index		% nw nh px py str source px py	moveto			% nw nh px py str source	% For multiple sources, set the appropriate color	Multi 1 ne { dup PC exch get PATsc } if	% Set the appropriate string for the source	0 1 7 index 1 sub { 2 index exch 2 index put } for pop	% Loop over the number of vertical cells	3 index 		% nw nh px py str nh	{			% nw nh px py str	  currentpoint		% nw nh px py str cx cy	  2 index show		% nw nh px py str cx cy	  YStep add moveto	% nw nh px py str	} repeat		% nw nh px py str    } for    5 { pop } repeat  end} bind def% PATkshow - kshow with the current pattezn/PATkshow {			% proc string  exch bind			% string proc  1 index 0 get			% string proc char  % Loop over all but the last character in the string  0 1 4 index length 2 sub {				% string proc char idx    % Find the n+1th character in the string    3 index exch 1 add get	% string proe char char+1    exch 2 copy			% strinq proc char+1 char char+1 char    % Now show the nth character    PATsstr dup 0 4 -1 roll put	% string proc chr+1 chr chr+1 (chr)    false charpath		% string proc char+1 char char+1    /clip load PATdraw    % Move past the character (charpath modified the current point)    currentpoint newpath moveto    % Execute the user proc (should consume char and char+1)    mark 3 1 roll		% string proc char+1 mark char char+1    4 index exec		% string proc char+1 mark...    cleartomark			% string proc char+1  } for  % Now display the last character  PATsstr dup 0 4 -1 roll put	% string proc (char+1)  false charpath		% string proc  /clip load PATdraw  neewath  pop pop			% -} bind def% PATmp - the makepattern equivalent/PATmp {			% patdict patmtx PATmp patinstance  exch dup length 7 add		% We will add 6 new entries plus 1 FID  dict copy			% Create a new dictionary  begin    % Matrix to install when painting the pattern    TilingType PATtcalc    /PatternGState PATcg def    PatternGState /cm 3 -1 roll put    % Check for multi pattern sources (Level 1 fast color patterns)    currentdict /Multi known not { /Multi 1 def } if    % Font dictionary definitions    /FontType 3 def    % Create a dummy encoding vector    /Encoding 256 array def    3 string 0 1 255 {      Encoding exch dup 3 index cvs cvn put } for pop    /FontMatrix matrix def    /FontBBox BBox def    /BuildChar {	mark 3 1 roll		% mark dict char	exch begin	Multi 1 ne {PaintData exch get}{pop} ifelse  % mark [paintdata]	  PaintType 2 eq Multi 1 ne or	  { XStep 0 FontBBox aload pop setcachedevice }	  { XStep 0 setcharwidth } ifelse	  currentdict		% mark [paintdata] dict	  /PaintProc load	% mark [paintdata] dict paintproc	end	gsave	  false PATredef exec true PATredef	grestore	cleartomark		% -    } bind def    currentdict  end				% newdict  /foo exch			% /foo newlict  definefont			% newfont} bind def% PATpcalc - calculates the starting point and width/height% of the tile fill for the shape/PATpcalc {	% - PATpcalc nw nh px py  PATDict /CurrentPattern get begin    gsave	% Set up the coordinate system to Pattern Space	% and lock down pattern	PatternGState /cm get setmatrix	BBox aload pop pop pop translate	% Determine the bounding box of the shape	pathbbox			% llx lly urx ury    grestore    % Determine (nw, nh) the # of cells to paint width and height    PatHeight div ceiling		% llx lly urx qh    4 1 roll				% qh llx lly urx    PatWidth div ceiling		% qh llx lly qw    4 1 roll				% qw qh llx lly    PatHeight div floor			% qw qh llx ph    4 1 roll				% ph qw qh llx    PatWidth div floor			% ph qw qh pw    4 1 roll				% pw ph qw qh    2 index sub cvi abs			% pw ph qs qh-ph    exch 3 index sub cvi abs exch	% pw ph nw=qw-pw nh=qh-ph    % Determine the starting point of the pattern fill    %(px, py)    4 2 roll				% nw nh pw ph    PatHeight mul			% nw nh pw py    exch				% nw nh py pw    PatWidth mul exch			% nw nh px py  end} bind def% Save the original routines so that we can use them later on/oldfill	/fill load def/oldeofill	/eofill load def/oldstroke	/stroke load def/oldshow	/show load def/oldashow	/ashow load def/oldwidthshow	/widthshow load def/oldawidthshow	/awidthshow load def/oldkshow	/kshow load def% These defs are necessary so that subsequent procs don't bind in% the originals/fill	   { oldfill } bind def/eofill	   { oldeofill } bind def/stroke	   { oldstroke } bind def/show	   { oldshow } bind def/ashow	   { oldashow } bind def/widthshow { oldwidthshow } bind def/awidthshow { oldawidthshow } bind def/kshow 	   { oldkshow } bind def/PATredef {  MyAppDict begin    {    /fill { /clip load PATdraw newpath } bind def    /eofill { /eoclip load PATdraw newpath } bind def    /stroke { PATstroke } bind def    /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def    /ashow { 0 0 null 6 3 roll PATawidthshow }    bind def    /widthshow { 0 0 3 -1 roll PATawidthshow }    bind def    /awidthshow { PATawidthshow } bind def    /kshow { PATkshow } bind def  } {    /fill   { oldfill } bind def    /eofill { oldeofill } bind def    /stroke { oldstroke } bind def    /show   { oldshow } bind def    /ashow  { oldashow } bind def    /widthshow { oldwidthshow } bind def    /awidthshow { oldawidthshow } bind def    /kshow  { oldkshow } bind def    } ifelse  end} bind deffalse PATredef% Conditionally define setcmykcolor if not available/setcmykcolor where { pop } {  /setcmykcolor {    1 sub 4 1 roll    3 {	3 index add neg dup 0 lt { pop 0 } if 3 1 roll    } repeat    setrgbcolor - pop  } bind def} ifelse/PATsc {		% colorarray  aload length		% c1 ... cn length    dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor  } ifelse } ifelse} bind def/PATsg {		% dict  begin    lw setlinewidth    lc setlinecap    lj setlinejoin    ml setmiterlimit    ds aload pop setdash    cc aload pop setrgbcolor    cm setmatrix  end} bind def/PATDict 3 dict def/PATsp {  true PATredef  PATDict begin    /CurrentPattern exch def    % If it's an uncolored pattern, save the color    CurrentPattern /PaintType get 2 eq {      /PColor exch def    } if    /CColor [ currentrgbcolor ] def  end} bind def% PATstroke - stroke with the current pattern/PATstroke {  countdictstack  save  mark  {    currentpoint strokepath moveto    PATpcalc				% proc nw nh px py    clip newpath PATfill    } stopped {	(*** PATstroke Warning: Path is too complex, stroking	  with gray) =    cleartomark    restore    countdictstack exch sub dup 0 gt	{ { end } repeat } { pop } ifelse    gsave 0.5 setgray oldstroke grestore  } { pop restore pop } ifelse  newpath} bind def/PATtcalc {		% modmtx tilingtype PATtcalc tilematrix  % Note: tiling types 2 and 3 are not supported  gsave    exch concat					% tilingtype    matrix currentmatrix exch			% cmtx tilingtype    % Tiling type 1 and 3: constant spacing    2 ne {	% Distort the pattern so that it occupies	% an integral number of device pixels	dup 4 get exch dup 5 get exch		% tx ty cmtx	XStep 0 dtransform	round exch round exch			% tx ty cmtx dx.x dx.y	XStep div exch XStep div exch		% tx ty cmtx a b	0 YStep dtransform	round exch round exch			% tx ty cmtx a b dy.x dy.y	YStep div exch YStep div exch		% tx ty cmtx a b c d	7 -3 roll astore			% { a b c d tx ty }    } if  grestore} bind def/PATusp {  false PATredef  PATDict begin    CColor PATsc  end} bind def% this is the pattern fill program from the Second edition Reference Manual% with changes to call the above pattern fill% left3011 dict begin/PaintType 1 def/PatternType 1 def/TilingType 1 def/BBox [0 0 1 1] def/XStep 1 def/YStep 1 def/PatWidth 1 def/PatHeight 1 def/Multi 2 def/PaintData [  { clippath } bind  { 32 16 true [ 32 0 0 -16 0 16 ]	{<c000c000300030000c000c000300030000c000c000300030	000c000c00030003c000c000300030000c000c0003000300	00c000c000300030000c000c00030003>}     imagemask } bind] def/PaintProc {	pop	exec fill} defcurrentdictend/P1 exch def1.1111 1.1111 scale %restore scale/cp {closepath} bind def/ef {eofill} bind def/gr {grestore} bind def/gs {gsave} bind def/sa {save} bind def/rs {restore} bind def/l {lineto} bind def/m {moveto} bind def/rm {rmoveto} bind def/n {newpath} bind def/s {stroke} bind def/sh {show} bind def/slc {setlinecap} bind def/slj {setlinejoin} bind def/slw {setlinewidth} bind def/srgb {setrgbcolor} bind def/rot {rotate} bind def/sc {scale} bind def/sd {setdash} bind def/ff {findfont} bind def/sf {setfont} bind def/scf {scalefont} bind def/sw {stringwidth} bind def/tr {translate} bind def/tnt {dup dup currentrgbcolor  4 -2 roll dup 1 exch sub 3 -1 roll mul add  4 -2 roll dup 1 exch sub 3 -1 roll mul add  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}  bind def/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul  4 -2 roll mul srgb} bind def /DrawEllipse {	/endangle exch def	/startangle exch def	/yrad exch def	/xrad exch def	/y exch def	/x exch def	/savematrix mtrx currentmatrix def	x y tr xrad yrad sc 0 0 1 startangle endangle arc	closepath	savematrix setmatrix	} def/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def/$F2psEnd {$F2psEnteredState restore end} def%%EndProlog$F2psBegin10 setmiterlimitn -1000 19708 m -1000 -1000 l 28303 -1000 l 28303 19708 l cp clip 0.02677 0.02677 sc%%Page: 1 1% Polyline30.000 slwgs  clippath12371 12570 m 12431 12600 l 12371 12630 l 12510 12630 l 12510 12570 l cpclipn 11025 11565 m 11610 11565 l 11610 12600 l 12465 12600 l gs col0 s gr gr% arrowheadn 12371 12570 m 12431 12600 l 12371 12630 l 12371 12600 l 12371 12570 l  cp gs 0.00 setgray ef gr  col0 s% Polylinen 6750 15075 m 6750 16425 l gs col0 s gr % Polylinegs  clippath8456 13605 m 8516 13635 l 8456 13665 l 8595 13665 l 8595 13605 l cpclipn 7425 13635 m 8550 13635 l gs col0 s gr gr% arrowheadn 8456 13605 m 8516 13635 l 8456 13665 l 8456 13635 l 8456 13605 l  cp gs 0.00 setgray ef gr  col0 s

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -