home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1062 < prev    next >
SHell self-extracting ARchive  |  1990-12-28  |  12.1 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: 1062

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail text default
99% file C source, ASCII text default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 6a 62 | 6d 40 75 6e 63 6c 65 2e |From: jb|m@uncle.|
|00000010| 55 55 43 50 20 28 4a 6f | 68 6e 20 42 2e 20 4d 69 |UUCP (Jo|hn B. Mi|
|00000020| 6c 74 6f 6e 29 0a 4e 65 | 77 73 67 72 6f 75 70 73 |lton).Ne|wsgroups|
|00000030| 3a 20 61 6c 74 2e 66 72 | 61 63 74 61 6c 73 2c 61 |: alt.fr|actals,a|
|00000040| 6c 74 2e 73 6f 75 72 63 | 65 73 0a 53 75 62 6a 65 |lt.sourc|es.Subje|
|00000050| 63 74 3a 20 4d 6f 74 6f | 72 6f 6c 61 20 36 38 38 |ct: Moto|rola 688|
|00000060| 38 31 20 61 73 73 65 6d | 62 6c 79 20 63 6f 64 65 |81 assem|bly code|
|00000070| 20 66 6f 72 20 4d 20 73 | 65 74 73 0a 4d 65 73 73 | for M s|ets.Mess|
|00000080| 61 67 65 2d 49 44 3a 20 | 3c 37 37 37 40 75 6e 63 |age-ID: |<777@unc|
|00000090| 6c 65 2e 55 55 43 50 3e | 0a 44 61 74 65 3a 20 32 |le.UUCP>|.Date: 2|
|000000a0| 34 20 4d 61 72 20 39 30 | 20 30 37 3a 30 34 3a 30 |4 Mar 90| 07:04:0|
|000000b0| 36 20 47 4d 54 0a 0a 41 | 72 63 68 69 76 65 2d 6e |6 GMT..A|rchive-n|
|000000c0| 61 6d 65 3a 20 6d 61 6e | 36 38 38 38 31 2f 70 61 |ame: man|68881/pa|
|000000d0| 72 74 30 31 0a 0a 4d 79 | 20 66 72 69 65 6e 64 20 |rt01..My| friend |
|000000e0| 4a 61 6d 65 73 20 4e 75 | 67 65 6e 20 61 6e 64 20 |James Nu|gen and |
|000000f0| 49 20 64 69 64 20 74 68 | 69 73 20 61 20 77 68 69 |I did th|is a whi|
|00000100| 6c 65 20 61 67 6f 2e 20 | 54 68 65 20 63 61 6c 63 |le ago. |The calc|
|00000110| 38 38 31 2e 73 20 77 61 | 73 20 6f 72 69 67 69 6e |881.s wa|s origin|
|00000120| 61 6c 6c 79 0a 70 61 72 | 74 20 6f 66 20 67 65 6e |ally.par|t of gen|
|00000130| 2e 63 20 77 65 20 64 69 | 64 20 61 20 63 63 20 2d |.c we di|d a cc -|
|00000140| 53 2c 20 6f 70 74 69 6d | 7a 65 64 2c 20 61 6e 64 |S, optim|zed, and|
|00000150| 20 68 65 72 65 20 69 74 | 20 69 73 2e 20 46 61 69 | here it| is. Fai|
|00000160| 72 6c 79 20 71 75 69 63 | 6b 2e 20 57 65 0a 6d 61 |rly quic|k. We.ma|
|00000170| 6e 61 67 65 64 20 74 6f | 20 63 72 61 6d 20 74 68 |naged to| cram th|
|00000180| 65 20 65 6e 74 69 72 65 | 20 69 6e 74 65 72 61 74 |e entire| interat|
|00000190| 69 6f 6e 20 6c 6f 6f 70 | 20 69 6e 74 6f 20 72 65 |ion loop| into re|
|000001a0| 67 69 73 74 65 72 73 2c | 20 73 6f 20 61 6c 6c 20 |gisters,| so all |
|000001b0| 74 68 6f 73 65 0a 63 61 | 6c 63 75 6c 61 74 69 6f |those.ca|lculatio|
|000001c0| 6e 73 20 61 72 65 20 64 | 6f 6e 65 20 77 69 74 68 |ns are d|one with|
|000001d0| 20 38 30 20 62 69 74 20 | 70 72 65 63 69 73 69 6f | 80 bit |precisio|
|000001e0| 6e 2e 20 54 68 65 20 63 | 61 6c 63 38 38 31 2e 73 |n. The c|alc881.s|
|000001f0| 20 63 6f 64 65 20 77 61 | 73 20 64 6f 6e 65 0a 77 | code wa|s done.w|
|00000200| 69 74 68 6f 75 74 20 61 | 6e 79 20 36 38 38 38 32 |ithout a|ny 68882|
|00000210| 20 6b 6e 6f 77 6c 65 64 | 67 65 2c 20 73 6f 20 69 | knowled|ge, so i|
|00000220| 6d 70 72 6f 76 65 6d 65 | 6e 74 20 6d 69 67 68 74 |mproveme|nt might|
|00000230| 20 62 65 20 70 6f 73 73 | 69 62 6c 65 2e 20 4e 6f | be poss|ible. No|
|00000240| 74 65 20 74 68 61 74 20 | 73 6f 6d 65 0a 74 68 69 |te that |some.thi|
|00000250| 6e 67 73 20 61 72 65 20 | 6e 6f 74 20 71 75 69 74 |ngs are |not quit|
|00000260| 65 20 73 74 61 6e 64 61 | 72 64 20 28 68 69 67 68 |e standa|rd (high|
|00000270| 20 64 69 76 65 72 67 65 | 6e 63 65 20 63 75 74 6f | diverge|nce cuto|
|00000280| 66 66 29 2e 20 4e 6f 74 | 65 20 74 68 61 74 20 74 |ff). Not|e that t|
|00000290| 68 65 20 65 6e 74 69 72 | 65 0a 66 72 61 6d 65 20 |he entir|e.frame |
|000002a0| 69 73 20 67 65 6e 65 72 | 61 74 65 64 20 69 6e 20 |is gener|ated in |
|000002b0| 74 68 65 20 43 61 6c 63 | 20 72 6f 75 74 69 6e 65 |the Calc| routine|
|000002c0| 2e 20 41 6c 73 6f 20 6e | 6f 74 65 20 74 68 61 74 |. Also n|ote that|
|000002d0| 20 77 65 20 68 61 63 6b | 65 64 20 69 6e 20 6f 6e | we hack|ed in on|
|000002e0| 65 0a 70 61 72 74 69 63 | 75 6c 61 72 20 75 6e 69 |e.partic|ular uni|
|000002f0| 78 20 61 73 73 65 6d 62 | 6c 65 72 2c 20 79 6f 75 |x assemb|ler, you|
|00000300| 72 20 61 73 73 65 6d 62 | 6c 65 72 20 77 69 6c 6c |r assemb|ler will|
|00000310| 20 73 75 72 65 6c 79 20 | 68 61 76 65 20 74 72 6f | surely |have tro|
|00000320| 75 62 6c 65 2e 20 54 68 | 69 73 20 77 61 73 0a 64 |uble. Th|is was.d|
|00000330| 6f 6e 65 20 6f 6e 20 61 | 20 55 6e 69 73 79 73 20 |one on a| Unisys |
|00000340| 35 30 30 30 2f 39 30 2c | 20 61 20 72 65 6c 61 62 |5000/90,| a relab|
|00000350| 65 6c 65 64 20 41 72 65 | 74 65 27 2e 20 42 65 77 |eled Are|te'. Bew|
|00000360| 61 72 65 20 41 53 50 45 | 43 54 2c 20 49 20 77 61 |are ASPE|CT, I wa|
|00000370| 6e 74 65 64 20 64 6f 74 | 20 66 6f 72 0a 64 6f 74 |nted dot| for.dot|
|00000380| 20 6f 6e 20 6d 79 20 73 | 63 72 65 65 6e 20 74 6f | on my s|creen to|
|00000390| 20 6c 6f 6f 6b 20 72 69 | 67 68 74 2e 20 49 20 75 | look ri|ght. I u|
|000003a0| 73 65 64 20 74 68 65 73 | 65 20 70 72 6f 67 72 61 |sed thes|e progra|
|000003b0| 6d 73 20 74 6f 20 67 65 | 6e 65 72 61 74 65 20 61 |ms to ge|nerate a|
|000003c0| 20 73 65 72 69 65 73 20 | 6f 66 0a 7a 6f 6f 6d 73 | series |of.zooms|
|000003d0| 20 66 72 6f 6d 20 74 68 | 65 20 66 75 6c 6c 20 73 | from th|e full s|
|000003e0| 65 74 20 74 6f 20 6f 66 | 66 20 74 68 65 20 65 6e |et to of|f the en|
|000003f0| 64 20 6f 66 20 74 68 65 | 20 70 72 65 63 69 73 69 |d of the| precisi|
|00000400| 6f 6e 2e 20 50 6c 65 61 | 73 65 20 65 78 63 75 73 |on. Plea|se excus|
|00000410| 65 20 74 68 65 0a 70 72 | 6f 67 72 61 6d 6d 69 6e |e the.pr|ogrammin|
|00000420| 67 20 79 75 63 6b 69 65 | 73 2c 20 49 27 6d 20 61 |g yuckie|s, I'm a|
|00000430| 20 62 65 74 74 65 72 20 | 70 72 6f 67 72 61 6d 6d | better |programm|
|00000440| 65 72 20 6e 6f 77 2e 0a | 0a 49 66 20 61 6e 79 62 |er now..|.If anyb|
|00000450| 6f 64 79 20 75 73 65 73 | 20 74 68 69 73 2c 20 70 |ody uses| this, p|
|00000460| 6c 65 61 73 65 20 6c 65 | 74 20 6d 65 20 6b 6e 6f |lease le|t me kno|
|00000470| 77 20 61 6e 64 20 67 69 | 76 65 20 6d 65 20 73 6f |w and gi|ve me so|
|00000480| 6d 65 20 74 69 6d 65 73 | 2e 0a 0a 4a 6f 68 6e 0a |me times|...John.|
|00000490| 2d 2d 0a 4a 6f 68 6e 20 | 42 6c 79 20 4d 69 6c 74 |--.John |Bly Milt|
|000004a0| 6f 6e 20 49 56 2c 20 6a | 62 6d 40 75 6e 63 6c 65 |on IV, j|bm@uncle|
|000004b0| 2e 55 55 43 50 2c 20 6e | 38 65 6d 72 21 75 6e 63 |.UUCP, n|8emr!unc|
|000004c0| 6c 65 21 6a 62 6d 40 6f | 73 75 2d 63 69 73 2e 63 |le!jbm@o|su-cis.c|
|000004d0| 69 73 2e 6f 68 69 6f 2d | 73 74 61 74 65 2e 65 64 |is.ohio-|state.ed|
|000004e0| 75 0a 28 36 31 34 29 20 | 68 3a 32 35 32 2d 38 35 |u.(614) |h:252-85|
|000004f0| 34 34 2c 20 77 3a 34 36 | 39 2d 31 39 39 30 3b 20 |44, w:46|9-1990; |
|00000500| 4e 38 4b 53 4e 2c 20 41 | 4d 50 52 3a 20 34 34 2e |N8KSN, A|MPR: 44.|
|00000510| 37 30 2e 30 2e 35 32 3b | 20 44 6f 6e 27 74 20 46 |70.0.52;| Don't F|
|00000520| 4c 41 4d 45 2c 20 69 6e | 66 6f 72 6d 21 0a 2d 2d |LAME, in|form!.--|
|00000530| 2d 0a 23 21 20 2f 62 69 | 6e 2f 73 68 0a 23 20 54 |-.#! /bi|n/sh.# T|
|00000540| 68 69 73 20 69 73 20 61 | 20 73 68 65 6c 6c 20 61 |his is a| shell a|
|00000550| 72 63 68 69 76 65 2e 20 | 20 52 65 6d 6f 76 65 20 |rchive. | Remove |
|00000560| 61 6e 79 74 68 69 6e 67 | 20 62 65 66 6f 72 65 20 |anything| before |
|00000570| 74 68 69 73 20 6c 69 6e | 65 2c 20 74 68 65 6e 20 |this lin|e, then |
|00000580| 75 6e 70 61 63 6b 0a 23 | 20 69 74 20 62 79 20 73 |unpack.#| it by s|
|00000590| 61 76 69 6e 67 20 69 74 | 20 69 6e 74 6f 20 61 20 |aving it| into a |
|000005a0| 66 69 6c 65 20 61 6e 64 | 20 74 79 70 69 6e 67 20 |file and| typing |
|000005b0| 22 73 68 20 66 69 6c 65 | 22 2e 20 20 54 6f 20 6f |"sh file|". To o|
|000005c0| 76 65 72 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |verwrite| existin|
|000005d0| 67 0a 23 20 66 69 6c 65 | 73 2c 20 74 79 70 65 20 |g.# file|s, type |
|000005e0| 22 73 68 20 66 69 6c 65 | 20 2d 63 22 2e 20 20 59 |"sh file| -c". Y|
|000005f0| 6f 75 20 63 61 6e 20 61 | 6c 73 6f 20 66 65 65 64 |ou can a|lso feed|
|00000600| 20 74 68 69 73 20 61 73 | 20 73 74 61 6e 64 61 72 | this as| standar|
|00000610| 64 20 69 6e 70 75 74 20 | 76 69 61 0a 23 20 75 6e |d input |via.# un|
|00000620| 73 68 61 72 2c 20 6f 72 | 20 62 79 20 74 79 70 69 |shar, or| by typi|
|00000630| 6e 67 20 22 73 68 20 3c | 66 69 6c 65 22 2c 20 65 |ng "sh <|file", e|
|00000640| 2e 67 2e 2e 20 20 49 66 | 20 74 68 69 73 20 61 72 |.g.. If| this ar|
|00000650| 63 68 69 76 65 20 69 73 | 20 63 6f 6d 70 6c 65 74 |chive is| complet|
|00000660| 65 2c 20 79 6f 75 0a 23 | 20 77 69 6c 6c 20 73 65 |e, you.#| will se|
|00000670| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000680| 6d 65 73 73 61 67 65 20 | 61 74 20 74 68 65 20 65 |message |at the e|
|00000690| 6e 64 3a 0a 23 09 09 22 | 45 6e 64 20 6f 66 20 73 |nd:.#.."|End of s|
|000006a0| 68 65 6c 6c 20 61 72 63 | 68 69 76 65 2e 22 0a 23 |hell arc|hive.".#|
|000006b0| 20 43 6f 6e 74 65 6e 74 | 73 3a 20 20 67 65 6e 2e | Content|s: gen.|
|000006c0| 63 20 63 61 6c 63 38 38 | 31 2e 73 0a 23 20 57 72 |c calc88|1.s.# Wr|
|000006d0| 61 70 70 65 64 20 62 79 | 20 6a 62 6d 40 75 6e 63 |apped by| jbm@unc|
|000006e0| 6c 65 20 6f 6e 20 53 61 | 74 20 4d 61 72 20 32 34 |le on Sa|t Mar 24|
|000006f0| 20 30 31 3a 35 31 3a 33 | 34 20 31 39 39 30 0a 50 | 01:51:3|4 1990.P|
|00000700| 41 54 48 3d 2f 62 69 6e | 3a 2f 75 73 72 2f 62 69 |ATH=/bin|:/usr/bi|
|00000710| 6e 3a 2f 75 73 72 2f 75 | 63 62 20 3b 20 65 78 70 |n:/usr/u|cb ; exp|
|00000720| 6f 72 74 20 50 41 54 48 | 0a 69 66 20 74 65 73 74 |ort PATH|.if test|
|00000730| 20 2d 66 20 27 67 65 6e | 2e 63 27 20 2d 61 20 22 | -f 'gen|.c' -a "|
|00000740| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|00000750| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|00000760| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00000770| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00000780| 65 20 5c 22 27 67 65 6e | 2e 63 27 5c 22 0a 65 6c |e \"'gen|.c'\".el|
|00000790| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|000007a0| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 67 65 6e 2e |tracting| \"'gen.|
|000007b0| 63 27 5c 22 20 5c 28 34 | 36 38 30 20 63 68 61 72 |c'\" \(4|680 char|
|000007c0| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|000007d0| 5e 58 2f 2f 22 20 3e 27 | 67 65 6e 2e 63 27 20 3c |^X//" >'|gen.c' <|
|000007e0| 3c 27 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |<'END_OF|_FILE'.X|
|000007f0| 2f 2a 20 76 69 3a 20 73 | 65 74 20 74 73 3d 32 20 |/* vi: s|et ts=2 |
|00000800| 73 77 3d 32 3a 20 2a 2f | 0a 58 2f 2a 20 20 20 20 |sw=2: */|.X/* |
|00000810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000820| 20 20 20 20 20 47 20 45 | 20 4e 0a 58 0a 58 20 20 | G E| N.X.X |
|00000830| 20 20 20 55 70 64 61 74 | 65 20 68 69 73 74 6f 72 | Updat|e histor|
|00000840| 79 2c 20 6d 6f 73 74 20 | 72 65 63 65 6e 74 20 66 |y, most |recent f|
|00000850| 69 72 73 74 2e 0a 58 0a | 58 20 20 44 61 74 65 20 |irst..X.|X Date |
|00000860| 20 20 20 20 49 6e 74 20 | 20 4d 6f 64 69 66 69 63 | Int | Modific|
|00000870| 61 74 69 6f 6e 0a 58 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ation.X-|--------|
|00000880| 20 20 2d 2d 2d 20 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d | --- -|--------|
|00000890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008c0| 2d 2d 2d 2d 2d 2d 0a 58 | 30 39 2d 4d 61 72 2d 38 |------.X|09-Mar-8|
|000008d0| 38 20 20 4a 42 4d 20 20 | 4d 6f 64 73 20 74 6f 20 |8 JBM |Mods to |
|000008e0| 72 75 6e 20 42 65 6e 6e | 65 74 74 27 73 20 62 65 |run Benn|ett's be|
|000008f0| 6e 63 68 6d 61 72 6b 2e | 0a 58 31 37 2d 46 65 62 |nchmark.|.X17-Feb|
|00000900| 2d 38 38 20 20 4a 42 4d | 20 20 41 64 64 65 64 20 |-88 JBM| Added |
|00000910| 31 2f 31 20 61 73 70 65 | 63 74 20 6d 6f 64 65 20 |1/1 aspe|ct mode |
|00000920| 77 69 74 68 20 2d 74 20 | 73 77 69 74 63 68 20 66 |with -t |switch f|
|00000930| 6f 72 20 54 72 61 63 65 | 72 20 6f 75 74 70 75 74 |or Trace|r output|
|00000940| 2e 0a 58 31 35 2d 46 65 | 62 2d 38 38 20 20 4a 42 |..X15-Fe|b-88 JB|
|00000950| 4d 20 20 4d 6f 76 65 64 | 20 62 6f 74 68 20 6c 6f |M Moved| both lo|
|00000960| 6f 70 73 20 6f 75 74 20 | 66 6f 72 20 61 73 73 65 |ops out |for asse|
|00000970| 6d 62 6c 79 2e 0a 58 31 | 31 2d 46 65 62 2d 38 38 |mbly..X1|1-Feb-88|
|00000980| 20 20 4a 42 4d 20 20 43 | 68 61 6e 67 65 73 20 74 | JBM C|hanges t|
|00000990| 6f 20 69 6e 6e 65 72 2e | 0a 58 30 35 2d 46 65 62 |o inner.|.X05-Feb|
|000009a0| 2d 38 38 20 20 4a 42 4d | 20 20 53 70 6c 69 74 20 |-88 JBM| Split |
|000009b0| 69 6e 6e 65 72 20 6c 6f | 6f 70 20 6f 66 66 20 66 |inner lo|op off f|
|000009c0| 6f 72 20 6f 70 74 69 6d | 69 7a 61 74 69 6f 6e 2e |or optim|ization.|
|000009d0| 0a 58 30 31 2d 46 65 62 | 2d 38 38 20 20 4a 42 4d |.X01-Feb|-88 JBM|
|000009e0| 20 20 46 69 78 65 64 20 | 62 75 67 20 77 68 65 72 | Fixed |bug wher|
|000009f0| 65 20 6f 6e 6c 79 20 63 | 6f 75 6e 74 20 6d 6f 64 |e only c|ount mod|
|00000a00| 20 32 35 36 20 77 61 73 | 20 62 65 69 6e 67 20 77 | 256 was| being w|
|00000a10| 72 69 74 74 65 6e 2e 0a | 58 32 35 2d 4a 61 6e 2d |ritten..|X25-Jan-|
|00000a20| 38 38 20 20 4a 42 4d 20 | 20 57 65 6c 6c 2c 20 74 |88 JBM | Well, t|
|00000a30| 68 65 20 2d 4f 20 63 6f | 6d 70 69 6c 65 72 20 73 |he -O co|mpiler s|
|00000a40| 77 69 74 63 68 20 64 6f | 65 73 20 6e 6f 74 20 68 |witch do|es not h|
|00000a50| 65 6c 70 20 74 68 65 20 | 46 50 20 63 6f 64 65 2c |elp the |FP code,|
|00000a60| 20 62 75 74 0a 58 09 09 | 09 09 09 09 09 09 72 65 | but.X..|......re|
|00000a70| 67 69 73 74 65 72 20 73 | 74 6f 72 61 67 65 20 63 |gister s|torage c|
|00000a80| 6c 61 73 73 20 73 75 72 | 65 6c 79 20 64 6f 65 73 |lass sur|ely does|
|00000a90| 2e 0a 58 32 31 2d 4a 61 | 6e 2d 38 38 20 20 4a 42 |..X21-Ja|n-88 JB|
|00000aa0| 4d 20 20 57 6f 72 6b 65 | 64 20 75 70 20 76 65 72 |M Worke|d up ver|
|00000ab0| 73 69 6f 6e 20 66 6f 72 | 20 74 68 65 20 53 70 65 |sion for| the Spe|
|00000ac0| 72 72 79 2e 20 56 65 72 | 79 20 77 65 69 72 64 2c |rry. Ver|y weird,|
|00000ad0| 20 77 68 65 6e 20 70 75 | 74 20 69 6e 0a 58 09 09 | when pu|t in.X..|
|00000ae0| 09 09 09 09 09 09 62 61 | 63 6b 67 72 6f 75 6e 64 |......ba|ckground|
|00000af0| 20 77 69 74 68 20 26 2c | 20 69 74 20 73 74 69 6c | with &,| it stil|
|00000b00| 6c 20 70 61 79 73 20 61 | 74 74 65 6e 74 69 6f 6e |l pays a|ttention|
|00000b10| 20 74 6f 20 73 69 67 6e | 61 6c 73 21 21 0a 58 31 | to sign|als!!.X1|
|00000b20| 39 2d 4a 61 6e 2d 38 38 | 20 20 4a 42 4d 20 20 44 |9-Jan-88| JBM D|
|00000b30| 65 63 69 64 65 64 20 74 | 6f 20 64 6f 20 69 74 20 |ecided t|o do it |
|00000b40| 74 68 65 20 55 4e 49 58 | 20 77 61 79 2e 20 54 68 |the UNIX| way. Th|
|00000b50| 69 73 20 68 61 73 20 6e | 6f 77 20 62 65 65 6e 20 |is has n|ow been |
|00000b60| 73 70 6c 69 74 20 69 6e | 74 6f 20 61 0a 58 09 09 |split in|to a.X..|
|00000b70| 09 09 09 09 09 09 67 65 | 6e 65 72 61 74 6f 72 20 |......ge|nerator |
|00000b80| 61 6e 64 20 61 20 64 69 | 73 70 6c 61 79 65 72 2e |and a di|splayer.|
|00000b90| 20 54 68 61 74 20 6d 65 | 61 6e 73 20 74 68 69 73 | That me|ans this|
|00000ba0| 20 6d 6f 64 75 6c 65 20 | 69 73 20 6e 6f 77 20 6d | module |is now m|
|00000bb0| 61 63 68 69 6e 65 0a 58 | 09 09 09 09 09 09 09 09 |achine.X|........|
|00000bc0| 49 4e 44 45 50 45 4e 44 | 41 4e 54 2e 20 41 64 64 |INDEPEND|ANT. Add|
|00000bd0| 65 64 20 63 6f 6c 73 20 | 61 6e 64 20 72 6f 77 73 |ed cols |and rows|
|00000be0| 20 6c 69 6d 69 74 73 2c | 20 6d 6f 73 74 6c 79 20 | limits,| mostly |
|00000bf0| 66 6f 72 20 70 72 6f 6f | 66 69 6e 67 2e 0a 58 09 |for proo|fing..X.|
|00000c00| 09 09 09 09 09 09 09 41 | 64 64 65 64 20 61 75 74 |.......A|dded aut|
|00000c10| 6f 20 61 73 70 65 63 74 | 20 66 6f 72 20 70 72 6f |o aspect| for pro|
|00000c20| 6f 66 69 6e 67 2e 0a 58 | 31 37 2d 4a 61 6e 2d 38 |ofing..X|17-Jan-8|
|00000c30| 38 20 20 4a 42 4d 20 20 | 54 68 61 6e 6b 73 20 74 |8 JBM |Thanks t|
|00000c40| 6f 20 6d 79 20 77 6f 6e | 64 65 72 66 75 6c 20 63 |o my won|derful c|
|00000c50| 6c 65 61 6e 75 70 2c 20 | 61 66 74 65 72 20 6c 65 |leanup, |after le|
|00000c60| 61 76 69 6e 67 20 69 74 | 20 72 75 6e 20 61 6c 6c |aving it| run all|
|00000c70| 20 6e 69 67 68 74 0a 58 | 09 09 09 09 09 09 09 09 | night.X|........|
|00000c80| 6c 61 73 74 20 6e 69 67 | 68 74 2c 20 49 20 77 6f |last nig|ht, I wo|
|00000c90| 6b 65 20 75 70 20 74 6f | 20 66 69 6e 64 20 6e 6f |ke up to| find no|
|00000ca0| 74 68 69 6e 67 2e 20 53 | 77 69 74 63 68 65 64 20 |thing. S|witched |
|00000cb0| 74 6f 20 32 34 20 28 32 | 38 38 29 0a 58 09 09 09 |to 24 (2|88).X...|
|00000cc0| 09 09 09 09 09 6c 69 6e | 65 20 66 6f 72 20 6e 6f |.....lin|e for no|
|00000cd0| 77 2e 20 54 69 6d 65 20 | 74 6f 20 66 69 78 20 74 |w. Time |to fix t|
|00000ce0| 68 65 20 61 73 70 65 63 | 74 20 72 61 74 69 6f 2e |he aspec|t ratio.|
|00000cf0| 0a 58 31 36 2d 4a 61 6e | 2d 38 38 20 20 4a 42 4d |.X16-Jan|-88 JBM|
|00000d00| 20 20 47 6f 74 20 74 68 | 65 20 77 72 61 73 74 6f | Got th|e wrasto|
|00000d10| 70 28 29 20 73 74 75 66 | 66 20 77 6f 72 6b 69 6e |p() stuf|f workin|
|00000d20| 67 2c 20 74 68 61 6e 6b | 73 20 74 6f 20 74 68 65 |g, thank|s to the|
|00000d30| 20 63 6f 64 65 20 69 6e | 20 74 68 65 20 6d 61 63 | code in| the mac|
|00000d40| 0a 58 09 09 09 09 09 09 | 09 09 70 61 69 6e 74 20 |.X......|..paint |
|00000d50| 66 69 6c 65 20 76 69 65 | 77 65 72 20 66 72 6f 6d |file vie|wer from|
|00000d60| 20 45 6d 6d 65 74 20 50 | 2e 20 47 72 61 79 2e 20 | Emmet P|. Gray. |
|00000d70| 41 64 64 65 64 20 74 68 | 65 20 73 69 67 6e 61 6c |Added th|e signal|
|00000d80| 20 74 72 61 70 70 69 6e | 67 0a 58 09 09 09 09 09 | trappin|g.X.....|
|00000d90| 09 09 09 73 74 75 66 66 | 2c 20 70 75 6c 6c 65 64 |...stuff|, pulled|
|00000da0| 20 69 6e 20 4a 69 6d 20 | 50 72 69 6f 72 27 73 20 | in Jim |Prior's |
|00000db0| 66 72 33 2e 63 20 66 72 | 61 63 74 61 6c 20 73 74 |fr3.c fr|actal st|
|00000dc0| 75 66 66 2e 20 46 6f 72 | 20 6f 72 69 67 69 6e 61 |uff. For| origina|
|00000dd0| 6c 0a 58 09 09 09 09 09 | 09 09 09 63 6f 6d 6d 65 |l.X.....|...comme|
|00000de0| 6e 74 73 2c 20 73 65 65 | 20 74 68 65 20 6f 72 69 |nts, see| the ori|
|00000df0| 67 69 6e 61 6c 20 63 6f | 64 65 2e 0a 58 31 35 2d |ginal co|de..X15-|
|00000e00| 4a 61 6e 2d 38 38 20 20 | 4a 42 4d 20 20 53 74 61 |Jan-88 |JBM Sta|
|00000e10| 72 74 65 64 20 6f 6e 20 | 74 68 65 20 77 72 61 73 |rted on |the wras|
|00000e20| 74 6f 70 20 73 74 75 66 | 66 2e 20 49 74 20 64 6f |top stuf|f. It do|
|00000e30| 65 73 6e 27 74 20 6c 6f | 6f 6b 20 6c 69 6b 65 20 |esn't lo|ok like |
|00000e40| 69 74 27 73 20 67 6f 69 | 6e 67 0a 58 09 09 09 09 |it's goi|ng.X....|
|00000e50| 09 09 09 09 74 6f 20 6c | 65 74 20 6d 65 20 68 61 |....to l|et me ha|
|00000e60| 76 65 20 74 68 65 20 77 | 68 6f 6c 65 20 73 63 72 |ve the w|hole scr|
|00000e70| 65 65 6e 2e 0a 58 2a 2f | 0a 58 0a 58 23 69 6e 63 |een..X*/|.X.X#inc|
|00000e80| 6c 75 64 65 20 3c 73 79 | 73 2f 74 79 70 65 73 2e |lude <sy|s/types.|
|00000e90| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 79 |h>.X#inc|lude <sy|
|00000ea0| 73 2f 74 69 6d 65 73 2e | 68 3e 0a 58 23 69 6e 63 |s/times.|h>.X#inc|
|00000eb0| 6c 75 64 65 20 3c 6d 61 | 74 68 2e 68 3e 0a 58 23 |lude <ma|th.h>.X#|
|00000ec0| 69 6e 63 6c 75 64 65 20 | 3c 73 65 74 6a 6d 70 2e |include |<setjmp.|
|00000ed0| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 69 |h>.X#inc|lude <si|
|00000ee0| 67 6e 61 6c 2e 68 3e 0a | 58 23 69 6e 63 6c 75 64 |gnal.h>.|X#includ|
|00000ef0| 65 20 3c 73 74 64 69 6f | 2e 68 3e 0a 58 0a 58 2f |e <stdio|.h>.X.X/|
|00000f00| 2a 23 64 65 66 69 6e 65 | 20 44 4f 42 45 4e 43 48 |*#define| DOBENCH|
|00000f10| 20 2f 2a 20 75 6e 63 6f | 6d 6d 65 6e 74 20 69 66 | /* unco|mment if|
|00000f20| 20 79 6f 75 20 77 61 6e | 74 20 74 6f 20 72 75 6e | you wan|t to run|
|00000f30| 20 62 65 6e 63 68 6d 61 | 72 6b 20 2a 2f 0a 58 0a | benchma|rk */.X.|
|00000f40| 58 23 69 66 64 65 66 20 | 44 4f 42 45 4e 43 48 0a |X#ifdef |DOBENCH.|
|00000f50| 58 23 09 64 65 66 69 6e | 65 20 52 4f 57 53 20 35 |X#.defin|e ROWS 5|
|00000f60| 30 30 0a 58 23 09 64 65 | 66 69 6e 65 20 43 4f 4c |00.X#.de|fine COL|
|00000f70| 53 20 35 30 30 0a 58 23 | 09 64 65 66 69 6e 65 20 |S 500.X#|.define |
|00000f80| 41 53 50 45 43 54 20 31 | 2e 30 20 2f 2a 20 62 65 |ASPECT 1|.0 /* be|
|00000f90| 6e 63 68 6d 61 72 6b 20 | 70 61 72 61 6d 65 74 65 |nchmark |paramete|
|00000fa0| 72 73 20 2a 2f 0a 58 23 | 65 6c 73 65 0a 58 23 09 |rs */.X#|else.X#.|
|00000fb0| 64 65 66 69 6e 65 20 52 | 4f 57 53 20 33 34 38 0a |define R|OWS 348.|
|00000fc0| 58 23 09 64 65 66 69 6e | 65 20 43 4f 4c 53 20 37 |X#.defin|e COLS 7|
|00000fd0| 32 30 0a 58 23 09 64 65 | 66 69 6e 65 20 41 53 50 |20.X#.de|fine ASP|
|00000fe0| 45 43 54 20 31 2e 35 36 | 32 35 20 2f 2a 20 70 69 |ECT 1.56|25 /* pi|
|00000ff0| 78 65 6c 20 61 73 70 65 | 63 74 20 72 61 74 69 6f |xel aspe|ct ratio|
|00001000| 20 37 32 30 20 78 20 32 | 38 38 2c 20 74 61 6b 65 | 720 x 2|88, take|
|00001010| 73 20 75 70 20 38 22 20 | 78 20 35 22 20 2a 2f 0a |s up 8" |x 5" */.|
|00001020| 58 23 65 6e 64 69 66 0a | 58 0a 58 73 74 61 74 69 |X#endif.|X.Xstati|
|00001030| 63 20 6a 6d 70 5f 62 75 | 66 20 65 6e 76 3b 0a 58 |c jmp_bu|f env;.X|
|00001040| 73 74 61 74 69 63 20 69 | 6e 74 20 54 68 65 53 69 |static i|nt TheSi|
|00001050| 67 3d 30 3b 0a 58 0a 58 | 76 6f 69 64 20 44 6f 28 |g=0;.X.X|void Do(|
|00001060| 41 72 67 57 69 64 2c 41 | 72 67 58 2c 41 72 67 59 |ArgWid,A|rgX,ArgY|
|00001070| 2c 63 6f 6c 73 2c 72 6f | 77 73 2c 69 74 65 72 2c |,cols,ro|ws,iter,|
|00001080| 6f 6e 65 74 6f 6f 6e 65 | 29 0a 58 64 6f 75 62 6c |onetoone|).Xdoubl|
|00001090| 65 20 41 72 67 58 2c 41 | 72 67 59 2c 41 72 67 57 |e ArgX,A|rgY,ArgW|
|000010a0| 69 64 3b 0a 58 69 6e 74 | 20 63 6f 6c 73 2c 72 6f |id;.Xint| cols,ro|
|000010b0| 77 73 2c 69 74 65 72 3b | 0a 58 7b 0a 58 09 6c 6f |ws,iter;|.X{.X.lo|
|000010c0| 6e 67 20 63 6c 69 63 6b | 73 2c 63 6c 73 74 61 72 |ng click|s,clstar|
|000010d0| 74 2c 63 6c 73 74 6f 70 | 2c 68 6f 6c 64 3b 0a 58 |t,clstop|,hold;.X|
|000010e0| 09 64 6f 75 62 6c 65 20 | 72 65 61 6c 5f 6d 69 6e |.double |real_min|
|000010f0| 2c 72 65 61 6c 5f 69 6e | 63 3b 0a 58 09 64 6f 75 |,real_in|c;.X.dou|
|00001100| 62 6c 65 20 69 6d 61 67 | 5f 6d 69 6e 2c 69 6d 61 |ble imag|_min,ima|
|00001110| 67 5f 69 6e 63 3b 0a 58 | 09 64 6f 75 62 6c 65 20 |g_inc;.X|.double |
|00001120| 61 73 70 65 63 74 2c 72 | 65 61 6c 5f 6d 61 78 2c |aspect,r|eal_max,|
|00001130| 69 6d 61 67 5f 6d 61 78 | 3b 0a 58 09 73 74 72 75 |imag_max|;.X.stru|
|00001140| 63 74 20 74 6d 73 20 73 | 74 61 72 74 2c 64 6f 6e |ct tms s|tart,don|
|00001150| 65 3b 0a 58 09 73 74 61 | 74 69 63 20 75 6e 73 69 |e;.X.sta|tic unsi|
|00001160| 67 6e 65 64 20 73 68 6f | 72 74 20 69 6e 74 20 62 |gned sho|rt int b|
|00001170| 75 66 5b 52 4f 57 53 5d | 5b 43 4f 4c 53 5d 3b 0a |uf[ROWS]|[COLS];.|
|00001180| 58 09 6c 6f 6e 67 20 74 | 69 6d 65 28 29 2c 74 69 |X.long t|ime(),ti|
|00001190| 6d 65 73 28 29 3b 0a 58 | 0a 58 09 69 66 20 28 6f |mes();.X|.X.if (o|
|000011a0| 6e 65 74 6f 6f 6e 65 29 | 0a 58 09 09 61 73 70 65 |netoone)|.X..aspe|
|000011b0| 63 74 3d 31 2e 30 2f 28 | 28 63 6f 6c 73 2b 30 2e |ct=1.0/(|(cols+0.|
|000011c0| 29 2f 28 72 6f 77 73 2b | 30 2e 29 29 3b 0a 58 09 |)/(rows+|0.));.X.|
|000011d0| 65 6c 73 65 0a 58 09 09 | 61 73 70 65 63 74 3d 41 |else.X..|aspect=A|
|000011e0| 53 50 45 43 54 2f 28 28 | 63 6f 6c 73 2b 30 2e 29 |SPECT/((|cols+0.)|
|000011f0| 2f 28 72 6f 77 73 2b 30 | 2e 29 29 3b 0a 58 09 72 |/(rows+0|.));.X.r|
|00001200| 65 61 6c 5f 6d 69 6e 3d | 41 72 67 58 2d 2e 35 2a |eal_min=|ArgX-.5*|
|00001210| 41 72 67 57 69 64 3b 0a | 58 09 72 65 61 6c 5f 6d |ArgWid;.|X.real_m|
|00001220| 61 78 3d 41 72 67 58 2b | 2e 35 2a 41 72 67 57 69 |ax=ArgX+|.5*ArgWi|
|00001230| 64 3b 0a 58 09 72 65 61 | 6c 5f 69 6e 63 3d 28 72 |d;.X.rea|l_inc=(r|
|00001240| 65 61 6c 5f 6d 61 78 2d | 72 65 61 6c 5f 6d 69 6e |eal_max-|real_min|
|00001250| 29 2f 63 6f 6c 73 3b 0a | 58 09 69 6d 61 67 5f 6d |)/cols;.|X.imag_m|
|00001260| 69 6e 3d 41 72 67 59 2d | 2e 35 2a 61 73 70 65 63 |in=ArgY-|.5*aspec|
|00001270| 74 2a 41 72 67 57 69 64 | 3b 0a 58 09 69 6d 61 67 |t*ArgWid|;.X.imag|
|00001280| 5f 6d 61 78 3d 41 72 67 | 59 2b 2e 35 2a 61 73 70 |_max=Arg|Y+.5*asp|
|00001290| 65 63 74 2a 41 72 67 57 | 69 64 3b 0a 58 09 69 6d |ect*ArgW|id;.X.im|
|000012a0| 61 67 5f 69 6e 63 3d 28 | 69 6d 61 67 5f 6d 61 78 |ag_inc=(|imag_max|
|000012b0| 2d 69 6d 61 67 5f 6d 69 | 6e 29 2f 72 6f 77 73 3b |-imag_mi|n)/rows;|
|000012c0| 0a 58 0a 58 09 70 72 69 | 6e 74 66 28 22 25 30 34 |.X.X.pri|ntf("%04|
|000012d0| 64 20 25 30 34 64 5c 6e | 22 2c 63 6f 6c 73 2c 72 |d %04d\n|",cols,r|
|000012e0| 6f 77 73 29 3b 0a 58 09 | 70 72 69 6e 74 66 28 22 |ows);.X.|printf("|
|000012f0| 25 2e 31 37 6c 65 20 25 | 2e 31 37 6c 65 20 25 2e |%.17le %|.17le %.|
|00001300| 31 37 6c 65 20 25 2e 31 | 37 6c 65 5c 6e 22 2c 41 |17le %.1|7le\n",A|
|00001310| 72 67 58 2c 72 65 61 6c | 5f 6d 69 6e 2c 72 65 61 |rgX,real|_min,rea|
|00001320| 6c 5f 6d 61 78 2c 72 65 | 61 6c 5f 69 6e 63 29 3b |l_max,re|al_inc);|
|00001330| 0a 58 09 70 72 69 6e 74 | 66 28 22 25 2e 31 37 6c |.X.print|f("%.17l|
|00001340| 65 20 25 2e 31 37 6c 65 | 20 25 2e 31 37 6c 65 20 |e %.17le| %.17le |
|00001350| 25 2e 31 37 6c 65 5c 6e | 22 2c 41 72 67 59 2c 69 |%.17le\n|",ArgY,i|
|00001360| 6d 61 67 5f 6d 69 6e 2c | 69 6d 61 67 5f 6d 61 78 |mag_min,|imag_max|
|00001370| 2c 69 6d 61 67 5f 69 6e | 63 29 3b 0a 58 0a 58 09 |,imag_in|c);.X.X.|
|00001380| 6d 65 6d 73 65 74 28 62 | 75 66 2c 27 5a 27 2c 52 |memset(b|uf,'Z',R|
|00001390| 4f 57 53 2a 43 4f 4c 53 | 2a 32 29 3b 20 2f 2a 20 |OWS*COLS|*2); /* |
|000013a0| 64 65 62 75 67 67 69 6e | 67 20 2a 2f 0a 58 0a 58 |debuggin|g */.X.X|
|000013b0| 09 74 69 6d 65 28 26 63 | 6c 73 74 61 72 74 29 3b |.time(&c|lstart);|
|000013c0| 20 2f 2a 20 74 68 69 73 | 20 69 73 20 77 68 6f 6c | /* this| is whol|
|000013d0| 65 20 73 65 63 6f 6e 64 | 73 20 2a 2f 0a 58 09 74 |e second|s */.X.t|
|000013e0| 69 6d 65 73 28 26 73 74 | 61 72 74 29 3b 0a 58 09 |imes(&st|art);.X.|
|000013f0| 43 61 6c 63 28 62 75 66 | 2c 63 6f 6c 73 2c 72 6f |Calc(buf|,cols,ro|
|00001400| 77 73 2c 69 74 65 72 2c | 72 65 61 6c 5f 6d 69 6e |ws,iter,|real_min|
|00001410| 2c 72 65 61 6c 5f 69 6e | 63 2c 69 6d 61 67 5f 6d |,real_in|c,imag_m|
|00001420| 69 6e 2c 69 6d 61 67 5f | 69 6e 63 29 3b 0a 58 09 |in,imag_|inc);.X.|
|00001430| 74 69 6d 65 73 28 26 64 | 6f 6e 65 29 3b 0a 58 09 |times(&d|one);.X.|
|00001440| 74 69 6d 65 28 26 63 6c | 73 74 6f 70 29 3b 0a 58 |time(&cl|stop);.X|
|00001450| 0a 58 09 66 70 72 69 6e | 74 66 28 73 74 64 65 72 |.X.fprin|tf(stder|
|00001460| 72 2c 22 65 6c 61 70 73 | 65 64 20 74 69 6d 65 3a |r,"elaps|ed time:|
|00001470| 20 25 6c 64 20 73 65 63 | 6f 6e 64 73 5c 6e 22 2c | %ld sec|onds\n",|
|00001480| 63 6c 73 74 6f 70 2d 63 | 6c 73 74 61 72 74 29 3b |clstop-c|lstart);|
|00001490| 0a 58 09 63 6c 69 63 6b | 73 3d 64 6f 6e 65 2e 74 |.X.click|s=done.t|
|000014a0| 6d 73 5f 75 74 69 6d 65 | 2d 73 74 61 72 74 2e 74 |ms_utime|-start.t|
|000014b0| 6d 73 5f 75 74 69 6d 65 | 3b 0a 58 09 66 70 72 69 |ms_utime|;.X.fpri|
|000014c0| 6e 74 66 28 73 74 64 65 | 72 72 2c 22 63 70 75 20 |ntf(stde|rr,"cpu |
|000014d0| 74 69 6d 65 3a 20 25 64 | 20 63 6c 69 63 6b 73 20 |time: %d| clicks |
|000014e0| 28 20 22 2c 63 6c 69 63 | 6b 73 29 3b 0a 58 09 69 |( ",clic|ks);.X.i|
|000014f0| 66 20 28 28 68 6f 6c 64 | 3d 63 6c 69 63 6b 73 2f |f ((hold|=clicks/|
|00001500| 28 32 34 2a 36 30 2a 36 | 30 2a 36 30 29 29 3e 30 |(24*60*6|0*60))>0|
|00001510| 29 20 7b 0a 58 09 09 66 | 70 72 69 6e 74 66 28 73 |) {.X..f|printf(s|
|00001520| 74 64 65 72 72 2c 22 25 | 64 20 64 61 79 73 20 22 |tderr,"%|d days "|
|00001530| 2c 68 6f 6c 64 29 3b 0a | 58 09 09 63 6c 69 63 6b |,hold);.|X..click|
|00001540| 73 25 3d 32 34 2a 36 30 | 2a 36 30 2a 36 30 3b 0a |s%=24*60|*60*60;.|
|00001550| 58 09 7d 0a 58 09 69 66 | 20 28 28 68 6f 6c 64 3d |X.}.X.if| ((hold=|
|00001560| 63 6c 69 63 6b 73 2f 28 | 36 30 2a 36 30 2a 36 30 |clicks/(|60*60*60|
|00001570| 29 29 3e 30 29 20 7b 0a | 58 09 09 66 70 72 69 6e |))>0) {.|X..fprin|
|00001580| 74 66 28 73 74 64 65 72 | 72 2c 22 25 64 20 68 6f |tf(stder|r,"%d ho|
|00001590| 75 72 73 20 22 2c 68 6f | 6c 64 29 3b 0a 58 09 09 |urs ",ho|ld);.X..|
|000015a0| 63 6c 69 63 6b 73 25 3d | 36 30 2a 36 30 2a 36 30 |clicks%=|60*60*60|
|000015b0| 3b 0a 58 09 7d 0a 58 09 | 69 66 20 28 28 68 6f 6c |;.X.}.X.|if ((hol|
|000015c0| 64 3d 63 6c 69 63 6b 73 | 2f 28 36 30 2a 36 30 29 |d=clicks|/(60*60)|
|000015d0| 29 3e 30 29 20 7b 0a 58 | 09 09 66 70 72 69 6e 74 |)>0) {.X|..fprint|
|000015e0| 66 28 73 74 64 65 72 72 | 2c 22 25 64 20 6d 69 6e |f(stderr|,"%d min|
|000015f0| 75 74 65 73 20 22 2c 68 | 6f 6c 64 29 3b 0a 58 09 |utes ",h|old);.X.|
|00001600| 09 63 6c 69 63 6b 73 25 | 3d 36 30 2a 36 30 3b 0a |.clicks%|=60*60;.|
|00001610| 58 09 7d 0a 58 09 69 66 | 20 28 28 68 6f 6c 64 3d |X.}.X.if| ((hold=|
|00001620| 63 6c 69 63 6b 73 2f 36 | 30 29 3e 30 29 20 7b 0a |clicks/6|0)>0) {.|
|00001630| 58 09 09 66 70 72 69 6e | 74 66 28 73 74 64 65 72 |X..fprin|tf(stder|
|00001640| 72 2c 22 25 64 20 73 65 | 63 6f 6e 64 73 20 22 2c |r,"%d se|conds ",|
|00001650| 68 6f 6c 64 29 3b 0a 58 | 09 09 63 6c 69 63 6b 73 |hold);.X|..clicks|
|00001660| 25 3d 36 30 3b 0a 58 09 | 7d 0a 58 09 69 66 20 28 |%=60;.X.|}.X.if (|
|00001670| 63 6c 69 63 6b 73 3e 30 | 29 0a 58 09 09 66 70 72 |clicks>0|).X..fpr|
|00001680| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 22 25 64 20 |intf(std|err,"%d |
|00001690| 63 6c 69 63 6b 73 20 22 | 2c 63 6c 69 63 6b 73 29 |clicks "|,clicks)|
|000016a0| 3b 0a 58 09 66 70 72 69 | 6e 74 66 28 73 74 64 65 |;.X.fpri|ntf(stde|
|000016b0| 72 72 2c 22 29 5c 6e 5c | 6e 22 29 3b 0a 58 09 0a |rr,")\n\|n");.X..|
|000016c0| 58 09 66 77 72 69 74 65 | 28 62 75 66 2c 72 6f 77 |X.fwrite|(buf,row|
|000016d0| 73 2a 63 6f 6c 73 2a 32 | 2c 31 2c 73 74 64 6f 75 |s*cols*2|,1,stdou|
|000016e0| 74 29 3b 20 2f 2a 20 69 | 74 27 73 20 61 63 74 75 |t); /* i|t's actu|
|000016f0| 61 6c 6c 79 20 73 74 6f | 72 65 64 20 6c 69 6e 65 |ally sto|red line|
|00001700| 61 72 6c 79 20 2a 2f 0a | 58 7d 0a 58 0a 58 73 74 |arly */.|X}.X.Xst|
|00001710| 61 74 69 63 20 69 6e 74 | 20 47 65 74 53 69 67 28 |atic int| GetSig(|
|00001720| 73 69 67 29 0a 58 69 6e | 74 20 73 69 67 3b 0a 58 |sig).Xin|t sig;.X|
|00001730| 7b 0a 58 09 54 68 65 53 | 69 67 3d 73 69 67 3b 0a |{.X.TheS|ig=sig;.|
|00001740| 58 09 6c 6f 6e 67 6a 6d | 70 20 28 65 6e 76 2c 31 |X.longjm|p (env,1|
|00001750| 29 3b 0a 58 7d 0a 58 0a | 58 76 6f 69 64 20 49 6e |);.X}.X.|Xvoid In|
|00001760| 69 74 28 29 0a 58 7b 0a | 58 09 73 69 67 6e 61 6c |it().X{.|X.signal|
|00001770| 28 53 49 47 48 55 50 2c | 53 49 47 5f 49 47 4e 29 |(SIGHUP,|SIG_IGN)|
|00001780| 3b 0a 58 09 73 69 67 6e | 61 6c 28 53 49 47 49 4e |;.X.sign|al(SIGIN|
|00001790| 54 2c 53 49 47 5f 49 47 | 4e 29 3b 0a 58 09 73 69 |T,SIG_IG|N);.X.si|
|000017a0| 67 6e 61 6c 28 53 49 47 | 51 55 49 54 2c 47 65 74 |gnal(SIG|QUIT,Get|
|000017b0| 53 69 67 29 3b 0a 58 09 | 73 69 67 6e 61 6c 28 53 |Sig);.X.|signal(S|
|000017c0| 49 47 53 45 47 56 2c 47 | 65 74 53 69 67 29 3b 0a |IGSEGV,G|etSig);.|
|000017d0| 58 09 73 69 67 6e 61 6c | 28 53 49 47 54 45 52 4d |X.signal|(SIGTERM|
|000017e0| 2c 47 65 74 53 69 67 29 | 3b 20 2f 2a 20 61 73 20 |,GetSig)|; /* as |
|000017f0| 66 72 6f 6d 20 6b 69 6c | 6c 20 28 31 29 20 63 6f |from kil|l (1) co|
|00001800| 6d 6d 61 6e 64 20 2a 2f | 0a 58 7d 0a 58 0a 58 76 |mmand */|.X}.X.Xv|
|00001810| 6f 69 64 20 54 65 72 6d | 28 29 0a 58 7b 0a 58 09 |oid Term|().X{.X.|
|00001820| 69 66 20 28 54 68 65 53 | 69 67 3d 3d 30 29 0a 58 |if (TheS|ig==0).X|
|00001830| 09 09 66 70 72 69 6e 74 | 66 28 73 74 64 65 72 72 |..fprint|f(stderr|
|00001840| 2c 22 67 65 6e 20 63 6f | 6d 70 6c 65 74 65 64 2e |,"gen co|mpleted.|
|00001850| 5c 6e 22 29 3b 0a 58 09 | 65 6c 73 65 0a 58 09 09 |\n");.X.|else.X..|
|00001860| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 22 |fprintf(|stderr,"|
|00001870| 67 65 6e 20 61 62 6f 72 | 74 65 64 2c 20 73 69 67 |gen abor|ted, sig|
|00001880| 6e 61 6c 3d 25 64 5c 6e | 22 2c 54 68 65 53 69 67 |nal=%d\n|",TheSig|
|00001890| 29 3b 0a 58 09 65 78 69 | 74 28 54 68 65 53 69 67 |);.X.exi|t(TheSig|
|000018a0| 29 3b 0a 58 7d 0a 58 0a | 58 69 6e 74 20 6d 61 69 |);.X}.X.|Xint mai|
|000018b0| 6e 28 61 72 67 63 2c 61 | 72 67 76 29 0a 58 69 6e |n(argc,a|rgv).Xin|
|000018c0| 74 20 61 72 67 63 3b 0a | 58 63 68 61 72 20 2a 61 |t argc;.|Xchar *a|
|000018d0| 72 67 76 5b 5d 3b 0a 58 | 7b 0a 58 09 63 68 61 72 |rgv[];.X|{.X.char|
|000018e0| 20 63 2c 54 72 61 63 65 | 3d 30 3b 0a 58 09 65 78 | c,Trace|=0;.X.ex|
|000018f0| 74 65 72 6e 20 69 6e 74 | 20 6f 70 74 69 6e 64 3b |tern int| optind;|
|00001900| 0a 58 09 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |.X.exter|n char *|
|00001910| 6f 70 74 61 72 67 3b 0a | 58 0a 58 09 77 68 69 6c |optarg;.|X.X.whil|
|00001920| 65 20 28 28 63 3d 67 65 | 74 6f 70 74 28 61 72 67 |e ((c=ge|topt(arg|
|00001930| 63 2c 61 72 67 76 2c 22 | 74 22 29 29 21 3d 45 4f |c,argv,"|t"))!=EO|
|00001940| 46 29 0a 58 09 09 73 77 | 69 74 63 68 20 28 63 29 |F).X..sw|itch (c)|
|00001950| 20 7b 0a 58 09 09 09 63 | 61 73 65 20 27 74 27 3a | {.X...c|ase 't':|
|00001960| 0a 58 09 09 09 09 54 72 | 61 63 65 3d 31 3b 0a 58 |.X....Tr|ace=1;.X|
|00001970| 09 09 09 09 62 72 65 61 | 6b 3b 0a 58 09 09 09 7d |....brea|k;.X...}|
|00001980| 0a 58 09 69 66 20 28 61 | 72 67 63 21 3d 6f 70 74 |.X.if (a|rgc!=opt|
|00001990| 69 6e 64 2b 36 29 20 7b | 0a 58 09 09 70 72 69 6e |ind+6) {|.X..prin|
|000019a0| 74 66 28 22 55 73 61 67 | 65 3a 20 25 73 20 77 69 |tf("Usag|e: %s wi|
|000019b0| 64 74 68 20 78 20 79 20 | 63 6f 6c 73 20 72 6f 77 |dth x y |cols row|
|000019c0| 73 20 69 74 65 72 5c 6e | 22 2c 61 72 67 76 5b 30 |s iter\n|",argv[0|
|000019d0| 5d 29 3b 0a 58 09 09 65 | 78 69 74 28 29 3b 0a 58 |]);.X..e|xit();.X|
|000019e0| 09 7d 0a 58 23 69 66 64 | 65 66 20 44 4f 42 45 4e |.}.X#ifd|ef DOBEN|
|000019f0| 43 48 0a 58 09 66 70 72 | 69 6e 74 66 28 73 74 64 |CH.X.fpr|intf(std|
|00001a00| 65 72 72 2c 22 52 55 4e | 4e 49 4e 47 20 42 45 4e |err,"RUN|NING BEN|
|00001a10| 43 48 4d 41 52 4b 5c 6e | 22 29 3b 0a 58 23 65 6e |CHMARK\n|");.X#en|
|00001a20| 64 69 66 0a 58 09 49 6e | 69 74 28 29 3b 0a 58 09 |dif.X.In|it();.X.|
|00001a30| 69 66 20 28 21 73 65 74 | 6a 6d 70 28 65 6e 76 29 |if (!set|jmp(env)|
|00001a40| 29 0a 58 09 09 44 6f 28 | 61 74 6f 66 28 61 72 67 |).X..Do(|atof(arg|
|00001a50| 76 5b 6f 70 74 69 6e 64 | 5d 29 2c 61 74 6f 66 28 |v[optind|]),atof(|
|00001a60| 61 72 67 76 5b 6f 70 74 | 69 6e 64 2b 31 5d 29 2c |argv[opt|ind+1]),|
|00001a70| 61 74 6f 66 28 61 72 67 | 76 5b 6f 70 74 69 6e 64 |atof(arg|v[optind|
|00001a80| 2b 32 5d 29 2c 0a 58 09 | 09 09 61 74 6f 69 28 61 |+2]),.X.|..atoi(a|
|00001a90| 72 67 76 5b 6f 70 74 69 | 6e 64 2b 33 5d 29 2c 61 |rgv[opti|nd+3]),a|
|00001aa0| 74 6f 69 28 61 72 67 76 | 5b 6f 70 74 69 6e 64 2b |toi(argv|[optind+|
|00001ab0| 34 5d 29 2c 61 74 6f 69 | 28 61 72 67 76 5b 6f 70 |4]),atoi|(argv[op|
|00001ac0| 74 69 6e 64 2b 35 5d 29 | 2c 54 72 61 63 65 29 3b |tind+5])|,Trace);|
|00001ad0| 0a 58 09 54 65 72 6d 28 | 29 3b 0a 58 7d 0a 45 4e |.X.Term(|);.X}.EN|
|00001ae0| 44 5f 4f 46 5f 46 49 4c | 45 0a 69 66 20 74 65 73 |D_OF_FIL|E.if tes|
|00001af0| 74 20 34 36 38 30 20 2d | 6e 65 20 60 77 63 20 2d |t 4680 -|ne `wc -|
|00001b00| 63 20 3c 27 67 65 6e 2e | 63 27 60 3b 20 74 68 65 |c <'gen.|c'`; the|
|00001b10| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00001b20| 20 5c 22 27 67 65 6e 2e | 63 27 5c 22 20 75 6e 70 | \"'gen.|c'\" unp|
|00001b30| 61 63 6b 65 64 20 77 69 | 74 68 20 77 72 6f 6e 67 |acked wi|th wrong|
|00001b40| 20 73 69 7a 65 21 0a 66 | 69 0a 23 20 65 6e 64 20 | size!.f|i.# end |
|00001b50| 6f 66 20 27 67 65 6e 2e | 63 27 0a 66 69 0a 69 66 |of 'gen.|c'.fi.if|
|00001b60| 20 74 65 73 74 20 2d 66 | 20 27 63 61 6c 63 38 38 | test -f| 'calc88|
|00001b70| 31 2e 73 27 20 2d 61 20 | 22 24 7b 31 7d 22 20 21 |1.s' -a |"${1}" !|
|00001b80| 3d 20 22 2d 63 22 20 3b | 20 74 68 65 6e 20 0a 20 |= "-c" ;| then . |
|00001b90| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 57 69 6c 6c | echo sh|ar: Will|
|00001ba0| 20 6e 6f 74 20 63 6c 6f | 62 62 65 72 20 65 78 69 | not clo|bber exi|
|00001bb0| 73 74 69 6e 67 20 66 69 | 6c 65 20 5c 22 27 63 61 |sting fi|le \"'ca|
|00001bc0| 6c 63 38 38 31 2e 73 27 | 5c 22 0a 65 6c 73 65 0a |lc881.s'|\".else.|
|00001bd0| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 78 74 72 61 |echo sha|r: Extra|
|00001be0| 63 74 69 6e 67 20 5c 22 | 27 63 61 6c 63 38 38 31 |cting \"|'calc881|
|00001bf0| 2e 73 27 5c 22 20 5c 28 | 34 38 32 37 20 63 68 61 |.s'\" \(|4827 cha|
|00001c00| 72 61 63 74 65 72 73 5c | 29 0a 73 65 64 20 22 73 |racters\|).sed "s|
|00001c10| 2f 5e 58 2f 2f 22 20 3e | 27 63 61 6c 63 38 38 31 |/^X//" >|'calc881|
|00001c20| 2e 73 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |.s' <<'E|ND_OF_FI|
|00001c30| 4c 45 27 0a 58 0a 58 23 | 20 76 69 3a 73 65 74 20 |LE'.X.X#| vi:set |
|00001c40| 74 73 3d 38 20 73 77 3d | 38 3a 0a 58 23 20 20 20 |ts=8 sw=|8:.X# |
|00001c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c60| 20 20 20 20 20 20 43 20 | 41 20 4c 20 43 0a 58 23 | C |A L C.X#|
|00001c70| 0a 58 23 20 20 20 20 20 | 55 70 64 61 74 65 20 68 |.X# |Update h|
|00001c80| 69 73 74 6f 72 79 2c 20 | 6d 6f 73 74 20 72 65 63 |istory, |most rec|
|00001c90| 65 6e 74 20 66 69 72 73 | 74 2e 0a 58 23 0a 58 23 |ent firs|t..X#.X#|
|00001ca0| 20 20 20 44 61 74 65 20 | 20 20 20 20 49 6e 74 20 | Date | Int |
|00001cb0| 20 4d 6f 64 69 66 69 63 | 61 74 69 6f 6e 0a 58 23 | Modific|ation.X#|
|00001cc0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 20 2d 2d 2d 20 | -------|-- --- |
|00001cd0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -------|--------|
|00001ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0a |--------|-------.|
|00001d10| 58 23 20 31 35 2d 46 65 | 62 2d 38 38 20 20 4a 42 |X# 15-Fe|b-88 JB|
|00001d20| 4d 20 20 50 75 6c 6c 65 | 64 20 74 68 65 20 77 68 |M Pulle|d the wh|
|00001d30| 6f 6c 65 20 6c 6f 6f 70 | 20 6f 75 74 20 6f 66 20 |ole loop| out of |
|00001d40| 67 65 6e 2c 20 61 20 69 | 6e 74 65 67 72 61 74 65 |gen, a i|ntegrate|
|00001d50| 64 20 6f 6c 64 20 69 74 | 65 72 61 74 65 28 29 2e |d old it|erate().|
|00001d60| 0a 58 23 20 09 09 20 20 | 41 64 64 65 64 20 6f 70 |.X# .. |Added op|
|00001d70| 74 69 6d 69 7a 61 74 69 | 6f 6e 20 66 6f 72 20 6c |timizati|on for l|
|00001d80| 61 73 74 20 69 74 65 72 | 61 74 69 6f 6e 20 28 6e |ast iter|ation (n|
|00001d90| 6f 74 20 64 6f 69 6e 67 | 20 69 74 29 2e 0a 58 23 |ot doing| it)..X#|
|00001da0| 20 31 32 2d 46 65 62 2d | 38 38 20 20 4a 42 4d 20 | 12-Feb-|88 JBM |
|00001db0| 20 57 6f 72 6b 65 64 20 | 77 69 74 68 20 4a 61 6d | Worked |with Jam|
|00001dc0| 65 73 20 74 6f 20 68 61 | 63 6b 20 74 68 65 20 69 |es to ha|ck the i|
|00001dd0| 6e 6e 65 72 20 6c 6f 6f | 70 20 69 6e 20 61 73 73 |nner loo|p in ass|
|00001de0| 65 6d 62 6c 65 72 2e 0a | 58 23 20 31 31 2d 46 65 |embler..|X# 11-Fe|
|00001df0| 62 2d 38 38 20 20 4a 42 | 4d 20 20 41 64 64 65 64 |b-88 JB|M Added|
|00001e00| 20 69 74 65 72 61 74 69 | 6f 6e 20 6c 69 6d 69 74 | iterati|on limit|
|00001e10| 20 70 61 72 61 6d 65 74 | 65 72 2e 0a 58 23 20 30 | paramet|er..X# 0|
|00001e20| 35 2d 46 65 62 2d 38 38 | 20 20 4a 42 4d 20 20 53 |5-Feb-88| JBM S|
|00001e30| 70 6c 69 74 20 66 72 6f | 6d 20 67 65 6e 2e 0a 58 |plit fro|m gen..X|
|00001e40| 23 0a 58 0a 58 09 66 69 | 6c 65 09 22 63 61 6c 63 |#.X.X.fi|le."calc|
|00001e50| 2e 73 22 09 23 20 74 65 | 6c 6c 20 73 64 62 20 77 |.s".# te|ll sdb w|
|00001e60| 68 65 72 65 20 6f 75 72 | 20 73 6f 75 72 63 65 20 |here our| source |
|00001e70| 69 73 0a 58 09 67 6c 6f | 62 61 6c 09 43 61 6c 63 |is.X.glo|bal.Calc|
|00001e80| 09 09 23 20 74 65 6c 6c | 20 6c 69 6e 6b 65 72 20 |..# tell| linker |
|00001e90| 77 68 61 74 20 77 65 20 | 61 72 65 0a 58 0a 58 09 |what we |are.X.X.|
|00001ea0| 73 65 74 09 46 4f 55 52 | 2c 30 78 34 30 31 30 30 |set.FOUR|,0x40100|
|00001eb0| 30 30 30 30 30 30 30 30 | 30 30 30 09 23 20 34 2e |00000000|000.# 4.|
|00001ec0| 30 0a 58 09 73 65 74 09 | 4d 45 47 2c 30 78 34 31 |0.X.set.|MEG,0x41|
|00001ed0| 32 65 38 34 38 30 30 30 | 30 30 30 30 30 30 09 23 |2e848000|000000.#|
|00001ee0| 20 31 20 6d 69 6c 6c 69 | 6f 6e 0a 58 09 73 65 74 | 1 milli|on.X.set|
|00001ef0| 09 44 49 56 45 52 47 45 | 2c 4d 45 47 09 23 20 53 |.DIVERGE|,MEG.# S|
|00001f00| 45 54 20 54 48 49 53 20 | 54 48 45 20 57 41 59 20 |ET THIS |THE WAY |
|00001f10| 59 4f 55 20 57 41 4e 54 | 20 49 54 0a 58 0a 58 09 |YOU WANT| IT.X.X.|
|00001f20| 73 65 74 09 46 25 31 2c | 2d 31 32 38 09 23 20 6c |set.F%1,|-128.# l|
|00001f30| 6f 63 61 6c 20 76 61 72 | 69 61 62 6c 65 20 73 70 |ocal var|iable sp|
|00001f40| 61 63 65 0a 58 09 73 65 | 74 09 46 50 4f 25 31 2c |ace.X.se|t.FPO%1,|
|00001f50| 32 38 09 23 20 66 6d 6f | 76 6d 20 73 61 76 65 20 |28.# fmo|vm save |
|00001f60| 61 72 65 61 0a 58 09 73 | 65 74 09 46 50 4d 25 31 |area.X.s|et.FPM%1|
|00001f70| 2c 30 78 30 30 33 66 09 | 23 20 66 6c 6f 61 74 69 |,0x003f.|# floati|
|00001f80| 6e 67 20 70 6f 69 6e 74 | 20 72 65 67 69 73 74 65 |ng point| registe|
|00001f90| 72 20 73 61 76 65 20 6d | 61 73 6b 0a 58 09 73 65 |r save m|ask.X.se|
|00001fa0| 74 09 4d 25 31 2c 30 78 | 30 30 66 63 09 23 20 36 |t.M%1,0x|00fc.# 6|
|00001fb0| 38 30 30 30 20 72 65 67 | 69 73 74 65 72 20 73 61 |8000 reg|ister sa|
|00001fc0| 76 65 20 6d 61 73 6b 0a | 58 0a 58 09 73 65 74 09 |ve mask.|X.X.set.|
|00001fd0| 62 75 66 2c 38 09 09 23 | 20 75 6e 73 69 67 6e 65 |buf,8..#| unsigne|
|00001fe0| 64 20 73 68 6f 72 74 20 | 69 6e 74 20 2a 0a 58 09 |d short |int *.X.|
|00001ff0| 73 65 74 09 63 6f 6c 73 | 2c 31 32 2b 32 09 23 20 |set.cols|,12+2.# |
|00002000| 69 6e 74 0a 58 09 73 65 | 74 09 72 6f 77 73 2c 31 |int.X.se|t.rows,1|
|00002010| 36 2b 32 09 23 20 69 6e | 74 0a 58 09 73 65 74 09 |6+2.# in|t.X.set.|
|00002020| 4d 69 74 65 72 2c 32 30 | 2b 32 09 23 20 75 6e 73 |Miter,20|+2.# uns|
|00002030| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 69 6e 74 0a |igned sh|ort int.|
|00002040| 58 09 73 65 74 09 52 6d | 69 6e 2c 32 34 09 09 23 |X.set.Rm|in,24..#|
|00002050| 20 64 6f 75 62 6c 65 0a | 58 09 73 65 74 09 52 69 | double.|X.set.Ri|
|00002060| 6e 63 2c 33 32 09 09 23 | 20 64 6f 75 62 6c 65 0a |nc,32..#| double.|
|00002070| 58 09 73 65 74 09 49 6d | 69 6e 2c 34 30 09 09 23 |X.set.Im|in,40..#|
|00002080| 20 64 6f 75 62 6c 65 0a | 58 09 73 65 74 09 49 69 | double.|X.set.Ii|
|00002090| 6e 63 2c 34 38 09 09 23 | 20 64 6f 75 62 6c 65 0a |nc,48..#| double.|
|000020a0| 58 0a 58 23 20 64 30 20 | 2d 20 74 65 6d 70 20 66 |X.X# d0 |- temp f|
|000020b0| 6f 72 20 63 6f 75 6e 74 | 20 63 6f 72 72 2e 09 61 |or count| corr..a|
|000020c0| 30 20 2d 20 43 75 72 72 | 65 6e 74 20 70 6f 69 6e |0 - Curr|ent poin|
|000020d0| 74 65 72 20 74 6f 20 6f | 75 74 70 75 74 20 62 75 |ter to o|utput bu|
|000020e0| 66 66 65 72 0a 58 23 20 | 64 31 20 2d 20 6d 61 78 |ffer.X# |d1 - max|
|000020f0| 20 69 74 65 72 61 74 69 | 6f 6e 73 09 09 61 31 20 | iterati|ons..a1 |
|00002100| 2d 20 28 75 6e 75 73 65 | 64 29 0a 58 23 20 64 32 |- (unuse|d).X# d2|
|00002110| 20 2d 20 69 74 65 72 61 | 74 69 6f 6e 20 63 6f 75 | - itera|tion cou|
|00002120| 6e 74 09 09 61 32 20 2d | 20 28 75 6e 75 73 65 64 |nt..a2 -| (unused|
|00002130| 29 0a 58 23 20 64 33 20 | 2d 20 78 20 70 6f 73 69 |).X# d3 |- x posi|
|00002140| 74 69 6f 6e 09 09 61 33 | 20 2d 20 28 75 6e 75 73 |tion..a3| - (unus|
|00002150| 65 64 29 0a 58 23 20 64 | 34 20 2d 20 79 20 70 6f |ed).X# d|4 - y po|
|00002160| 73 69 74 69 6f 6e 09 09 | 61 34 20 2d 20 28 75 6e |sition..|a4 - (un|
|00002170| 75 73 65 64 29 0a 58 23 | 20 64 35 20 2d 20 63 6f |used).X#| d5 - co|
|00002180| 6c 73 09 09 09 61 35 20 | 2d 20 28 75 6e 75 73 65 |ls...a5 |- (unuse|
|00002190| 64 29 0a 58 23 20 64 36 | 20 2d 20 28 75 6e 75 73 |d).X# d6| - (unus|
|000021a0| 65 64 29 09 09 09 66 70 | 20 2d 20 61 72 67 75 6d |ed)...fp| - argum|
|000021b0| 65 6e 74 20 66 72 61 6d | 65 20 70 6f 69 6e 74 65 |ent fram|e pointe|
|000021c0| 72 0a 58 23 20 64 37 20 | 2d 20 28 75 6e 75 73 65 |r.X# d7 |- (unuse|
|000021d0| 64 29 09 09 09 73 70 20 | 2d 20 73 74 61 63 6b 20 |d)...sp |- stack |
|000021e0| 70 6f 69 6e 74 65 72 0a | 58 0a 58 23 20 66 70 30 |pointer.|X.X# fp0|
|000021f0| 20 2d 20 0a 58 23 20 66 | 70 31 20 2d 20 0a 58 23 | - .X# f|p1 - .X#|
|00002200| 20 66 70 32 20 2d 20 72 | 65 61 6c 20 63 6f 6f 72 | fp2 - r|eal coor|
|00002210| 64 69 6e 61 74 65 0a 58 | 23 20 66 70 33 20 2d 20 |dinate.X|# fp3 - |
|00002220| 69 6d 61 67 69 6e 61 72 | 79 20 63 6f 6f 72 64 69 |imaginar|y coordi|
|00002230| 6e 61 74 65 0a 58 23 20 | 66 70 34 20 2d 20 0a 58 |nate.X# |fp4 - .X|
|00002240| 23 20 66 70 35 20 2d 20 | 0a 58 23 20 66 70 36 20 |# fp5 - |.X# fp6 |
|00002250| 2d 20 48 6f 6c 64 73 20 | 6f 6e 65 20 6d 69 6c 6c |- Holds |one mill|
|00002260| 69 6f 6e 20 63 6f 6e 73 | 74 61 6e 74 0a 58 23 20 |ion cons|tant.X# |
|00002270| 66 70 37 20 2d 20 0a 58 | 0a 58 09 74 65 78 74 0a |fp7 - .X|.X.text.|
|00002280| 58 0a 58 43 61 6c 63 3a | 09 74 73 74 2e 62 09 46 |X.XCalc:|.tst.b.F|
|00002290| 25 31 2d 32 35 36 28 25 | 73 70 29 09 09 23 20 3f |%1-256(%|sp)..# ?|
|000022a0| 20 62 65 61 74 73 20 6d | 65 0a 58 09 6c 69 6e 6b | beats m|e.X.link|
|000022b0| 09 25 66 70 2c 26 46 25 | 31 09 09 23 20 61 6c 6c |.%fp,&F%|1..# all|
|000022c0| 6f 63 61 74 65 20 6c 6f | 63 61 6c 20 76 61 72 73 |ocate lo|cal vars|
|000022d0| 20 73 70 61 63 65 0a 58 | 09 6d 6f 76 6d 2e 6c 09 | space.X|.movm.l.|
|000022e0| 26 4d 25 31 2c 28 34 2c | 25 73 70 29 09 09 23 20 |&M%1,(4,|%sp)..# |
|000022f0| 73 61 76 65 20 63 61 6c | 6c 65 72 27 73 20 72 65 |save cal|ler's re|
|00002300| 67 69 73 74 65 72 73 0a | 58 09 66 6d 6f 76 6d 09 |gisters.|X.fmovm.|
|00002310| 26 46 50 4d 25 31 2c 28 | 46 50 4f 25 31 2c 25 73 |&FPM%1,(|FPO%1,%s|
|00002320| 70 29 09 23 20 73 61 76 | 65 20 63 61 6c 6c 65 72 |p).# sav|e caller|
|00002330| 73 20 38 38 31 20 72 65 | 67 69 73 74 65 72 73 0a |s 881 re|gisters.|
|00002340| 58 0a 58 09 6d 6f 76 2e | 6c 09 26 30 2c 25 64 30 |X.X.mov.|l.&0,%d0|
|00002350| 09 09 23 20 77 65 20 75 | 73 65 20 74 68 65 73 65 |..# we u|se these|
|00002360| 20 66 6f 72 20 77 6f 72 | 64 0a 58 09 6d 6f 76 2e | for wor|d.X.mov.|
|00002370| 6c 09 26 30 2c 25 64 31 | 0a 58 09 6d 6f 76 2e 6c |l.&0,%d1|.X.mov.l|
|00002380| 09 26 30 2c 25 64 32 0a | 58 09 6d 6f 76 2e 6c 09 |.&0,%d2.|X.mov.l.|
|00002390| 26 30 2c 25 64 33 0a 58 | 09 6d 6f 76 2e 6c 09 26 |&0,%d3.X|.mov.l.&|
|000023a0| 30 2c 25 64 34 0a 58 09 | 6d 6f 76 2e 6c 09 26 30 |0,%d4.X.|mov.l.&0|
|000023b0| 2c 25 64 35 0a 58 09 6d | 6f 76 2e 6c 09 28 62 75 |,%d5.X.m|ov.l.(bu|
|000023c0| 66 2c 25 66 70 29 2c 25 | 61 30 09 23 20 61 64 64 |f,%fp),%|a0.# add|
|000023d0| 72 65 73 73 20 6f 66 20 | 6f 75 74 70 75 74 20 62 |ress of |output b|
|000023e0| 75 66 66 65 72 0a 58 09 | 6d 6f 76 2e 77 09 28 63 |uffer.X.|mov.w.(c|
|000023f0| 6f 6c 73 2c 25 66 70 29 | 2c 25 64 35 09 23 20 6e |ols,%fp)|,%d5.# n|
|00002400| 75 6d 62 65 72 20 6f 66 | 20 63 6f 6c 75 6d 6e 73 |umber of| columns|
|00002410| 0a 58 09 6d 6f 76 2e 77 | 09 28 72 6f 77 73 2c 25 |.X.mov.w|.(rows,%|
|00002420| 66 70 29 2c 25 64 34 09 | 23 20 6e 75 6d 62 65 72 |fp),%d4.|# number|
|00002430| 20 6f 66 20 72 6f 77 73 | 0a 58 09 73 75 62 2e 77 | of rows|.X.sub.w|
|00002440| 09 26 31 2c 25 64 34 09 | 09 23 20 6c 6f 6f 70 20 |.&1,%d4.|.# loop |
|00002450| 66 72 6f 6d 20 72 6f 77 | 73 2d 31 20 64 6f 77 6e |from row|s-1 down|
|00002460| 0a 58 09 6d 6f 76 2e 77 | 09 28 4d 69 74 65 72 2c |.X.mov.w|.(Miter,|
|00002470| 25 66 70 29 2c 25 64 31 | 09 23 20 67 65 74 20 6c |%fp),%d1|.# get l|
|00002480| 6f 77 20 31 36 20 62 69 | 74 73 20 6f 66 20 6d 61 |ow 16 bi|ts of ma|
|00002490| 78 5f 69 74 65 72 0a 58 | 09 73 75 62 2e 77 09 26 |x_iter.X|.sub.w.&|
|000024a0| 32 2c 25 64 31 09 09 23 | 20 62 65 63 61 75 73 65 |2,%d1..#| because|
|000024b0| 20 66 64 62 63 63 20 67 | 6f 65 73 20 74 6f 20 2d | fdbcc g|oes to -|
|000024c0| 31 2c 20 61 6e 64 20 6f | 66 66 20 62 79 20 31 0a |1, and o|ff by 1.|
|000024d0| 58 09 66 6d 6f 76 2e 64 | 09 26 44 49 56 45 52 47 |X.fmov.d|.&DIVERG|
|000024e0| 45 2c 25 66 70 36 09 23 | 20 73 65 65 20 63 6f 6e |E,%fp6.#| see con|
|000024f0| 66 69 67 20 61 62 6f 76 | 65 0a 58 0a 58 4c 25 25 |fig abov|e.X.XL%%|
|00002500| 33 3a 09 66 6d 6f 76 2e | 77 09 25 64 34 2c 25 66 |3:.fmov.|w.%d4,%f|
|00002510| 70 30 09 23 20 67 65 74 | 20 61 6e 64 20 63 6f 6e |p0.# get| and con|
|00002520| 76 65 72 74 20 79 20 70 | 69 78 65 6c 20 6f 66 66 |vert y p|ixel off|
|00002530| 73 65 74 0a 58 09 66 6d | 6f 76 2e 64 09 28 49 69 |set.X.fm|ov.d.(Ii|
|00002540| 6e 63 2c 25 66 70 29 2c | 25 66 70 33 09 23 20 67 |nc,%fp),|%fp3.# g|
|00002550| 65 74 20 69 6d 61 67 6e | 61 72 79 20 61 6d 6f 75 |et imagn|ary amou|
|00002560| 6e 74 20 70 65 72 20 70 | 69 78 65 6c 0a 58 09 66 |nt per p|ixel.X.f|
|00002570| 6d 75 6c 2e 78 09 25 66 | 70 30 2c 25 66 70 33 09 |mul.x.%f|p0,%fp3.|
|00002580| 23 20 6d 75 6c 74 69 70 | 6c 79 20 79 20 74 6f 20 |# multip|ly y to |
|00002590| 67 65 74 20 6f 66 66 73 | 65 74 0a 58 09 66 6d 6f |get offs|et.X.fmo|
|000025a0| 76 2e 64 09 28 49 6d 69 | 6e 2c 25 66 70 29 2c 25 |v.d.(Imi|n,%fp),%|
|000025b0| 66 70 30 09 23 20 67 65 | 74 20 61 6e 64 20 65 78 |fp0.# ge|t and ex|
|000025c0| 74 65 6e 64 20 69 6d 61 | 67 69 6e 61 72 79 20 62 |tend ima|ginary b|
|000025d0| 61 73 65 0a 58 09 66 61 | 64 64 2e 78 09 25 66 70 |ase.X.fa|dd.x.%fp|
|000025e0| 30 2c 25 66 70 33 09 23 | 20 61 64 64 20 74 6f 20 |0,%fp3.#| add to |
|000025f0| 62 61 73 65 20 74 6f 20 | 67 65 74 20 63 6f 6f 72 |base to |get coor|
|00002600| 64 69 6e 61 74 65 0a 58 | 0a 58 09 6d 6f 76 2e 6c |dinate.X|.X.mov.l|
|00002610| 09 26 30 2c 25 64 33 09 | 09 23 20 73 74 61 72 74 |.&0,%d3.|.# start|
|00002620| 20 61 74 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 | at begi|nning of|
|00002630| 20 72 6f 77 0a 58 4c 25 | 25 32 3a 09 66 6d 6f 76 | row.XL%|%2:.fmov|
|00002640| 2e 77 09 25 64 33 2c 25 | 66 70 30 09 23 20 73 65 |.w.%d3,%|fp0.# se|
|00002650| 65 20 61 62 6f 76 65 0a | 58 09 66 6d 6f 76 2e 64 |e above.|X.fmov.d|
|00002660| 09 28 52 69 6e 63 2c 25 | 66 70 29 2c 25 66 70 32 |.(Rinc,%|fp),%fp2|
|00002670| 0a 58 09 66 6d 75 6c 2e | 78 09 25 66 70 30 2c 25 |.X.fmul.|x.%fp0,%|
|00002680| 66 70 32 0a 58 09 66 6d | 6f 76 2e 64 09 28 52 6d |fp2.X.fm|ov.d.(Rm|
|00002690| 69 6e 2c 25 66 70 29 2c | 25 66 70 30 0a 58 09 66 |in,%fp),|%fp0.X.f|
|000026a0| 61 64 64 2e 78 09 25 66 | 70 30 2c 25 66 70 32 09 |add.x.%f|p0,%fp2.|
|000026b0| 23 20 72 65 61 6c 20 63 | 6f 6f 72 64 69 6e 61 74 |# real c|oordinat|
|000026c0| 65 0a 58 0a 58 09 66 6d | 6f 76 63 72 09 26 30 78 |e.X.X.fm|ovcr.&0x|
|000026d0| 30 46 2c 25 66 70 34 09 | 23 20 5a 72 0a 58 09 66 |0F,%fp4.|# Zr.X.f|
|000026e0| 6d 6f 76 63 72 09 26 30 | 78 30 46 2c 25 66 70 35 |movcr.&0|x0F,%fp5|
|000026f0| 09 23 20 5a 69 0a 58 09 | 66 6d 6f 76 63 72 09 26 |.# Zi.X.|fmovcr.&|
|00002700| 30 78 30 46 2c 25 66 70 | 30 09 23 20 5a 72 32 0a |0x0F,%fp|0.# Zr2.|
|00002710| 58 09 66 6d 6f 76 63 72 | 09 26 30 78 30 46 2c 25 |X.fmovcr|.&0x0F,%|
|00002720| 66 70 37 09 23 20 5a 69 | 32 0a 58 0a 58 09 6d 6f |fp7.# Zi|2.X.X.mo|
|00002730| 76 2e 77 09 25 64 31 2c | 25 64 32 09 09 23 20 67 |v.w.%d1,|%d2..# g|
|00002740| 65 74 20 6d 61 78 20 69 | 74 65 72 61 74 69 6f 6e |et max i|teration|
|00002750| 73 20 28 63 6f 75 6e 74 | 20 64 6f 77 6e 20 66 6f |s (count| down fo|
|00002760| 72 20 66 64 62 63 63 29 | 0a 58 23 20 66 6d 6f 76 |r fdbcc)|.X# fmov|
|00002770| 2e 64 20 25 66 70 32 2c | 2d 28 25 73 70 29 3b 20 |.d %fp2,|-(%sp); |
|00002780| 6d 6f 76 2e 6c 20 26 70 | 72 66 6c 2c 2d 28 25 73 |mov.l &p|rfl,-(%s|
|00002790| 70 29 3b 20 6a 73 72 20 | 70 72 69 6e 74 66 3b 20 |p); jsr |printf; |
|000027a0| 61 64 64 2e 77 20 26 31 | 32 2c 25 73 70 0a 58 23 |add.w &1|2,%sp.X#|
|000027b0| 20 66 6d 6f 76 2e 64 20 | 25 66 70 33 2c 2d 28 25 | fmov.d |%fp3,-(%|
|000027c0| 73 70 29 3b 20 6d 6f 76 | 2e 6c 20 26 70 72 66 6c |sp); mov|.l &prfl|
|000027d0| 2c 2d 28 25 73 70 29 3b | 20 6a 73 72 20 70 72 69 |,-(%sp);| jsr pri|
|000027e0| 6e 74 66 3b 20 61 64 64 | 2e 77 20 26 31 32 2c 25 |ntf; add|.w &12,%|
|000027f0| 73 70 0a 58 23 20 6d 6f | 76 2e 6c 20 26 70 72 6e |sp.X# mo|v.l &prn|
|00002800| 6c 2c 28 25 73 70 29 3b | 20 6a 73 72 20 70 72 69 |l,(%sp);| jsr pri|
|00002810| 6e 74 66 0a 58 4c 25 25 | 31 3a 0a 58 23 20 66 6d |ntf.XL%%|1:.X# fm|
|00002820| 6f 76 2e 64 20 25 66 70 | 34 2c 2d 28 25 73 70 29 |ov.d %fp|4,-(%sp)|
|00002830| 3b 20 6d 6f 76 2e 6c 20 | 26 70 72 66 6c 2c 2d 28 |; mov.l |&prfl,-(|
|00002840| 25 73 70 29 3b 20 6a 73 | 72 20 70 72 69 6e 74 66 |%sp); js|r printf|
|00002850| 3b 20 61 64 64 2e 77 20 | 26 31 32 2c 25 73 70 0a |; add.w |&12,%sp.|
|00002860| 58 23 20 66 6d 6f 76 2e | 64 20 25 66 70 35 2c 2d |X# fmov.|d %fp5,-|
|00002870| 28 25 73 70 29 3b 20 6d | 6f 76 2e 6c 20 26 70 72 |(%sp); m|ov.l &pr|
|00002880| 66 6c 2c 2d 28 25 73 70 | 29 3b 20 6a 73 72 20 70 |fl,-(%sp|); jsr p|
|00002890| 72 69 6e 74 66 3b 20 61 | 64 64 2e 77 20 26 31 32 |rintf; a|dd.w &12|
|000028a0| 2c 25 73 70 0a 58 23 20 | 6d 6f 76 2e 6c 20 26 70 |,%sp.X# |mov.l &p|
|000028b0| 72 6e 6c 2c 28 25 73 70 | 29 3b 20 6a 73 72 20 70 |rnl,(%sp|); jsr p|
|000028c0| 72 69 6e 74 66 0a 58 09 | 66 73 75 62 2e 78 09 25 |rintf.X.|fsub.x.%|
|000028d0| 66 70 37 2c 25 66 70 30 | 09 23 20 5a 72 32 2d 5a |fp7,%fp0|.# Zr2-Z|
|000028e0| 69 32 0a 58 09 66 61 64 | 64 2e 78 09 25 66 70 32 |i2.X.fad|d.x.%fp2|
|000028f0| 2c 25 66 70 30 09 23 20 | 2b 43 72 0a 58 0a 58 09 |,%fp0.# |+Cr.X.X.|
|00002900| 66 6d 6f 76 2e 78 09 25 | 66 70 34 2c 25 66 70 31 |fmov.x.%|fp4,%fp1|
|00002910| 09 23 20 67 65 74 20 5a | 72 0a 58 09 66 6d 75 6c |.# get Z|r.X.fmul|
|00002920| 2e 78 09 25 66 70 35 2c | 25 66 70 31 09 23 20 5a |.x.%fp5,|%fp1.# Z|
|00002930| 69 2a 5a 72 0a 58 09 66 | 61 64 64 2e 78 09 25 66 |i*Zr.X.f|add.x.%f|
|00002940| 70 31 2c 25 66 70 31 09 | 23 20 2a 32 0a 58 09 66 |p1,%fp1.|# *2.X.f|
|00002950| 61 64 64 2e 78 09 25 66 | 70 33 2c 25 66 70 31 09 |add.x.%f|p3,%fp1.|
|00002960| 23 20 2b 43 69 0a 58 0a | 58 09 66 6d 6f 76 2e 78 |# +Ci.X.|X.fmov.x|
|00002970| 09 25 66 70 30 2c 25 66 | 70 34 09 23 20 73 61 76 |.%fp0,%f|p4.# sav|
|00002980| 65 20 6e 65 78 74 20 5a | 72 0a 58 09 66 6d 6f 76 |e next Z|r.X.fmov|
|00002990| 2e 78 09 25 66 70 31 2c | 25 66 70 35 09 23 20 73 |.x.%fp1,|%fp5.# s|
|000029a0| 61 76 65 20 6e 65 78 74 | 20 5a 69 0a 58 09 66 6d |ave next| Zi.X.fm|
|000029b0| 75 6c 2e 78 09 25 66 70 | 30 2c 25 66 70 30 09 23 |ul.x.%fp|0,%fp0.#|
|000029c0| 20 73 61 76 65 20 6e 65 | 78 74 20 5a 72 32 0a 58 | save ne|xt Zr2.X|
|000029d0| 0a 58 09 66 6d 75 6c 2e | 78 09 25 66 70 31 2c 25 |.X.fmul.|x.%fp1,%|
|000029e0| 66 70 31 0a 58 09 66 6d | 6f 76 2e 78 09 25 66 70 |fp1.X.fm|ov.x.%fp|
|000029f0| 31 2c 25 66 70 37 09 23 | 20 73 61 76 65 20 6e 65 |1,%fp7.#| save ne|
|00002a00| 78 74 20 5a 69 32 0a 58 | 0a 58 09 66 61 64 64 2e |xt Zi2.X|.X.fadd.|
|00002a10| 78 09 25 66 70 30 2c 25 | 66 70 31 09 23 20 5a 72 |x.%fp0,%|fp1.# Zr|
|00002a20| 32 2b 5a 69 32 20 28 64 | 69 73 74 61 6e 63 65 20 |2+Zi2 (d|istance |
|00002a30| 73 71 75 61 72 65 64 29 | 0a 58 09 66 63 6d 70 2e |squared)|.X.fcmp.|
|00002a40| 78 09 25 66 70 31 2c 25 | 66 70 36 09 23 20 69 6e |x.%fp1,%|fp6.# in|
|00002a50| 66 69 6e 69 74 79 20 79 | 65 74 3f 0a 58 09 66 64 |finity y|et?.X.fd|
|00002a60| 62 6e 6c 74 09 25 64 32 | 2c 4c 25 25 31 09 23 20 |bnlt.%d2|,L%%1.# |
|00002a70| 72 61 6e 20 61 77 61 79 | 20 74 6f 20 69 6e 66 69 |ran away| to infi|
|00002a80| 6e 69 74 79 20 6f 72 20 | 77 65 20 67 6f 74 20 62 |nity or |we got b|
|00002a90| 6f 72 65 64 0a 58 0a 58 | 09 6d 6f 76 2e 77 09 25 |ored.X.X|.mov.w.%|
|00002aa0| 64 31 2c 25 64 30 09 09 | 23 20 63 6f 70 79 20 6d |d1,%d0..|# copy m|
|00002ab0| 61 78 0a 58 09 73 75 62 | 2e 77 09 25 64 32 2c 25 |ax.X.sub|.w.%d2,%|
|00002ac0| 64 30 09 09 23 20 66 6c | 69 70 20 66 72 6f 6d 20 |d0..# fl|ip from |
|00002ad0| 6c 65 66 74 6f 76 65 72 | 20 74 6f 20 61 63 74 75 |leftover| to actu|
|00002ae0| 61 6c 20 63 6f 75 6e 74 | 0a 58 09 61 64 64 2e 77 |al count|.X.add.w|
|00002af0| 09 26 31 2c 25 64 30 09 | 09 23 20 77 65 20 61 63 |.&1,%d0.|.# we ac|
|00002b00| 74 75 61 6c 6c 79 20 77 | 65 6e 74 20 6f 6e 65 20 |tually w|ent one |
|00002b10| 6d 6f 72 65 20 69 74 65 | 72 61 74 69 6f 6e 0a 58 |more ite|ration.X|
|00002b20| 09 6d 6f 76 2e 77 09 25 | 64 30 2c 28 25 61 30 29 |.mov.w.%|d0,(%a0)|
|00002b30| 2b 09 23 20 73 61 76 65 | 20 63 6f 75 6e 74 20 69 |+.# save| count i|
|00002b40| 6e 20 62 75 66 66 65 72 | 0a 58 0a 58 23 20 66 6d |n buffer|.X.X# fm|
|00002b50| 6f 76 2e 77 20 25 64 30 | 2c 25 66 70 31 0a 58 23 |ov.w %d0|,%fp1.X#|
|00002b60| 20 66 6d 6f 76 2e 64 20 | 25 66 70 31 2c 2d 28 25 | fmov.d |%fp1,-(%|
|00002b70| 73 70 29 3b 20 6d 6f 76 | 2e 6c 20 26 70 72 66 6c |sp); mov|.l &prfl|
|00002b80| 2c 2d 28 25 73 70 29 3b | 20 6a 73 72 20 70 72 69 |,-(%sp);| jsr pri|
|00002b90| 6e 74 66 3b 20 61 64 64 | 2e 77 20 26 31 32 2c 25 |ntf; add|.w &12,%|
|00002ba0| 73 70 0a 58 23 20 6d 6f | 76 2e 6c 20 26 70 72 6e |sp.X# mo|v.l &prn|
|00002bb0| 6c 2c 28 25 73 70 29 3b | 20 6a 73 72 20 70 72 69 |l,(%sp);| jsr pri|
|00002bc0| 6e 74 66 0a 58 0a 58 23 | 20 6d 6f 76 2e 6c 20 25 |ntf.X.X#| mov.l %|
|00002bd0| 64 30 2c 28 25 73 70 29 | 3b 20 6d 6f 76 2e 6c 20 |d0,(%sp)|; mov.l |
|00002be0| 26 70 72 69 6e 2c 2d 28 | 25 73 70 29 3b 20 6a 73 |&prin,-(|%sp); js|
|00002bf0| 72 20 70 72 69 6e 74 66 | 3b 20 61 64 64 2e 77 20 |r printf|; add.w |
|00002c00| 26 34 2c 25 73 70 0a 58 | 23 20 6d 6f 76 2e 6c 20 |&4,%sp.X|# mov.l |
|00002c10| 25 64 31 2c 28 25 73 70 | 29 3b 20 6d 6f 76 2e 6c |%d1,(%sp|); mov.l|
|00002c20| 20 26 70 72 69 6e 2c 2d | 28 25 73 70 29 3b 20 6a | &prin,-|(%sp); j|
|00002c30| 73 72 20 70 72 69 6e 74 | 66 3b 20 61 64 64 2e 77 |sr print|f; add.w|
|00002c40| 20 26 34 2c 25 73 70 0a | 58 23 20 6d 6f 76 2e 6c | &4,%sp.|X# mov.l|
|00002c50| 20 25 64 32 2c 28 25 73 | 70 29 3b 20 6d 6f 76 2e | %d2,(%s|p); mov.|
|00002c60| 6c 20 26 70 72 69 6e 2c | 2d 28 25 73 70 29 3b 20 |l &prin,|-(%sp); |
|00002c70| 6a 73 72 20 70 72 69 6e | 74 66 3b 20 61 64 64 2e |jsr prin|tf; add.|
|00002c80| 77 20 26 34 2c 25 73 70 | 0a 58 23 20 6d 6f 76 2e |w &4,%sp|.X# mov.|
|00002c90| 6c 20 25 64 33 2c 28 25 | 73 70 29 3b 20 6d 6f 76 |l %d3,(%|sp); mov|
|00002ca0| 2e 6c 20 26 70 72 69 6e | 2c 2d 28 25 73 70 29 3b |.l &prin|,-(%sp);|
|00002cb0| 20 6a 73 72 20 70 72 69 | 6e 74 66 3b 20 61 64 64 | jsr pri|ntf; add|
|00002cc0| 2e 77 20 26 34 2c 25 73 | 70 0a 58 23 20 6d 6f 76 |.w &4,%s|p.X# mov|
|00002cd0| 2e 6c 20 25 64 34 2c 28 | 25 73 70 29 3b 20 6d 6f |.l %d4,(|%sp); mo|
|00002ce0| 76 2e 6c 20 26 70 72 69 | 6e 2c 2d 28 25 73 70 29 |v.l &pri|n,-(%sp)|
|00002cf0| 3b 20 6a 73 72 20 70 72 | 69 6e 74 66 3b 20 61 64 |; jsr pr|intf; ad|
|00002d00| 64 2e 77 20 26 34 2c 25 | 73 70 0a 58 23 20 6d 6f |d.w &4,%|sp.X# mo|
|00002d10| 76 2e 6c 20 25 64 35 2c | 28 25 73 70 29 3b 20 6d |v.l %d5,|(%sp); m|
|00002d20| 6f 76 2e 6c 20 26 70 72 | 69 6e 2c 2d 28 25 73 70 |ov.l &pr|in,-(%sp|
|00002d30| 29 3b 20 6a 73 72 20 70 | 72 69 6e 74 66 3b 20 61 |); jsr p|rintf; a|
|00002d40| 64 64 2e 77 20 26 34 2c | 25 73 70 0a 58 23 20 6d |dd.w &4,|%sp.X# m|
|00002d50| 6f 76 2e 6c 20 26 70 72 | 6e 6c 2c 28 25 73 70 29 |ov.l &pr|nl,(%sp)|
|00002d60| 3b 20 6a 73 72 20 70 72 | 69 6e 74 66 0a 58 0a 58 |; jsr pr|intf.X.X|
|00002d70| 09 61 64 64 2e 77 09 26 | 31 2c 25 64 33 09 09 23 |.add.w.&|1,%d3..#|
|00002d80| 20 62 75 6d 70 20 75 70 | 20 74 68 65 20 78 20 63 | bump up| the x c|
|00002d90| 6f 75 6e 74 65 72 0a 58 | 09 63 6d 70 2e 77 09 25 |ounter.X|.cmp.w.%|
|00002da0| 64 33 2c 25 64 35 0a 58 | 09 62 6c 74 09 4c 25 25 |d3,%d5.X|.blt.L%%|
|00002db0| 32 09 09 23 20 78 20 3c | 20 63 6f 6c 73 2c 20 6c |2..# x <| cols, l|
|00002dc0| 6f 6f 70 20 62 61 63 6b | 0a 58 0a 58 09 73 75 62 |oop back|.X.X.sub|
|00002dd0| 2e 77 09 26 31 2c 25 64 | 34 09 09 23 20 6f 6e 65 |.w.&1,%d|4..# one|
|00002de0| 20 6d 6f 72 65 20 72 6f | 77 20 64 6f 6e 65 0a 58 | more ro|w done.X|
|00002df0| 09 74 73 74 2e 77 09 25 | 64 34 0a 58 09 62 67 65 |.tst.w.%|d4.X.bge|
|00002e00| 09 4c 25 25 33 09 09 23 | 20 73 74 69 6c 6c 20 3e |.L%%3..#| still >|
|00002e10| 30 2c 20 6c 6f 6f 70 20 | 62 61 63 6b 0a 58 0a 58 |0, loop |back.X.X|
|00002e20| 09 6d 6f 76 6d 2e 6c 09 | 28 34 2c 25 73 70 29 2c |.movm.l.|(4,%sp),|
|00002e30| 26 30 78 30 30 66 63 0a | 58 09 66 6d 6f 76 6d 09 |&0x00fc.|X.fmovm.|
|00002e40| 28 46 50 4f 25 31 2c 25 | 73 70 29 2c 26 30 78 30 |(FPO%1,%|sp),&0x0|
|00002e50| 30 33 66 0a 58 09 75 6e | 6c 6b 09 25 66 70 0a 58 |03f.X.un|lk.%fp.X|
|00002e60| 09 72 74 73 0a 58 0a 58 | 23 20 66 6d 6f 76 2e 64 |.rts.X.X|# fmov.d|
|00002e70| 20 25 66 70 32 2c 2d 28 | 25 73 70 29 3b 20 6d 6f | %fp2,-(|%sp); mo|
|00002e80| 76 2e 6c 20 26 70 72 66 | 6c 2c 2d 28 25 73 70 29 |v.l &prf|l,-(%sp)|
|00002e90| 3b 20 6a 73 72 20 70 72 | 69 6e 74 66 3b 20 61 64 |; jsr pr|intf; ad|
|00002ea0| 64 2e 77 20 26 31 32 2c | 25 73 70 0a 58 23 20 6d |d.w &12,|%sp.X# m|
|00002eb0| 6f 76 2e 6c 20 25 64 30 | 2c 28 25 73 70 29 3b 20 |ov.l %d0|,(%sp); |
|00002ec0| 6d 6f 76 2e 6c 20 26 70 | 72 69 6e 2c 2d 28 25 73 |mov.l &p|rin,-(%s|
|00002ed0| 70 29 3b 20 6a 73 72 20 | 70 72 69 6e 74 66 3b 20 |p); jsr |printf; |
|00002ee0| 61 64 64 2e 77 20 26 34 | 2c 25 73 70 0a 58 23 20 |add.w &4|,%sp.X# |
|00002ef0| 6d 6f 76 2e 6c 20 26 70 | 72 6e 6c 2c 28 25 73 70 |mov.l &p|rnl,(%sp|
|00002f00| 29 3b 20 6a 73 72 20 70 | 72 69 6e 74 66 0a 58 0a |); jsr p|rintf.X.|
|00002f10| 58 09 64 61 74 61 09 32 | 0a 58 09 61 6c 69 67 6e |X.data.2|.X.align|
|00002f20| 09 32 0a 58 70 72 66 6c | 3a 0a 58 09 62 79 74 65 |.2.Xprfl|:.X.byte|
|00002f30| 09 27 25 2c 27 2e 2c 27 | 31 2c 27 37 2c 27 6c 2c |.'%,'.,'|1,'7,'l,|
|00002f40| 27 65 2c 30 78 32 30 2c | 30 78 30 30 0a 58 09 61 |'e,0x20,|0x00.X.a|
|00002f50| 6c 69 67 6e 09 32 0a 58 | 70 72 69 6e 3a 0a 58 09 |lign.2.X|prin:.X.|
|00002f60| 62 79 74 65 09 27 25 2c | 27 64 2c 30 78 32 30 2c |byte.'%,|'d,0x20,|
|00002f70| 30 78 30 30 0a 58 09 61 | 6c 69 67 6e 09 32 0a 58 |0x00.X.a|lign.2.X|
|00002f80| 70 72 6e 6c 3a 0a 58 09 | 62 79 74 65 09 27 5c 6e |prnl:.X.|byte.'\n|
|00002f90| 2c 30 78 30 30 0a 58 09 | 61 6c 69 67 6e 09 32 0a |,0x00.X.|align.2.|
|00002fa0| 58 70 72 64 74 3a 0a 58 | 09 62 79 74 65 09 27 2e |Xprdt:.X|.byte.'.|
|00002fb0| 2c 30 78 30 30 0a 45 4e | 44 5f 4f 46 5f 46 49 4c |,0x00.EN|D_OF_FIL|
|00002fc0| 45 0a 69 66 20 74 65 73 | 74 20 34 38 32 37 20 2d |E.if tes|t 4827 -|
|00002fd0| 6e 65 20 60 77 63 20 2d | 63 20 3c 27 63 61 6c 63 |ne `wc -|c <'calc|
|00002fe0| 38 38 31 2e 73 27 60 3b | 20 74 68 65 6e 0a 20 20 |881.s'`;| then. |
|00002ff0| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 5c 22 27 | echo s|har: \"'|
|00003000| 63 61 6c 63 38 38 31 2e | 73 27 5c 22 20 75 6e 70 |calc881.|s'\" unp|
|00003010| 61 63 6b 65 64 20 77 69 | 74 68 20 77 72 6f 6e 67 |acked wi|th wrong|
|00003020| 20 73 69 7a 65 21 0a 66 | 69 0a 23 20 65 6e 64 20 | size!.f|i.# end |
|00003030| 6f 66 20 27 63 61 6c 63 | 38 38 31 2e 73 27 0a 66 |of 'calc|881.s'.f|
|00003040| 69 0a 65 63 68 6f 20 73 | 68 61 72 3a 20 45 6e 64 |i.echo s|har: End|
|00003050| 20 6f 66 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 | of shel|l archiv|
|00003060| 65 2e 0a 65 78 69 74 20 | 30 0a |e..exit |0. |
+--------+-------------------------+-------------------------+--------+--------+