-
Notifications
You must be signed in to change notification settings - Fork 3
/
142.ps
2688 lines (2646 loc) · 66 KB
/
142.ps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!PS
%%Version: 3.3.1
%%DocumentFonts: (atend)
%%Pages: (atend)
%%EndComments
%
% Version 3.3.1 prologue for troff files.
%
/#copies 1 store
/aspectratio 1 def
/formsperpage 1 def
/landscape false def
/linewidth .3 def
/magnification 1 def
/margin 0 def
/orientation 0 def
/resolution 720 def
/rotation 1 def
/xoffset 0 def
/yoffset 0 def
/roundpage true def
/useclippath true def
/pagebbox [0 0 612 792] def
/R /Times-Roman def
/I /Times-Italic def
/B /Times-Bold def
/BI /Times-BoldItalic def
/H /Helvetica def
/HI /Helvetica-Oblique def
/HB /Helvetica-Bold def
/HX /Helvetica-BoldOblique def
/CW /Courier def
/CO /Courier def
/CI /Courier-Oblique def
/CB /Courier-Bold def
/CX /Courier-BoldOblique def
/PA /Palatino-Roman def
/PI /Palatino-Italic def
/PB /Palatino-Bold def
/PX /Palatino-BoldItalic def
/Hr /Helvetica-Narrow def
/Hi /Helvetica-Narrow-Oblique def
/Hb /Helvetica-Narrow-Bold def
/Hx /Helvetica-Narrow-BoldOblique def
/KR /Bookman-Light def
/KI /Bookman-LightItalic def
/KB /Bookman-Demi def
/KX /Bookman-DemiItalic def
/AR /AvantGarde-Book def
/AI /AvantGarde-BookOblique def
/AB /AvantGarde-Demi def
/AX /AvantGarde-DemiOblique def
/NR /NewCenturySchlbk-Roman def
/NI /NewCenturySchlbk-Italic def
/NB /NewCenturySchlbk-Bold def
/NX /NewCenturySchlbk-BoldItalic def
/ZD /ZapfDingbats def
/ZI /ZapfChancery-MediumItalic def
/S /S def
/S1 /S1 def
/GR /Symbol def
/inch {72 mul} bind def
/min {2 copy gt {exch} if pop} bind def
/setup {
counttomark 2 idiv {def} repeat pop
landscape {/orientation 90 orientation add def} if
/scaling 72 resolution div def
linewidth setlinewidth
1 setlinecap
pagedimensions
xcenter ycenter translate
orientation rotation mul rotate
width 2 div neg height 2 div translate
xoffset inch yoffset inch neg translate
margin 2 div dup neg translate
magnification dup aspectratio mul scale
scaling scaling scale
addmetrics
0 0 moveto
} def
/pagedimensions {
useclippath userdict /gotpagebbox known not and {
/pagebbox [clippath pathbbox newpath] def
roundpage currentdict /roundpagebbox known and {roundpagebbox} if
} if
pagebbox aload pop
4 -1 roll exch 4 1 roll 4 copy
landscape {4 2 roll} if
sub /width exch def
sub /height exch def
add 2 div /xcenter exch def
add 2 div /ycenter exch def
userdict /gotpagebbox true put
} def
/addmetrics {
/Symbol /S null Sdefs cf
/Times-Roman /S1 StandardEncoding dup length array copy S1defs cf
} def
/pagesetup {
/page exch def
currentdict /pagedict known currentdict page known and {
page load pagedict exch get cvx exec
} if
} def
/decodingdefs [
{counttomark 2 idiv {y moveto show} repeat}
{neg /y exch def counttomark 2 idiv {y moveto show} repeat}
{neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat}
{neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat}
{counttomark 2 idiv {y moveto show} repeat}
{neg setfunnytext}
] def
/setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def
/w {neg moveto show} bind def
/m {neg dup /y exch def moveto} bind def
/done {/lastpage where {pop lastpage} if} def
/f {
dup /font exch def findfont exch
dup /ptsize exch def scaling div dup /size exch def scalefont setfont
linewidth ptsize mul scaling 10 mul div setlinewidth
/spacewidth ( ) stringwidth pop def
} bind def
/changefont {
/fontheight exch def
/fontslant exch def
currentfont [
1 0
fontheight ptsize div fontslant sin mul fontslant cos div
fontheight ptsize div
0 0
] makefont setfont
} bind def
/sf {f} bind def
/cf {
dup length 2 idiv
/entries exch def
/chtab exch def
/newencoding exch def
/newfont exch def
findfont dup length 1 add dict
/newdict exch def
{1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall
newencoding type /arraytype eq {newdict /Encoding newencoding put} if
newdict /Metrics entries dict put
newdict /Metrics get
begin
chtab aload pop
1 1 entries {pop def} for
newfont newdict definefont pop
end
} bind def
%
% A few arrays used to adjust reference points and character widths in some
% of the printer resident fonts. If square roots are too high try changing
% the lines describing /radical and /radicalex to,
%
% /radical [0 -75 550 0]
% /radicalex [-50 -75 500 0]
%
% Move braceleftbt a bit - default PostScript character is off a bit.
%
/Sdefs [
/bracketlefttp [201 500]
/bracketleftbt [201 500]
/bracketrighttp [-81 380]
/bracketrightbt [-83 380]
/braceleftbt [203 490]
/bracketrightex [220 -125 500 0]
/radical [0 0 550 0]
/radicalex [-50 0 500 0]
/parenleftex [-20 -170 0 0]
/integral [100 -50 500 0]
/infinity [10 -75 730 0]
] def
/S1defs [
/underscore [0 80 500 0]
/endash [7 90 650 0]
] def
%
% Tries to round clipping path dimensions, as stored in array pagebbox, so they
% match one of the known sizes in the papersizes array. Lower left coordinates
% are always set to 0.
%
/roundpagebbox {
7 dict begin
/papersizes [8.5 inch 11 inch 14 inch 17 inch] def
/mappapersize {
/val exch def
/slop .5 inch def
/diff slop def
/j 0 def
0 1 papersizes length 1 sub {
/i exch def
papersizes i get val sub abs
dup diff le {/diff exch def /j i def} {pop} ifelse
} for
diff slop lt {papersizes j get} {val} ifelse
} def
pagebbox 0 0 put
pagebbox 1 0 put
pagebbox dup 2 get mappapersize 2 exch put
pagebbox dup 3 get mappapersize 3 exch put
end
} bind def
%%EndProlog
%%BeginSetup
mark
/resolution 720 def
setup
2 setdecoding
%%EndSetup
%%Page: 0 1
/saveobj save def
mark
1 pagesetup
10 R f
(AT&T Bell Laboratories)2 993 1 2383 1740 t
(600 Mountain Avenue)2 899 1 2430 1860 t
(Murray Hill, NJ 07974)3 916 1 2422 1980 t
(Computing Science Technical Report No. 142)5 1848 1 1956 3180 t
12 B f
(DFORMAT \320 A Program for Typesetting Data Formats)7 2926 1 1417 3450 t
10 I f
(Jon L. Bentley)2 574 1 2593 3690 t
10 R f
(April, 1988)1 461 1 720 6240 t
cleartomark
showpage
saveobj restore
%%EndPage: 0 1
%%Page: 0 2
/saveobj save def
mark
2 pagesetup
12 B f
(DFORMAT \320 A Program for Typesetting Data Formats)7 2926 1 1417 1230 t
10 I f
(Jon L. Bentley)2 574 1 2593 1470 t
10 R f
(AT&T Bell Laboratories)2 993 1 2383 1650 t
(600 Mountain Avenue)2 899 1 2430 1770 t
(Murray Hill, NJ 07974)3 916 1 2422 1890 t
10 I f
(ABSTRACT)2643 2390 w
10 R f
( packets on a data network are often)7 1479(Data formats ranging from computer words to)6 1871 2 1330 2650 t
( instruc-)1 331( PDP-8, for instance, uses this)5 1212( The)1 207(described by pictures composed of rectangles.)5 1850 4 1080 2770 t
(tion format:)1 475 1 1080 2890 t
(PDP-8 Instr)1 475 1 1231 3180 t
cleartomark
saveobj restore
%%BeginGlobal
%
% Version 3.3.1 drawing procedures for dpost. Automatically pulled in when
% needed.
%
/inpath false def
/savematrix matrix def
/Dl {
inpath
{pop pop neg lineto}
{newpath neg moveto neg lineto stroke}
ifelse
} bind def
/De {
/y1 exch 2 div def
/x1 exch 2 div def
/savematrix savematrix currentmatrix def
neg exch x1 add exch translate
x1 y1 scale
0 0 1 0 360
inpath
{1 0 moveto arc savematrix setmatrix}
{newpath arc savematrix setmatrix stroke}
ifelse
} bind def
/Da {
/dy2 exch def
/dx2 exch def
/dy1 exch def
/dx1 exch def
dy1 add neg exch dx1 add exch
dx1 dx1 mul dy1 dy1 mul add sqrt
dy1 dx1 neg atan
dy2 neg dx2 atan
inpath
{arc}
{newpath arc stroke}
ifelse
} bind def
/DA {
/dy2 exch def
/dx2 exch def
/dy1 exch def
/dx1 exch def
dy1 add neg exch dx1 add exch
dx1 dx1 mul dy1 dy1 mul add sqrt
dy1 dx1 neg atan
dy2 neg dx2 atan
inpath
{arcn}
{newpath arcn stroke}
ifelse
} bind def
/Ds {
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
/y0 exch def
/x0 exch def
x0 5 x1 mul add 6 div
y0 5 y1 mul add -6 div
x2 5 x1 mul add 6 div
y2 5 y1 mul add -6 div
x1 x2 add 2 div
y1 y2 add -2 div
inpath
{curveto}
{newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
ifelse
} bind def
%%EndGlobal
/saveobj save def
mark
10 R f
1756 3052 1756 3268 Dl
2404 3052 1756 3052 Dl
2404 3268 2404 3052 Dl
1756 3268 2404 3268 Dl
(Op Code)1 358 1 1901 3180 t
6 R f
(0 2)1 616 1 1772 3248 t
10 R f
2404 3052 2404 3268 Dl
2620 3052 2404 3052 Dl
2620 3268 2620 3052 Dl
2404 3268 2620 3268 Dl
2512 3388 2512 3268 Dl
(Indirect Bit)1 458 1 2038 3408 t
6 R f
(3)2497 3248 w
10 R f
2620 3052 2620 3268 Dl
2836 3052 2620 3052 Dl
2836 3268 2836 3052 Dl
2620 3268 2836 3268 Dl
2728 3508 2728 3268 Dl
(Page-Zero Bit)1 563 1 2149 3528 t
6 R f
(4)2713 3248 w
10 R f
2836 3052 2836 3268 Dl
4348 3052 2836 3052 Dl
4348 3268 4348 3052 Dl
2836 3268 4348 3268 Dl
(Page Address)1 546 1 3319 3180 t
6 R f
(5 11)1 1480 1 2852 3248 t
10 R f
( included in TROFF documents.)4 1356(The DFORMAT program allows such diagrams to be)7 2244 2 1080 3706 t
(The above diagram is described as)5 1377 1 1080 3826 t
9 CW f
(.begin dformat)1 756 1 1440 3996 t
(style bitwid .3)2 810 1 1440 4106 t
(PDP-8 Instr)1 594 1 1440 4216 t
(0-2 Op Code)2 594 1 1872 4326 t
(3 Indirect Bit)2 756 1 1872 4436 t
(4 Page-Zero Bit)2 810 1 1872 4546 t
(5-11 Page Address)2 918 1 1872 4656 t
(.end)1440 4766 w
10 R f
( implementation)1 661( Its)1 158(DFORMAT is implemented as a preprocessor for the PIC language.)9 2781 3 1080 4946 t
(\(about 100 lines of AWK\) is included in this paper.)9 2053 1 1080 5066 t
(April, 1988)1 461 1 720 5546 t
cleartomark
showpage
saveobj restore
%%EndPage: 0 2
%%Page: 1 3
/saveobj save def
mark
3 pagesetup
12 B f
(DFORMAT \320 A Program for Typesetting Data Formats)7 2926 1 1417 1230 t
10 I f
(Jon L. Bentley)2 574 1 2593 1470 t
10 R f
(AT&T Bell Laboratories)2 993 1 2383 1650 t
(600 Mountain Avenue)2 899 1 2430 1770 t
(Murray Hill, NJ 07974)3 916 1 2422 1890 t
10 B f
( Pictures)1 374(1. Simple)1 420 2 720 2250 t
10 R f
( and)1 175(This picture shows the format that the IBM System/360 uses for storing short integers, integers,)14 3895 2 970 2406 t
(\257oating-point numbers \(or shorts, ints, and \257oats, in C terminology\):)9 2745 1 720 2526 t
(Short)1432 2816 w
1699 2688 1699 2904 Dl
1785 2688 1699 2688 Dl
1785 2904 1785 2688 Dl
1699 2904 1785 2904 Dl
(S)1714 2816 w
6 R f
(0)1727 2884 w
10 R f
1785 2688 1785 2904 Dl
3081 2688 1785 2688 Dl
3081 2904 3081 2688 Dl
1785 2904 3081 2904 Dl
(Integer)2292 2816 w
6 R f
(1 15)1 1264 1 1801 2884 t
10 R f
(Int)1538 3140 w
1699 3012 1699 3228 Dl
1785 3012 1699 3012 Dl
1785 3228 1785 3012 Dl
1699 3228 1785 3228 Dl
(S)1714 3140 w
6 R f
(0)1727 3208 w
10 R f
1785 3012 1785 3228 Dl
4463 3012 1785 3012 Dl
4464 3228 4464 3012 Dl
1786 3228 4464 3228 Dl
(Integer)2983 3140 w
6 R f
(1 31)1 2647 1 1801 3208 t
10 R f
(Float)1443 3464 w
1699 3336 1699 3552 Dl
1785 3336 1699 3336 Dl
1785 3552 1785 3336 Dl
1699 3552 1785 3552 Dl
(S)1714 3464 w
6 R f
(0)1727 3532 w
10 R f
1785 3336 1785 3552 Dl
2389 3336 1785 3336 Dl
2390 3552 2390 3336 Dl
1786 3552 2390 3552 Dl
(Exponent)1897 3464 w
6 R f
(1 7)1 573 1 1801 3532 t
10 R f
2390 3336 2390 3552 Dl
4463 3336 2390 3336 Dl
4464 3552 4464 3336 Dl
2391 3552 4464 3552 Dl
(Fraction)3261 3464 w
6 R f
(8 31)1 2042 1 2406 3532 t
10 R f
( a)1 74(Each line describes)2 778 2 720 3750 t
10 I f
(record)1602 3750 w
10 R f
(that contains several)2 825 1 1898 3750 t
10 I f
(\256elds)2753 3750 w
10 R f
( \256gure was described by this text in the input)9 1841(. The)1 235 2 2964 3750 t
(\256le:)720 3870 w
9 CW f
(.begin dformat)1 756 1 1080 4040 t
(style bitwid 0.12)2 918 1 1080 4150 t
(Short)1080 4260 w
(0 S)1 162 1 1512 4370 t
(1-15 Integer)1 648 1 1512 4480 t
(Int)1080 4590 w
(0 S)1 162 1 1512 4700 t
(1-31 Integer)1 648 1 1512 4810 t
(Float)1080 4920 w
(0 S)1 162 1 1512 5030 t
(1-7 Exponent)1 648 1 1512 5140 t
(8-31 Fraction)1 702 1 1512 5250 t
(.end)1080 5360 w
10 R f
(The)720 5540 w
10 CW f
(.begin dformat)1 806 1 901 5540 t
10 R f
(and)1733 5540 w
10 CW f
(.end)1903 5540 w
10 R f
( The)1 206(lines delimit the DFORMAT input.)4 1419 2 2169 5540 t
10 CW f
(style)3820 5540 w
10 R f
( bits are)2 320(line states that)2 574 2 4146 5540 t
( that start in column 1 name the records; subsequent lines that begin)12 2822( Lines)1 281( 0.12 inches wide.)3 751(rendered as)1 466 4 720 5660 t
( DFORMAT is a PIC preprocessor, the)6 1574( Because)1 384( widths and names, in order.)5 1139(with white space give the \256eld)5 1223 4 720 5780 t
(document is compiled with a pipeline like)6 1677 1 720 5900 t
9 CW f
(dformat paper.in | pic | tbl | eqn | troff -ms >paper.out)11 3078 1 1080 6070 t
10 R f
(The System/360 has \256ve instruction formats:)5 1797 1 970 6286 t
cleartomark
showpage
saveobj restore
%%EndPage: 1 3
%%Page: 2 4
/saveobj save def
mark
4 pagesetup
10 R f
(- 2 -)2 166 1 2797 480 t
(RR)1440 968 w
1624 840 1624 1056 Dl
2084 840 1624 840 Dl
2084 1056 2084 840 Dl
1624 1056 2084 1056 Dl
(Opcode)1699 968 w
6 R f
(0 7)1 428 1 1640 1036 t
10 R f
2084 840 2084 1056 Dl
2314 840 2084 840 Dl
2315 1056 2315 840 Dl
2085 1056 2315 1056 Dl
(R1)2142 968 w
6 R f
(8 11)1 199 1 2100 1036 t
10 R f
2315 840 2315 1056 Dl
2545 840 2315 840 Dl
2545 1056 2545 840 Dl
2315 1056 2545 1056 Dl
(R2)2372 968 w
6 R f
(12 15)1 198 1 2331 1036 t
10 R f
(RX)1435 1292 w
1624 1164 1624 1380 Dl
2084 1164 1624 1164 Dl
2084 1380 2084 1164 Dl
1624 1380 2084 1380 Dl
(Opcode)1699 1292 w
6 R f
(0 7)1 428 1 1640 1360 t
10 R f
2084 1164 2084 1380 Dl
2314 1164 2084 1164 Dl
2315 1380 2315 1164 Dl
2085 1380 2315 1380 Dl
(R1)2142 1292 w
6 R f
(8 11)1 199 1 2100 1360 t
10 R f
2315 1164 2315 1380 Dl
2545 1164 2315 1164 Dl
2545 1380 2545 1164 Dl
2315 1380 2545 1380 Dl
(X2)2369 1292 w
6 R f
(12 15)1 198 1 2331 1360 t
10 R f
2545 1164 2545 1380 Dl
2775 1164 2545 1164 Dl
2776 1380 2776 1164 Dl
2546 1380 2776 1380 Dl
(B2)2602 1292 w
6 R f
(16 19)1 199 1 2561 1360 t
10 R f
2776 1164 2776 1380 Dl
3467 1164 2776 1164 Dl
3467 1380 3467 1164 Dl
2776 1380 3467 1380 Dl
(D2)3060 1292 w
6 R f
(20 31)1 659 1 2792 1360 t
10 R f
(RS)1451 1616 w
1624 1488 1624 1704 Dl
2084 1488 1624 1488 Dl
2084 1704 2084 1488 Dl
1624 1704 2084 1704 Dl
(Opcode)1699 1616 w
6 R f
(0 7)1 428 1 1640 1684 t
10 R f
2084 1488 2084 1704 Dl
2314 1488 2084 1488 Dl
2315 1704 2315 1488 Dl
2085 1704 2315 1704 Dl
(R1)2142 1616 w
6 R f
(8 11)1 199 1 2100 1684 t
10 R f
2315 1488 2315 1704 Dl
2545 1488 2315 1488 Dl
2545 1704 2545 1488 Dl
2315 1704 2545 1704 Dl
(R3)2372 1616 w
6 R f
(12 15)1 198 1 2331 1684 t
10 R f
2545 1488 2545 1704 Dl
2775 1488 2545 1488 Dl
2776 1704 2776 1488 Dl
2546 1704 2776 1704 Dl
(B2)2602 1616 w
6 R f
(16 19)1 199 1 2561 1684 t
10 R f
2776 1488 2776 1704 Dl
3467 1488 2776 1488 Dl
3467 1704 3467 1488 Dl
2776 1704 3467 1704 Dl
(D2)3060 1616 w
6 R f
(20 31)1 659 1 2792 1684 t
10 R f
(SI)1485 1940 w
1624 1812 1624 2028 Dl
2084 1812 1624 1812 Dl
2084 2028 2084 1812 Dl
1624 2028 2084 2028 Dl
(Opcode)1699 1940 w
6 R f
(0 7)1 428 1 1640 2008 t
10 R f
2084 1812 2084 2028 Dl
2544 1812 2084 1812 Dl
2545 2028 2545 1812 Dl
2085 2028 2545 2028 Dl
2516 2148 2516 2028 Dl
(Immediate Op)1 574 1 1926 2168 t
6 R f
(8 15)1 429 1 2100 2008 t
10 R f
2545 1812 2545 2028 Dl
2775 1812 2545 1812 Dl
2776 2028 2776 1812 Dl
2546 2028 2776 2028 Dl
(B1)2602 1940 w
6 R f
(16 19)1 199 1 2561 2008 t
10 R f
2776 1812 2776 2028 Dl
3467 1812 2776 1812 Dl
3467 2028 3467 1812 Dl
2776 2028 3467 2028 Dl
(D1)3060 1940 w
6 R f
(20 31)1 659 1 2792 2008 t
10 R f
(SS)1462 2384 w
1624 2256 1624 2472 Dl
2084 2256 1624 2256 Dl
2084 2472 2084 2256 Dl
1624 2472 2084 2472 Dl
(Opcode)1699 2384 w
6 R f
(0 7)1 428 1 1640 2452 t
10 R f
2084 2256 2084 2472 Dl
2544 2256 2084 2256 Dl
2545 2472 2545 2256 Dl
2085 2472 2545 2472 Dl
(Length)2174 2384 w
6 R f
(8 15)1 429 1 2100 2452 t
10 R f
2545 2256 2545 2472 Dl
2775 2256 2545 2256 Dl
2776 2472 2776 2256 Dl
2546 2472 2776 2472 Dl
(B1)2602 2384 w
6 R f
(16 19)1 199 1 2561 2452 t
10 R f
2776 2256 2776 2472 Dl
3467 2256 2776 2256 Dl
3467 2472 3467 2256 Dl
2776 2472 3467 2472 Dl
(D1)3060 2384 w
6 R f
(20 31)1 659 1 2792 2452 t
10 R f
3467 2256 3467 2472 Dl
3697 2256 3467 2256 Dl
3697 2472 3697 2256 Dl
3467 2472 3697 2472 Dl
(B2)3524 2384 w
6 R f
(32 35)1 198 1 3483 2452 t
10 R f
3697 2256 3697 2472 Dl
4388 2256 3697 2256 Dl
4388 2472 4388 2256 Dl
3697 2472 4388 2472 Dl
(D2)3982 2384 w
6 R f
(36 47)1 659 1 3713 2452 t
10 R f
( its box, DFORMAT places the)5 1285(Because the ``Immediate Op'' text in the SI instruction is too long to \256t in)14 3035 2 720 2670 t
( instruction format in the)4 1062(text below the box and connects it with a line \(as it did twice in the PDP-8)16 3258 2 720 2790 t
( picture is described as follows:)5 1262(abstract\). This)1 596 2 720 2910 t
9 CW f
(.begin dformat)1 756 1 1080 3080 t
(style bitwid 0.08)2 918 1 1080 3190 t
(RR)1080 3300 w
(0-7 Opcode)1 540 1 1512 3410 t
(8-11 R1)1 378 1 1512 3520 t
(12-15 R2)1 432 1 1512 3630 t
(RX)1080 3740 w
(0-7 Opcode)1 540 1 1512 3850 t
(8-11 R1)1 378 1 1512 3960 t
(12-15 X2)1 432 1 1512 4070 t
(16-19 B2)1 432 1 1512 4180 t
(20-31 D2)1 432 1 1512 4290 t
(...)1080 4400 w
(.end)1080 4510 w
10 R f
(The)720 4690 w
10 CW f
(style)903 4690 w
10 R f
( be viewed as an assignment of the value 0.08 inches to the parameter)13 2835(command can)1 560 2 1231 4690 t
10 CW f
(bitwid)4655 4690 w
10 R f
(.)5015 4690 w
( assignments persist between)3 1178( The)1 212( across.)1 306(The widest instruction format of 48 bits is therefore 3.84 inches)10 2624 4 720 4810 t
( document; in most documents, therefore, the)6 1857(DFORMAT diagrams in a)3 1073 2 720 4930 t
10 CW f
(bitwid)3683 4930 w
10 R f
(parameter is set only in)4 964 1 4076 4930 t
(the \256rst picture.)2 630 1 720 5050 t
(Bits can be numbered with zero at the right; here is the instruction format of the UNIVAC 1103A:)17 3925 1 970 5206 t
(Instruction Word)1 685 1 1327 5496 t
2062 5368 2062 5584 Dl
2494 5368 2062 5368 Dl
2494 5584 2494 5368 Dl
2062 5584 2494 5584 Dl
(OpCode)2112 5496 w
6 R f
(35 30)1 400 1 2078 5564 t
10 R f
2494 5368 2494 5584 Dl
3574 5368 2494 5368 Dl
3574 5584 3574 5368 Dl
2494 5584 3574 5584 Dl
(U Address)1 424 1 2822 5496 t
6 R f
(29 15)1 1048 1 2510 5564 t
10 R f
3574 5368 3574 5584 Dl
4654 5368 3574 5368 Dl
4654 5584 4654 5368 Dl
3574 5584 4654 5584 Dl
(V Address)1 424 1 3902 5496 t
6 R f
(14 0)1 1048 1 3590 5564 t
10 R f
(It was produced by this input:)5 1191 1 720 5782 t
9 CW f
(.begin dformat)1 756 1 1080 5952 t
(style bitwid 0.1)2 864 1 1080 6062 t
(Instr)1080 6172 w
(35-30 OpCode)1 648 1 1512 6282 t
(29-15 U Address)2 810 1 1512 6392 t
(14-0 V Address)2 756 1 1512 6502 t
(.end)1080 6612 w
10 R f
( are simply described; this)4 1077( pictures)1 347( Simple)1 340(These examples illustrate the typical use of DFORMAT.)7 2306 4 970 6828 t
( 2 describes additional parameters for controlling pic-)7 2220( Section)1 362(level of detail is suf\256cient for most users.)7 1738 3 720 6948 t
( parameters aren't enough,)3 1069( the built-in)2 469( If)1 117(tures, and Section 3 contains several more sophisticated examples.)8 2665 4 720 7068 t
(Section 4 describes how you might tinker with the implementation.)9 2688 1 720 7188 t
cleartomark
showpage
saveobj restore
%%EndPage: 2 4
%%Page: 3 5
/saveobj save def
mark
5 pagesetup
10 R f
(- 3 -)2 166 1 2797 480 t
10 B f
( Parameters)1 517(2. Adjusting)1 548 2 720 840 t
10 R f
(Many computer systems have memory organized like this:)7 2339 1 970 996 t
cleartomark
saveobj restore
%%BeginGlobal
%
% Color and reverse video support for dpost. A call made to setcolor with two
% arguments implies reverse video printing.
%
/rgb {setrgbcolor} bind def
/hsb {sethsbcolor} bind def
/colordict 50 dict dup begin
/red { 1 0 0 } def
/green { 0 1 0 } def
/blue { 0 0 1 } def
/cyan { 0 1 1 } def
/magenta { 1 0 1 } def
/yellow { 1 1 0 } def
/white { 1 1 1 } def
/black { 0 0 0 } def
end def
/setcolor {
counttomark 1 eq {
dup colordict exch known not {pop /black} if
colordict exch get exec setrgbcolor
} if
counttomark 2 eq {
/backcolor exch def
/textcolor exch def
colordict backcolor known not colordict textcolor known not or {
/backcolor colordict /black get def
/textcolor colordict /white get def
} if
/backcolor colordict backcolor get def
/textcolor colordict textcolor get def
/dY1 0 def
/dY2 0 def
textcolor exec setrgbcolor
} if
} bind def
/drawrvbox {
/x2 exch def
/x1 exch def
currentpoint dup
/y1 exch def
/y2 exch def pop
dY1 0 eq dY2 0 eq and {
currentfont /FontBBox get aload pop
currentfont /FontMatrix get dtransform /dY2 exch def pop
currentfont /FontMatrix get dtransform /dY1 exch def pop
} if
/y1 y1 dY1 add def
/y2 y2 dY2 add def
backcolor exec setrgbcolor
newpath
x1 y1 moveto
x2 y1 lineto
x2 y2 lineto
x1 y2 lineto
closepath fill
textcolor exec setrgbcolor
} bind def
%%EndGlobal
/saveobj save def
mark
gsave
newpath
1728 1302 m
/inpath true def
0.9 setgray
10 R f
1728 1158 1728 1302 Dl
4032 1158 1728 1158 Dl
4032 1302 4032 1158 Dl
1728 1302 4032 1302 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Double Word)1 546 1 2607 1250 t
gsave
newpath
1728 1446 m
/inpath true def
0.9 setgray
1728 1302 1728 1446 Dl
2880 1302 1728 1302 Dl
2880 1446 2880 1302 Dl
1728 1446 2880 1446 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Word)2191 1394 w
gsave
newpath
2880 1446 m
/inpath true def
0.9 setgray
2880 1302 2880 1446 Dl
4032 1302 2880 1302 Dl
4032 1446 4032 1302 Dl
2880 1446 4032 1446 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Word)3343 1394 w
gsave
newpath
1728 1590 m
/inpath true def
0.9 setgray
1728 1446 1728 1590 Dl
2304 1446 1728 1446 Dl
2304 1590 2304 1446 Dl
1728 1590 2304 1590 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Half Word)1 429 1 1802 1538 t
gsave
newpath
2304 1590 m
/inpath true def
0.9 setgray
2304 1446 2304 1590 Dl
2880 1446 2304 1446 Dl
2880 1590 2880 1446 Dl
2304 1590 2880 1590 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Half Word)1 429 1 2378 1538 t
gsave
newpath
2880 1590 m
/inpath true def
0.9 setgray
2880 1446 2880 1590 Dl
3456 1446 2880 1446 Dl
3456 1590 3456 1446 Dl
2880 1590 3456 1590 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Half Word)1 429 1 2954 1538 t
gsave
newpath
3456 1590 m
/inpath true def
0.9 setgray
3456 1446 3456 1590 Dl
4032 1446 3456 1446 Dl
4032 1590 4032 1446 Dl
3456 1590 4032 1590 Dl
gsave eofill grestore 0 setgray stroke
grestore
/inpath false def
10 R f
(Half Word)1 429 1 3530 1538 t
gsave
newpath
1728 1734 m
/inpath true def
0.9 setgray
1728 1590 1728 1734 Dl
2016 1590 1728 1590 Dl