home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
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 text
| default
| |
98%
| file
| C source, ASCII text
| 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 74 75 | 72 6e 65 72 40 69 6d 61 |From: tu|rner@ima|
|00000010| 67 65 6e 2e 55 55 43 50 | 20 3c 74 61 6c 63 6f 74 |gen.UUCP| <talcot|
|00000020| 74 21 74 6f 70 61 7a 21 | 53 68 61 73 74 61 21 69 |t!topaz!|Shasta!i|
|00000030| 6d 61 67 65 6e 21 4a 69 | 6d 2e 54 75 72 6e 65 72 |magen!Ji|m.Turner|
|00000040| 3e 0a 53 75 62 6a 65 63 | 74 3a 20 75 6e 63 20 2d |>.Subjec|t: unc -|
|00000050| 20 36 38 30 30 30 20 64 | 69 73 61 73 73 65 6d 62 | 68000 d|isassemb|
|00000060| 6c 65 72 20 28 50 61 72 | 74 20 32 20 6f 66 20 32 |ler (Par|t 2 of 2|
|00000070| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 6d 6f |).Newsgr|oups: mo|
|00000080| 64 2e 73 6f 75 72 63 65 | 73 0a 41 70 70 72 6f 76 |d.source|s.Approv|
|00000090| 65 64 3a 20 6a 70 6e 40 | 70 61 6e 64 61 2e 55 55 |ed: jpn@|panda.UU|
|000000a0| 43 50 0a 0a 4d 6f 64 2e | 73 6f 75 72 63 65 73 3a |CP..Mod.|sources:|
|000000b0| 20 20 56 6f 6c 75 6d 65 | 20 34 2c 20 49 73 73 75 | Volume| 4, Issu|
|000000c0| 65 20 33 31 0a 53 75 62 | 6d 69 74 74 65 64 20 62 |e 31.Sub|mitted b|
|000000d0| 79 3a 20 74 75 72 6e 65 | 72 40 69 6d 61 67 65 6e |y: turne|r@imagen|
|000000e0| 2e 55 55 43 50 20 3c 74 | 61 6c 63 6f 74 74 21 74 |.UUCP <t|alcott!t|
|000000f0| 6f 70 61 7a 21 53 68 61 | 73 74 61 21 69 6d 61 67 |opaz!Sha|sta!imag|
|00000100| 65 6e 21 4a 69 6d 2e 54 | 75 72 6e 65 72 3e 0a 0a |en!Jim.T|urner>..|
|00000110| 23 21 20 2f 62 69 6e 2f | 73 68 0a 23 20 54 68 69 |#! /bin/|sh.# Thi|
|00000120| 73 20 69 73 20 61 20 73 | 68 65 6c 6c 20 61 72 63 |s is a s|hell arc|
|00000130| 68 69 76 65 2c 20 6d 65 | 61 6e 69 6e 67 3a 0a 23 |hive, me|aning:.#|
|00000140| 20 31 2e 20 52 65 6d 6f | 76 65 20 65 76 65 72 79 | 1. Remo|ve every|
|00000150| 74 68 69 6e 67 20 61 62 | 6f 76 65 20 74 68 65 20 |thing ab|ove the |
|00000160| 23 21 20 2f 62 69 6e 2f | 73 68 20 6c 69 6e 65 2e |#! /bin/|sh line.|
|00000170| 0a 23 20 32 2e 20 53 61 | 76 65 20 74 68 65 20 72 |.# 2. Sa|ve the r|
|00000180| 65 73 75 6c 74 69 6e 67 | 20 74 65 78 74 20 69 6e |esulting| text in|
|00000190| 20 61 20 66 69 6c 65 2e | 0a 23 20 33 2e 20 45 78 | a file.|.# 3. Ex|
|000001a0| 65 63 75 74 65 20 74 68 | 65 20 66 69 6c 65 20 77 |ecute th|e file w|
|000001b0| 69 74 68 20 2f 62 69 6e | 2f 73 68 20 28 6e 6f 74 |ith /bin|/sh (not|
|000001c0| 20 63 73 68 29 20 74 6f | 20 63 72 65 61 74 65 20 | csh) to| create |
|000001d0| 74 68 65 20 66 69 6c 65 | 73 3a 0a 23 09 69 73 65 |the file|s:.#.ise|
|000001e0| 74 2e 63 0a 23 09 6c 69 | 62 6d 74 63 68 2e 63 0a |t.c.#.li|bmtch.c.|
|000001f0| 23 09 6d 61 69 6e 2e 63 | 0a 23 09 70 72 69 6e 2e |#.main.c|.#.prin.|
|00000200| 63 0a 23 09 72 6f 62 6a | 2e 63 0a 23 20 54 68 69 |c.#.robj|.c.# Thi|
|00000210| 73 20 61 72 63 68 69 76 | 65 20 63 72 65 61 74 65 |s archiv|e create|
|00000220| 64 3a 20 54 68 75 20 4d | 61 72 20 31 33 20 31 38 |d: Thu M|ar 13 18|
|00000230| 3a 35 36 3a 31 31 20 31 | 39 38 36 0a 65 78 70 6f |:56:11 1|986.expo|
|00000240| 72 74 20 50 41 54 48 3b | 20 50 41 54 48 3d 2f 62 |rt PATH;| PATH=/b|
|00000250| 69 6e 3a 24 50 41 54 48 | 0a 65 63 68 6f 20 73 68 |in:$PATH|.echo sh|
|00000260| 61 72 3a 20 65 78 74 72 | 61 63 74 69 6e 67 20 22 |ar: extr|acting "|
|00000270| 27 69 73 65 74 2e 63 27 | 22 20 27 28 31 39 35 34 |'iset.c'|" '(1954|
|00000280| 31 20 63 68 61 72 61 63 | 74 65 72 73 29 27 0a 69 |1 charac|ters)'.i|
|00000290| 66 20 74 65 73 74 20 2d | 66 20 27 69 73 65 74 2e |f test -|f 'iset.|
|000002a0| 63 27 0a 74 68 65 6e 0a | 09 65 63 68 6f 20 73 68 |c'.then.|.echo sh|
|000002b0| 61 72 3a 20 77 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: will| not ove|
|000002c0| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|000002d0| 20 66 69 6c 65 20 22 27 | 69 73 65 74 2e 63 27 22 | file "'|iset.c'"|
|000002e0| 0a 65 6c 73 65 0a 63 61 | 74 20 3c 3c 20 5c 53 48 |.else.ca|t << \SH|
|000002f0| 41 52 5f 45 4f 46 20 3e | 20 27 69 73 65 74 2e 63 |AR_EOF >| 'iset.c|
|00000300| 27 0a 2f 2a 0a 20 2a 09 | 53 43 43 53 3a 09 40 28 |'./*. *.|SCCS:.@(|
|00000310| 23 29 69 73 65 74 2e 63 | 09 31 2e 32 09 31 31 2f |#)iset.c|.1.2.11/|
|00000320| 32 2f 38 34 09 31 34 3a | 31 38 3a 32 33 0a 20 2a |2/84.14:|18:23. *|
|00000330| 09 44 65 63 6f 64 65 20 | 69 6e 73 74 72 75 63 74 |.Decode |instruct|
|00000340| 69 6f 6e 73 2e 0a 20 2a | 0a 20 2a 2a 2a 2a 2a 2a |ions.. *|. ******|
|00000350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000390| 2a 0a 20 2a 09 54 68 69 | 73 20 73 6f 66 74 77 61 |*. *.Thi|s softwa|
|000003a0| 72 65 20 69 73 20 63 6f | 70 79 72 69 67 68 74 20 |re is co|pyright |
|000003b0| 6f 66 0a 20 2a 0a 20 2a | 09 09 4a 6f 68 6e 20 4d |of. *. *|..John M|
|000003c0| 20 43 6f 6c 6c 69 6e 73 | 0a 20 2a 09 09 34 37 20 | Collins|. *..47 |
|000003d0| 43 65 64 61 72 77 6f 6f | 64 20 44 72 69 76 65 0a |Cedarwoo|d Drive.|
|000003e0| 20 2a 09 09 53 74 20 41 | 6c 62 61 6e 73 0a 20 2a | *..St A|lbans. *|
|000003f0| 09 09 48 65 72 74 73 2c | 20 41 4c 34 20 30 44 4e |..Herts,| AL4 0DN|
|00000400| 0a 20 2a 09 09 45 6e 67 | 6c 61 6e 64 09 09 09 2b |. *..Eng|land...+|
|00000410| 34 34 20 37 32 37 20 35 | 37 32 36 37 0a 20 2a 0a |44 727 5|7267. *.|
|00000420| 20 2a 09 61 6e 64 20 69 | 73 20 72 65 6c 65 61 73 | *.and i|s releas|
|00000430| 65 64 20 69 6e 74 6f 20 | 74 68 65 20 70 75 62 6c |ed into |the publ|
|00000440| 69 63 20 64 6f 6d 61 69 | 6e 20 6f 6e 20 74 68 65 |ic domai|n on the|
|00000450| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 63 6f 6e 64 69 | followi|ng condi|
|00000460| 74 69 6f 6e 73 3a 0a 20 | 2a 0a 20 2a 09 09 31 2e |tions:. |*. *..1.|
|00000470| 20 20 4e 6f 20 66 72 65 | 65 20 6d 61 69 6e 74 65 | No fre|e mainte|
|00000480| 6e 61 6e 63 65 20 77 69 | 6c 6c 20 62 65 20 67 75 |nance wi|ll be gu|
|00000490| 61 72 61 6e 74 65 65 64 | 2e 0a 20 2a 09 09 32 2e |aranteed|.. *..2.|
|000004a0| 20 20 4e 6f 74 68 69 6e | 67 20 6d 61 79 20 62 65 | Nothin|g may be|
|000004b0| 20 62 61 73 65 64 20 6f | 6e 20 74 68 69 73 20 73 | based o|n this s|
|000004c0| 6f 66 74 77 61 72 65 20 | 77 69 74 68 6f 75 74 0a |oftware |without.|
|000004d0| 20 2a 09 09 20 20 20 20 | 61 63 6b 6e 6f 77 6c 65 | *.. |acknowle|
|000004e0| 64 67 65 6d 65 6e 74 2c | 20 69 6e 63 6c 75 64 69 |dgement,| includi|
|000004f0| 6e 67 20 69 6e 63 6f 72 | 70 6f 72 61 74 69 6f 6e |ng incor|poration|
|00000500| 20 6f 66 20 74 68 69 73 | 0a 20 2a 09 09 20 20 20 | of this|. *.. |
|00000510| 20 6e 6f 74 69 63 65 2e | 0a 20 2a 0a 20 2a 09 4e | notice.|. *. *.N|
|00000520| 6f 74 77 69 74 68 73 74 | 61 6e 64 69 6e 67 20 74 |otwithst|anding t|
|00000530| 68 65 20 61 62 6f 76 65 | 2c 20 74 68 65 20 61 75 |he above|, the au|
|00000540| 74 68 6f 72 20 77 65 6c | 63 6f 6d 65 73 20 63 6f |thor wel|comes co|
|00000550| 72 72 65 73 70 6f 6e 64 | 65 6e 63 65 20 61 6e 64 |rrespond|ence and|
|00000560| 20 62 75 67 0a 20 2a 09 | 66 69 78 65 73 2e 0a 20 | bug. *.|fixes.. |
|00000570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000590| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005b0| 2a 2a 2a 2a 2a 2a 2a 0a | 20 2a 2f 0a 0a 23 69 6e |*******.| */..#in|
|000005c0| 63 6c 75 64 65 20 3c 73 | 74 64 69 6f 2e 68 3e 0a |clude <s|tdio.h>.|
|000005d0| 23 69 6e 63 6c 75 64 65 | 20 3c 61 2e 6f 75 74 2e |#include| <a.out.|
|000005e0| 68 3e 0a 23 69 6e 63 6c | 75 64 65 20 22 75 6e 63 |h>.#incl|ude "unc|
|000005f0| 2e 68 22 0a 0a 65 66 5f | 66 69 64 73 09 6d 61 69 |.h"..ef_|fids.mai|
|00000600| 6e 66 69 6c 65 3b 0a 6c | 6f 6e 67 09 65 6e 64 74 |nfile;.l|ong.endt|
|00000610| 3b 0a 0a 76 6f 69 64 09 | 67 65 74 74 65 28 29 2c |;..void.|gette(),|
|00000620| 20 70 75 74 74 65 28 29 | 3b 0a 76 6f 69 64 09 6d | putte()|;.void.m|
|00000630| 6b 64 72 65 66 28 29 3b | 0a 6c 6f 6e 67 09 67 65 |kdref();|.long.ge|
|00000640| 74 74 77 28 29 3b 0a 73 | 79 6d 62 6f 6c 09 74 65 |ttw();.s|ymbol.te|
|00000650| 78 74 6c 61 62 28 29 3b | 0a 0a 69 6e 74 09 6c 31 |xtlab();|..int.l1|
|00000660| 28 29 2c 20 6c 32 28 29 | 2c 20 65 6c 31 28 29 2c |(), l2()|, el1(),|
|00000670| 20 6c 65 61 28 29 2c 20 | 6c 6d 6f 76 65 28 29 2c | lea(), |lmove(),|
|00000680| 20 6c 63 62 63 68 28 29 | 2c 20 6a 6a 28 29 3b 0a | lcbch()|, jj();.|
|00000690| 69 6e 74 09 6c 69 6d 65 | 64 28 29 2c 20 6c 73 62 |int.lime|d(), lsb|
|000006a0| 69 74 28 29 2c 20 6c 6d | 76 6d 6c 28 29 2c 20 6c |it(), lm|vml(), l|
|000006b0| 6f 6e 65 28 29 2c 20 6c | 6f 6f 6e 65 28 29 2c 20 |one(), l|oone(), |
|000006c0| 6c 6f 6e 65 77 28 29 2c | 20 6c 6f 6e 65 6c 28 29 |lonew(),| lonel()|
|000006d0| 3b 0a 0a 69 6e 74 09 70 | 6d 6f 76 65 28 29 2c 20 |;..int.p|move(), |
|000006e0| 70 63 62 63 68 28 29 2c | 20 70 64 62 63 63 28 29 |pcbch(),| pdbcc()|
|000006f0| 2c 20 70 73 63 63 28 29 | 2c 20 70 63 73 28 29 2c |, pscc()|, pcs(),|
|00000700| 20 70 6d 6f 76 63 28 29 | 2c 20 70 73 74 6f 70 28 | pmovc()|, pstop(|
|00000710| 29 2c 20 70 65 78 67 28 | 29 3b 0a 69 6e 74 09 70 |), pexg(|);.int.p|
|00000720| 69 6d 65 64 28 29 2c 20 | 70 6d 6f 76 70 28 29 2c |imed(), |pmovp(),|
|00000730| 20 70 73 62 69 74 28 29 | 2c 20 70 64 62 69 74 28 | psbit()|, pdbit(|
|00000740| 29 2c 20 70 63 73 32 28 | 29 2c 20 70 6f 6e 65 28 |), pcs2(|), pone(|
|00000750| 29 2c 20 70 70 65 61 28 | 29 3b 0a 69 6e 74 09 70 |), ppea(|);.int.p|
|00000760| 6c 65 61 28 29 2c 20 70 | 64 72 65 67 28 29 2c 20 |lea(), p|dreg(), |
|00000770| 70 6d 76 6d 6c 28 29 2c | 20 70 74 72 61 70 28 29 |pmvml(),| ptrap()|
|00000780| 2c 20 70 6c 69 6e 6b 28 | 29 2c 20 70 61 72 65 67 |, plink(|), pareg|
|00000790| 28 29 2c 20 70 6f 64 72 | 65 67 28 29 3b 0a 69 6e |(), podr|eg();.in|
|000007a0| 74 09 70 71 75 28 29 2c | 20 70 6d 71 75 28 29 2c |t.pqu(),| pmqu(),|
|000007b0| 20 70 74 72 65 67 28 29 | 2c 20 70 63 6d 70 6d 28 | ptreg()|, pcmpm(|
|000007c0| 29 2c 20 70 6f 6d 6f 64 | 65 28 29 2c 20 70 6d 73 |), pomod|e(), pms|
|000007d0| 68 66 28 29 2c 20 70 73 | 68 66 28 29 3b 0a 0a 73 |hf(), ps|hf();..s|
|000007e0| 74 72 75 63 74 09 6f 70 | 73 74 72 09 7b 0a 09 75 |truct.op|str.{..u|
|000007f0| 6e 73 69 67 6e 65 64 20 | 20 73 68 6f 72 74 09 20 |nsigned | short. |
|00000800| 6d 61 73 6b 3b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |mask;..u|nsigned |
|00000810| 20 73 68 6f 72 74 20 20 | 6d 61 74 63 68 3b 0a 09 | short |match;..|
|00000820| 69 6e 74 09 28 2a 6f 70 | 73 69 7a 65 29 28 29 3b |int.(*op|size)();|
|00000830| 0a 09 69 6e 74 09 28 2a | 6f 70 70 72 69 6e 29 28 |..int.(*|opprin)(|
|00000840| 29 3b 0a 09 63 68 61 72 | 09 2a 70 72 61 72 67 3b |);..char|.*prarg;|
|00000850| 0a 7d 20 6f 70 74 61 62 | 5b 5d 20 3d 20 7b 0a 09 |.} optab|[] = {..|
|00000860| 30 78 66 30 30 30 2c 20 | 30 78 32 30 30 30 2c 20 |0xf000, |0x2000, |
|00000870| 6c 6d 6f 76 65 2c 20 70 | 6d 6f 76 65 2c 20 22 6c |lmove, p|move, "l|
|00000880| 22 2c 0a 09 30 78 66 30 | 30 30 2c 20 30 78 33 30 |",..0xf0|00, 0x30|
|00000890| 30 30 2c 20 6c 6d 6f 76 | 65 2c 20 70 6d 6f 76 65 |00, lmov|e, pmove|
|000008a0| 2c 20 22 77 22 2c 0a 09 | 30 78 66 30 30 30 2c 20 |, "w",..|0xf000, |
|000008b0| 30 78 31 30 30 30 2c 20 | 6c 6d 6f 76 65 2c 20 70 |0x1000, |lmove, p|
|000008c0| 6d 6f 76 65 2c 20 22 62 | 22 2c 0a 09 30 78 66 30 |move, "b|",..0xf0|
|000008d0| 30 30 2c 20 30 78 36 30 | 30 30 2c 20 6c 63 62 63 |00, 0x60|00, lcbc|
|000008e0| 68 2c 20 70 63 62 63 68 | 2c 20 30 2c 0a 09 30 78 |h, pcbch|, 0,..0x|
|000008f0| 66 66 62 66 2c 20 30 78 | 30 30 33 63 2c 20 6c 32 |ffbf, 0x|003c, l2|
|00000900| 2c 20 20 20 20 70 63 73 | 2c 20 20 20 22 6f 72 22 |, pcs|, "or"|
|00000910| 2c 0a 09 30 78 66 66 30 | 30 2c 20 30 78 30 30 30 |,..0xff0|0, 0x000|
|00000920| 30 2c 20 6c 69 6d 65 64 | 2c 20 70 69 6d 65 64 2c |0, limed|, pimed,|
|00000930| 20 22 6f 72 22 2c 0a 09 | 30 78 66 66 62 66 2c 20 | "or",..|0xffbf, |
|00000940| 30 78 30 32 33 63 2c 20 | 6c 32 2c 20 20 20 20 70 |0x023c, |l2, p|
|00000950| 63 73 2c 20 20 20 22 61 | 6e 64 22 2c 0a 09 30 78 |cs, "a|nd",..0x|
|00000960| 66 66 30 30 2c 20 30 78 | 30 32 30 30 2c 20 6c 69 |ff00, 0x|0200, li|
|00000970| 6d 65 64 2c 20 70 69 6d | 65 64 2c 20 22 61 6e 64 |med, pim|ed, "and|
|00000980| 22 2c 0a 09 30 78 66 66 | 30 30 2c 20 30 78 30 34 |",..0xff|00, 0x04|
|00000990| 30 30 2c 20 6c 69 6d 65 | 64 2c 20 70 69 6d 65 64 |00, lime|d, pimed|
|000009a0| 2c 20 22 73 75 62 22 2c | 0a 09 30 78 66 66 30 30 |, "sub",|..0xff00|
|000009b0| 2c 20 30 78 30 36 30 30 | 2c 20 6c 69 6d 65 64 2c |, 0x0600|, limed,|
|000009c0| 20 70 69 6d 65 64 2c 20 | 22 61 64 64 22 2c 0a 09 | pimed, |"add",..|
|000009d0| 30 78 66 66 62 66 2c 20 | 30 78 30 61 33 63 2c 20 |0xffbf, |0x0a3c, |
|000009e0| 6c 32 2c 20 20 20 20 70 | 63 73 2c 20 20 20 22 65 |l2, p|cs, "e|
|000009f0| 6f 72 22 2c 0a 09 30 78 | 66 66 30 30 2c 20 30 78 |or",..0x|ff00, 0x|
|00000a00| 30 61 30 30 2c 20 6c 69 | 6d 65 64 2c 20 70 69 6d |0a00, li|med, pim|
|00000a10| 65 64 2c 20 22 65 6f 72 | 22 2c 0a 09 30 78 66 66 |ed, "eor|",..0xff|
|00000a20| 30 30 2c 20 30 78 30 63 | 30 30 2c 20 6c 69 6d 65 |00, 0x0c|00, lime|
|00000a30| 64 2c 20 70 69 6d 65 64 | 2c 20 22 63 6d 70 22 2c |d, pimed|, "cmp",|
|00000a40| 0a 09 30 78 66 31 33 38 | 2c 20 30 78 30 31 30 38 |..0xf138|, 0x0108|
|00000a50| 2c 20 6c 32 2c 20 20 20 | 20 70 6d 6f 76 70 2c 20 |, l2, | pmovp, |
|00000a60| 30 2c 0a 09 30 78 66 66 | 30 30 2c 20 30 78 30 38 |0,..0xff|00, 0x08|
|00000a70| 30 30 2c 20 6c 73 62 69 | 74 2c 20 70 73 62 69 74 |00, lsbi|t, psbit|
|00000a80| 2c 20 30 2c 0a 09 30 78 | 66 31 30 30 2c 20 30 78 |, 0,..0x|f100, 0x|
|00000a90| 30 31 30 30 2c 20 6c 6f | 6e 65 77 2c 20 70 64 62 |0100, lo|new, pdb|
|00000aa0| 69 74 2c 20 30 2c 0a 09 | 30 78 66 66 63 30 2c 20 |it, 0,..|0xffc0, |
|00000ab0| 30 78 34 30 63 30 2c 20 | 6c 6f 6e 65 77 2c 20 70 |0x40c0, |lonew, p|
|00000ac0| 63 73 32 2c 20 20 22 73 | 72 22 2c 0a 09 30 78 66 |cs2, "s|r",..0xf|
|00000ad0| 66 30 30 2c 20 30 78 34 | 30 30 30 2c 20 6c 6f 6e |f00, 0x4|000, lon|
|00000ae0| 65 2c 20 20 70 6f 6e 65 | 2c 20 20 22 6e 65 67 78 |e, pone|, "negx|
|00000af0| 22 2c 0a 09 30 78 66 66 | 30 30 2c 20 30 78 34 32 |",..0xff|00, 0x42|
|00000b00| 30 30 2c 20 6c 6f 6e 65 | 2c 20 20 70 6f 6e 65 2c |00, lone|, pone,|
|00000b10| 20 20 22 63 6c 72 22 2c | 0a 09 30 78 66 66 63 30 | "clr",|..0xffc0|
|00000b20| 2c 20 30 78 34 34 63 30 | 2c 20 6c 6f 6e 65 77 2c |, 0x44c0|, lonew,|
|00000b30| 20 70 63 73 32 2c 20 20 | 22 63 63 22 2c 0a 09 30 | pcs2, |"cc",..0|
|00000b40| 78 66 66 30 30 2c 20 30 | 78 34 34 30 30 2c 20 6c |xff00, 0|x4400, l|
|00000b50| 6f 6e 65 2c 20 20 70 6f | 6e 65 2c 20 20 22 6e 65 |one, po|ne, "ne|
|00000b60| 67 22 2c 0a 09 30 78 66 | 66 63 30 2c 20 30 78 34 |g",..0xf|fc0, 0x4|
|00000b70| 36 63 30 2c 20 6c 6f 6e | 65 77 2c 20 70 63 73 32 |6c0, lon|ew, pcs2|
|00000b80| 2c 20 20 22 73 72 22 2c | 0a 09 30 78 66 66 30 30 |, "sr",|..0xff00|
|00000b90| 2c 20 30 78 34 36 30 30 | 2c 20 6c 6f 6e 65 2c 20 |, 0x4600|, lone, |
|00000ba0| 20 70 6f 6e 65 2c 20 20 | 22 6e 6f 74 22 2c 0a 09 | pone, |"not",..|
|00000bb0| 30 78 66 66 63 30 2c 20 | 30 78 34 38 30 30 2c 20 |0xffc0, |0x4800, |
|00000bc0| 6c 6f 6e 65 77 2c 20 70 | 70 65 61 2c 20 20 22 6e |lonew, p|pea, "n|
|00000bd0| 62 63 64 22 2c 0a 09 30 | 78 66 66 66 38 2c 20 30 |bcd",..0|xfff8, 0|
|00000be0| 78 34 38 34 30 2c 20 6c | 31 2c 20 20 20 20 70 64 |x4840, l|1, pd|
|00000bf0| 72 65 67 2c 20 22 73 77 | 61 70 22 2c 0a 09 30 78 |reg, "sw|ap",..0x|
|00000c00| 66 66 63 30 2c 20 30 78 | 34 38 34 30 2c 20 6c 6f |ffc0, 0x|4840, lo|
|00000c10| 6e 65 6c 2c 20 70 70 65 | 61 2c 20 20 22 70 65 61 |nel, ppe|a, "pea|
|00000c20| 22 2c 0a 09 30 78 66 66 | 66 38 2c 20 30 78 34 38 |",..0xff|f8, 0x48|
|00000c30| 38 30 2c 20 6c 31 2c 20 | 20 20 20 70 64 72 65 67 |80, l1, | pdreg|
|00000c40| 2c 20 22 65 78 74 77 22 | 2c 0a 09 30 78 66 66 66 |, "extw"|,..0xfff|
|00000c50| 38 2c 20 30 78 34 38 63 | 30 2c 20 6c 31 2c 20 20 |8, 0x48c|0, l1, |
|00000c60| 20 20 70 64 72 65 67 2c | 20 22 65 78 74 6c 22 2c | pdreg,| "extl",|
|00000c70| 0a 09 30 78 66 62 38 30 | 2c 20 30 78 34 38 38 30 |..0xfb80|, 0x4880|
|00000c80| 2c 20 6c 6d 76 6d 6c 2c | 20 70 6d 76 6d 6c 2c 20 |, lmvml,| pmvml, |
|00000c90| 30 2c 0a 09 30 78 66 66 | 63 30 2c 20 30 78 34 61 |0,..0xff|c0, 0x4a|
|00000ca0| 63 30 2c 20 6c 6f 6e 65 | 77 2c 20 70 70 65 61 2c |c0, lone|w, ppea,|
|00000cb0| 20 20 22 74 61 73 22 2c | 0a 09 30 78 66 66 30 30 | "tas",|..0xff00|
|00000cc0| 2c 20 30 78 34 61 30 30 | 2c 20 6c 6f 6e 65 2c 20 |, 0x4a00|, lone, |
|00000cd0| 20 70 6f 6e 65 2c 20 20 | 22 74 73 74 22 2c 0a 09 | pone, |"tst",..|
|00000ce0| 30 78 66 66 66 30 2c 20 | 30 78 34 65 34 30 2c 20 |0xfff0, |0x4e40, |
|00000cf0| 6c 31 2c 20 20 20 20 70 | 74 72 61 70 2c 20 30 2c |l1, p|trap, 0,|
|00000d00| 0a 09 30 78 66 66 66 38 | 2c 20 30 78 34 65 35 30 |..0xfff8|, 0x4e50|
|00000d10| 2c 20 6c 32 2c 20 20 20 | 20 70 6c 69 6e 6b 2c 20 |, l2, | plink, |
|00000d20| 30 2c 0a 09 30 78 66 66 | 66 38 2c 20 30 78 34 65 |0,..0xff|f8, 0x4e|
|00000d30| 35 38 2c 20 6c 31 2c 20 | 20 20 20 70 61 72 65 67 |58, l1, | pareg|
|00000d40| 2c 20 22 75 6e 6c 6b 5c | 74 25 73 22 2c 0a 09 30 |, "unlk\|t%s",..0|
|00000d50| 78 66 66 66 38 2c 20 30 | 78 34 65 36 30 2c 20 6c |xfff8, 0|x4e60, l|
|00000d60| 31 2c 20 20 20 20 70 61 | 72 65 67 2c 20 22 6d 6f |1, pa|reg, "mo|
|00000d70| 76 6c 5c 74 25 73 2c 75 | 73 70 22 2c 0a 09 30 78 |vl\t%s,u|sp",..0x|
|00000d80| 66 66 66 38 2c 20 30 78 | 34 65 36 38 2c 20 6c 31 |fff8, 0x|4e68, l1|
|00000d90| 2c 20 20 20 20 70 61 72 | 65 67 2c 20 22 6d 6f 76 |, par|eg, "mov|
|00000da0| 6c 5c 74 75 73 70 2c 25 | 73 22 2c 0a 09 30 78 66 |l\tusp,%|s",..0xf|
|00000db0| 66 66 66 2c 20 30 78 34 | 65 37 30 2c 20 6c 31 2c |fff, 0x4|e70, l1,|
|00000dc0| 20 20 20 20 70 61 72 65 | 67 2c 20 22 72 65 73 65 | pare|g, "rese|
|00000dd0| 74 22 2c 0a 09 30 78 66 | 66 66 66 2c 20 30 78 34 |t",..0xf|fff, 0x4|
|00000de0| 65 37 31 2c 20 6c 31 2c | 20 20 20 20 70 61 72 65 |e71, l1,| pare|
|00000df0| 67 2c 20 22 6e 6f 70 22 | 2c 0a 09 30 78 66 66 66 |g, "nop"|,..0xfff|
|00000e00| 66 2c 20 30 78 34 65 37 | 32 2c 20 6c 32 2c 20 20 |f, 0x4e7|2, l2, |
|00000e10| 20 20 70 73 74 6f 70 2c | 20 30 2c 0a 09 30 78 66 | pstop,| 0,..0xf|
|00000e20| 66 66 66 2c 20 30 78 34 | 65 37 33 2c 20 65 6c 31 |fff, 0x4|e73, el1|
|00000e30| 2c 20 20 20 70 61 72 65 | 67 2c 20 22 72 74 65 22 |, pare|g, "rte"|
|00000e40| 2c 0a 09 30 78 66 66 66 | 66 2c 20 30 78 34 65 37 |,..0xfff|f, 0x4e7|
|00000e50| 35 2c 20 65 6c 31 2c 20 | 20 20 70 61 72 65 67 2c |5, el1, | pareg,|
|00000e60| 20 22 72 74 73 22 2c 0a | 09 30 78 66 66 66 66 2c | "rts",.|.0xffff,|
|00000e70| 20 30 78 34 65 37 36 2c | 20 6c 31 2c 20 20 20 20 | 0x4e76,| l1, |
|00000e80| 70 61 72 65 67 2c 20 22 | 74 72 61 70 76 22 2c 0a |pareg, "|trapv",.|
|00000e90| 09 30 78 66 66 66 66 2c | 20 30 78 34 65 37 37 2c |.0xffff,| 0x4e77,|
|00000ea0| 20 65 6c 31 2c 20 20 20 | 70 61 72 65 67 2c 20 22 | el1, |pareg, "|
|00000eb0| 72 74 72 22 2c 0a 09 30 | 78 66 66 66 65 2c 20 30 |rtr",..0|xfffe, 0|
|00000ec0| 78 34 65 37 61 2c 20 6c | 32 2c 20 20 20 20 70 6d |x4e7a, l|2, pm|
|00000ed0| 6f 76 63 2c 20 30 2c 0a | 09 30 78 66 66 63 30 2c |ovc, 0,.|.0xffc0,|
|00000ee0| 20 30 78 34 65 38 30 2c | 20 6a 6a 2c 20 20 20 20 | 0x4e80,| jj, |
|00000ef0| 70 70 65 61 2c 20 20 22 | 6a 73 72 22 2c 0a 09 30 |ppea, "|jsr",..0|
|00000f00| 78 66 66 63 30 2c 20 30 | 78 34 65 63 30 2c 20 6a |xffc0, 0|x4ec0, j|
|00000f10| 6a 2c 20 20 20 20 70 70 | 65 61 2c 20 20 22 6a 6d |j, pp|ea, "jm|
|00000f20| 70 22 2c 0a 09 30 78 66 | 31 63 30 2c 20 30 78 34 |p",..0xf|1c0, 0x4|
|00000f30| 31 38 30 2c 20 6c 6f 6e | 65 77 2c 20 70 6f 64 72 |180, lon|ew, podr|
|00000f40| 65 67 2c 22 63 68 6b 22 | 2c 0a 09 30 78 66 31 63 |eg,"chk"|,..0xf1c|
|00000f50| 30 2c 20 30 78 34 31 63 | 30 2c 20 6c 6f 6e 65 6c |0, 0x41c|0, lonel|
|00000f60| 2c 20 70 6c 65 61 2c 20 | 20 30 2c 0a 09 30 78 66 |, plea, | 0,..0xf|
|00000f70| 30 66 38 2c 20 30 78 35 | 30 63 38 2c 20 6c 63 62 |0f8, 0x5|0c8, lcb|
|00000f80| 63 68 2c 20 70 64 62 63 | 63 2c 20 30 2c 0a 09 30 |ch, pdbc|c, 0,..0|
|00000f90| 78 66 30 63 30 2c 20 30 | 78 35 30 63 30 2c 20 6c |xf0c0, 0|x50c0, l|
|00000fa0| 6f 6e 65 77 2c 20 70 73 | 63 63 2c 20 20 30 2c 0a |onew, ps|cc, 0,.|
|00000fb0| 09 30 78 66 31 30 30 2c | 20 30 78 35 30 30 30 2c |.0xf100,| 0x5000,|
|00000fc0| 20 6c 6f 6e 65 2c 20 20 | 70 71 75 2c 20 20 20 22 | lone, |pqu, "|
|00000fd0| 61 64 64 22 2c 0a 09 30 | 78 66 31 30 30 2c 20 30 |add",..0|xf100, 0|
|00000fe0| 78 35 31 30 30 2c 20 6c | 6f 6e 65 2c 20 20 70 71 |x5100, l|one, pq|
|00000ff0| 75 2c 20 20 20 22 73 75 | 62 22 2c 0a 09 30 78 66 |u, "su|b",..0xf|
|00001000| 31 30 30 2c 20 30 78 37 | 30 30 30 2c 20 6c 31 2c |100, 0x7|000, l1,|
|00001010| 20 20 20 20 70 6d 71 75 | 2c 20 20 30 2c 0a 09 30 | pmqu|, 0,..0|
|00001020| 78 66 31 63 30 2c 20 30 | 78 38 30 63 30 2c 20 6c |xf1c0, 0|x80c0, l|
|00001030| 6f 6e 65 77 2c 20 70 6f | 64 72 65 67 2c 22 64 69 |onew, po|dreg,"di|
|00001040| 76 75 22 2c 0a 09 30 78 | 66 31 63 30 2c 20 30 78 |vu",..0x|f1c0, 0x|
|00001050| 38 31 63 30 2c 20 6c 6f | 6e 65 77 2c 20 70 6f 64 |81c0, lo|new, pod|
|00001060| 72 65 67 2c 22 64 69 76 | 73 22 2c 0a 09 30 78 66 |reg,"div|s",..0xf|
|00001070| 31 66 30 2c 20 30 78 38 | 31 30 30 2c 20 6c 31 2c |1f0, 0x8|100, l1,|
|00001080| 20 20 20 20 70 74 72 65 | 67 2c 20 22 73 62 63 64 | ptre|g, "sbcd|
|00001090| 22 2c 0a 09 30 78 66 30 | 30 30 2c 20 30 78 38 30 |",..0xf0|00, 0x80|
|000010a0| 30 30 2c 20 6c 6f 6f 6e | 65 2c 20 70 6f 6d 6f 64 |00, loon|e, pomod|
|000010b0| 65 2c 22 6f 72 22 2c 0a | 09 30 78 66 31 66 30 2c |e,"or",.|.0xf1f0,|
|000010c0| 20 30 78 39 31 30 30 2c | 20 6c 31 2c 20 20 20 20 | 0x9100,| l1, |
|000010d0| 70 74 72 65 67 2c 20 22 | 73 75 62 78 62 22 2c 0a |ptreg, "|subxb",.|
|000010e0| 09 30 78 66 31 66 30 2c | 20 30 78 39 31 34 30 2c |.0xf1f0,| 0x9140,|
|000010f0| 20 6c 31 2c 20 20 20 20 | 70 74 72 65 67 2c 20 22 | l1, |ptreg, "|
|00001100| 73 75 62 78 77 22 2c 0a | 09 30 78 66 31 66 30 2c |subxw",.|.0xf1f0,|
|00001110| 20 30 78 39 31 38 30 2c | 20 6c 31 2c 20 20 20 20 | 0x9180,| l1, |
|00001120| 70 74 72 65 67 2c 20 22 | 73 75 62 78 6c 22 2c 0a |ptreg, "|subxl",.|
|00001130| 09 30 78 66 30 30 30 2c | 20 30 78 39 30 30 30 2c |.0xf000,| 0x9000,|
|00001140| 20 6c 6f 6f 6e 65 2c 20 | 70 6f 6d 6f 64 65 2c 22 | loone, |pomode,"|
|00001150| 73 75 62 22 2c 0a 09 30 | 78 66 31 66 38 2c 20 30 |sub",..0|xf1f8, 0|
|00001160| 78 62 31 30 38 2c 20 6c | 31 2c 20 20 20 20 70 63 |xb108, l|1, pc|
|00001170| 6d 70 6d 2c 20 22 63 6d | 70 6d 62 22 2c 0a 09 30 |mpm, "cm|pmb",..0|
|00001180| 78 66 31 66 38 2c 20 30 | 78 62 31 34 38 2c 20 6c |xf1f8, 0|xb148, l|
|00001190| 31 2c 20 20 20 20 70 63 | 6d 70 6d 2c 20 22 63 6d |1, pc|mpm, "cm|
|000011a0| 70 6d 77 22 2c 0a 09 30 | 78 66 31 66 38 2c 20 30 |pmw",..0|xf1f8, 0|
|000011b0| 78 62 31 38 38 2c 20 6c | 31 2c 20 20 20 20 70 63 |xb188, l|1, pc|
|000011c0| 6d 70 6d 2c 20 22 63 6d | 70 6d 6c 22 2c 0a 09 30 |mpm, "cm|pml",..0|
|000011d0| 78 66 31 30 30 2c 20 30 | 78 62 30 30 30 2c 20 6c |xf100, 0|xb000, l|
|000011e0| 6f 6f 6e 65 2c 20 70 6f | 6d 6f 64 65 2c 22 63 6d |oone, po|mode,"cm|
|000011f0| 70 22 2c 0a 09 30 78 66 | 31 63 30 2c 20 30 78 62 |p",..0xf|1c0, 0xb|
|00001200| 31 63 30 2c 20 6c 6f 6f | 6e 65 2c 20 70 6f 6d 6f |1c0, loo|ne, pomo|
|00001210| 64 65 2c 22 63 6d 70 22 | 2c 0a 09 30 78 66 31 30 |de,"cmp"|,..0xf10|
|00001220| 30 2c 20 30 78 62 31 30 | 30 2c 20 6c 6f 6f 6e 65 |0, 0xb10|0, loone|
|00001230| 2c 20 70 6f 6d 6f 64 65 | 2c 22 65 6f 72 22 2c 0a |, pomode|,"eor",.|
|00001240| 09 30 78 66 31 63 30 2c | 20 30 78 63 30 63 30 2c |.0xf1c0,| 0xc0c0,|
|00001250| 20 6c 6f 6e 65 77 2c 20 | 70 6f 64 72 65 67 2c 22 | lonew, |podreg,"|
|00001260| 6d 75 6c 75 22 2c 0a 09 | 30 78 66 31 63 30 2c 20 |mulu",..|0xf1c0, |
|00001270| 30 78 63 31 63 30 2c 20 | 6c 6f 6e 65 77 2c 20 70 |0xc1c0, |lonew, p|
|00001280| 6f 64 72 65 67 2c 22 6d | 75 6c 73 22 2c 0a 09 30 |odreg,"m|uls",..0|
|00001290| 78 66 31 66 30 2c 20 30 | 78 63 31 30 30 2c 20 6c |xf1f0, 0|xc100, l|
|000012a0| 31 2c 20 20 20 20 70 74 | 72 65 67 2c 20 22 61 62 |1, pt|reg, "ab|
|000012b0| 63 64 22 2c 0a 09 30 78 | 66 31 33 30 2c 20 30 78 |cd",..0x|f130, 0x|
|000012c0| 63 31 30 30 2c 20 6c 31 | 2c 20 20 20 20 70 65 78 |c100, l1|, pex|
|000012d0| 67 2c 20 20 30 2c 0a 09 | 30 78 66 30 30 30 2c 20 |g, 0,..|0xf000, |
|000012e0| 30 78 63 30 30 30 2c 20 | 6c 6f 6f 6e 65 2c 20 70 |0xc000, |loone, p|
|000012f0| 6f 6d 6f 64 65 2c 22 61 | 6e 64 22 2c 0a 09 30 78 |omode,"a|nd",..0x|
|00001300| 66 31 66 30 2c 20 30 78 | 64 31 30 30 2c 20 6c 31 |f1f0, 0x|d100, l1|
|00001310| 2c 20 20 20 20 70 74 72 | 65 67 2c 20 22 61 64 64 |, ptr|eg, "add|
|00001320| 78 62 22 2c 0a 09 30 78 | 66 31 66 30 2c 20 30 78 |xb",..0x|f1f0, 0x|
|00001330| 64 31 34 30 2c 20 6c 31 | 2c 20 20 20 20 70 74 72 |d140, l1|, ptr|
|00001340| 65 67 2c 20 22 61 64 64 | 78 77 22 2c 0a 09 30 78 |eg, "add|xw",..0x|
|00001350| 66 31 66 30 2c 20 30 78 | 64 31 38 30 2c 20 6c 31 |f1f0, 0x|d180, l1|
|00001360| 2c 20 20 20 20 70 74 72 | 65 67 2c 20 22 61 64 64 |, ptr|eg, "add|
|00001370| 78 6c 22 2c 0a 09 30 78 | 66 30 30 30 2c 20 30 78 |xl",..0x|f000, 0x|
|00001380| 64 30 30 30 2c 20 6c 6f | 6f 6e 65 2c 20 70 6f 6d |d000, lo|one, pom|
|00001390| 6f 64 65 2c 22 61 64 64 | 22 2c 0a 09 30 78 66 38 |ode,"add|",..0xf8|
|000013a0| 63 30 2c 20 30 78 65 30 | 63 30 2c 20 6c 6f 6e 65 |c0, 0xe0|c0, lone|
|000013b0| 77 2c 20 70 6d 73 68 66 | 2c 20 20 30 2c 0a 09 30 |w, pmshf|, 0,..0|
|000013c0| 78 66 30 30 30 2c 20 30 | 78 65 30 30 30 2c 20 6c |xf000, 0|xe000, l|
|000013d0| 31 2c 20 20 20 20 70 73 | 68 66 2c 20 20 20 30 2c |1, ps|hf, 0,|
|000013e0| 0a 09 30 0a 7d 3b 0a 0a | 63 68 61 72 09 2a 61 72 |..0.};..|char.*ar|
|000013f0| 65 67 5b 5d 20 3d 20 7b | 20 22 61 30 22 2c 20 22 |eg[] = {| "a0", "|
|00001400| 61 31 22 2c 20 22 61 32 | 22 2c 20 22 61 33 22 2c |a1", "a2|", "a3",|
|00001410| 20 22 61 34 22 2c 20 22 | 61 35 22 2c 20 22 61 36 | "a4", "|a5", "a6|
|00001420| 22 2c 20 22 73 70 22 7d | 3b 0a 63 68 61 72 09 2a |", "sp"}|;.char.*|
|00001430| 63 63 6c 69 73 74 5b 5d | 20 3d 20 7b 20 22 68 69 |cclist[]| = { "hi|
|00001440| 22 2c 20 22 6c 73 22 2c | 20 22 63 63 22 2c 20 22 |", "ls",| "cc", "|
|00001450| 63 73 22 2c 20 22 6e 65 | 22 2c 20 22 65 71 22 2c |cs", "ne|", "eq",|
|00001460| 20 22 76 63 22 2c 20 22 | 76 73 22 2c 0a 09 09 09 | "vc", "|vs",....|
|00001470| 22 70 6c 22 2c 20 22 6d | 69 22 2c 20 22 67 65 22 |"pl", "m|i", "ge"|
|00001480| 2c 20 22 6c 74 22 2c 20 | 22 67 74 22 2c 20 22 6c |, "lt", |"gt", "l|
|00001490| 65 22 7d 3b 0a 09 0a 63 | 68 61 72 09 2a 73 68 74 |e"};...c|har.*sht|
|000014a0| 79 70 65 5b 5d 20 3d 20 | 7b 20 22 61 73 22 2c 20 |ype[] = |{ "as", |
|000014b0| 22 6c 73 22 2c 20 22 72 | 6f 78 22 2c 20 22 72 6f |"ls", "r|ox", "ro|
|000014c0| 22 20 7d 3b 0a 63 68 61 | 72 09 2a 62 69 74 74 79 |" };.cha|r.*bitty|
|000014d0| 70 5b 5d 20 3d 20 7b 20 | 22 74 73 74 22 2c 20 22 |p[] = { |"tst", "|
|000014e0| 63 68 67 22 2c 20 22 63 | 6c 72 22 2c 20 22 73 65 |chg", "c|lr", "se|
|000014f0| 74 22 20 7d 3b 0a 0a 63 | 68 61 72 09 2a 63 72 65 |t" };..c|har.*cre|
|00001500| 67 5b 5d 20 3d 20 7b 20 | 22 73 66 63 22 2c 20 22 |g[] = { |"sfc", "|
|00001510| 64 66 63 22 2c 20 22 75 | 73 70 22 2c 20 22 76 62 |dfc", "u|sp", "vb|
|00001520| 72 22 20 7d 3b 0a 0a 2f | 2a 0a 20 2a 09 4c 65 6e |r" };../|*. *.Len|
|00001530| 67 74 68 20 66 75 6e 63 | 74 69 6f 6e 73 2e 0a 20 |gth func|tions.. |
|00001540| 2a 2f 0a 0a 69 6e 74 09 | 6c 31 28 29 0a 7b 0a 09 |*/..int.|l1().{..|
|00001550| 72 65 74 75 72 6e 09 31 | 3b 0a 7d 0a 0a 69 6e 74 |return.1|;.}..int|
|00001560| 09 6c 32 28 29 0a 7b 0a | 09 72 65 74 75 72 6e 09 |.l2().{.|.return.|
|00001570| 32 3b 0a 7d 0a 0a 69 6e | 74 09 65 6c 31 28 74 65 |2;.}..in|t.el1(te|
|00001580| 29 0a 74 5f 65 6e 74 72 | 79 09 2a 74 65 3b 0a 7b |).t_entr|y.*te;.{|
|00001590| 0a 09 74 65 2d 3e 74 5f | 62 63 68 74 79 70 20 3d |..te->t_|bchtyp =|
|000015a0| 20 54 5f 55 4e 42 52 3b | 0a 09 72 65 74 75 72 6e | T_UNBR;|..return|
|000015b0| 09 31 3b 0a 7d 0a 0a 69 | 6e 74 09 6c 65 61 28 69 |.1;.}..i|nt.lea(i|
|000015c0| 6e 73 74 72 2c 20 73 69 | 7a 65 2c 20 70 6f 73 29 |nstr, si|ze, pos)|
|000015d0| 0a 75 6e 73 69 67 6e 65 | 64 20 20 69 6e 73 74 72 |.unsigne|d instr|
|000015e0| 2c 20 73 69 7a 65 3b 0a | 6c 6f 6e 67 09 70 6f 73 |, size;.|long.pos|
|000015f0| 3b 0a 7b 0a 09 73 77 69 | 74 63 68 20 20 28 28 69 |;.{..swi|tch ((i|
|00001600| 6e 73 74 72 20 3e 3e 20 | 33 29 20 26 20 30 78 37 |nstr >> |3) & 0x7|
|00001610| 29 20 20 7b 0a 09 63 61 | 73 65 20 20 30 3a 0a 09 |) {..ca|se 0:..|
|00001620| 63 61 73 65 20 20 31 3a | 0a 09 63 61 73 65 20 20 |case 1:|..case |
|00001630| 32 3a 0a 09 63 61 73 65 | 20 20 33 3a 0a 09 63 61 |2:..case| 3:..ca|
|00001640| 73 65 20 20 34 3a 0a 09 | 09 72 65 74 75 72 6e 09 |se 4:..|.return.|
|00001650| 31 3b 0a 09 63 61 73 65 | 20 20 35 3a 0a 09 63 61 |1;..case| 5:..ca|
|00001660| 73 65 20 20 36 3a 0a 09 | 09 72 65 74 75 72 6e 09 |se 6:..|.return.|
|00001670| 32 3b 0a 09 64 65 66 61 | 75 6c 74 3a 0a 09 09 73 |2;..defa|ult:...s|
|00001680| 77 69 74 63 68 20 20 28 | 69 6e 73 74 72 20 26 20 |witch (|instr & |
|00001690| 30 78 37 29 20 20 7b 0a | 09 09 63 61 73 65 20 20 |0x7) {.|..case |
|000016a0| 30 3a 0a 09 09 63 61 73 | 65 20 20 32 3a 0a 09 09 |0:...cas|e 2:...|
|000016b0| 63 61 73 65 20 20 33 3a | 0a 09 09 09 72 65 74 75 |case 3:|....retu|
|000016c0| 72 6e 09 32 3b 0a 09 09 | 63 61 73 65 20 20 31 3a |rn.2;...|case 1:|
|000016d0| 0a 09 09 09 6d 6b 64 72 | 65 66 28 70 6f 73 2c 20 |....mkdr|ef(pos, |
|000016e0| 73 69 7a 65 29 3b 0a 09 | 09 09 72 65 74 75 72 6e |size);..|..return|
|000016f0| 09 33 3b 0a 09 09 63 61 | 73 65 20 20 34 3a 0a 09 |.3;...ca|se 4:..|
|00001700| 09 09 69 66 20 20 28 73 | 69 7a 65 20 3e 20 32 29 |..if (s|ize > 2)|
|00001710| 0a 09 09 09 09 72 65 74 | 75 72 6e 09 33 3b 0a 09 |.....ret|urn.3;..|
|00001720| 09 09 72 65 74 75 72 6e | 09 32 3b 0a 09 09 64 65 |..return|.2;...de|
|00001730| 66 61 75 6c 74 3a 0a 09 | 09 09 72 65 74 75 72 6e |fault:..|..return|
|00001740| 09 30 3b 0a 09 09 7d 0a | 09 7d 0a 7d 0a 0a 2f 2a |.0;...}.|.}.}../*|
|00001750| 0a 20 2a 09 4c 65 6e 67 | 74 68 73 20 6f 66 20 6d |. *.Leng|ths of m|
|00001760| 6f 76 65 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 73 |ove inst|ructions|
|00001770| 2e 0a 20 2a 2f 0a 0a 69 | 6e 74 09 6c 6d 6f 76 65 |.. */..i|nt.lmove|
|00001780| 28 74 65 2c 20 70 6f 73 | 29 0a 74 5f 65 6e 74 72 |(te, pos|).t_entr|
|00001790| 79 09 2a 74 65 3b 0a 6c | 6f 6e 67 09 70 6f 73 3b |y.*te;.l|ong.pos;|
|000017a0| 0a 7b 0a 09 72 65 67 69 | 73 74 65 72 20 20 75 6e |.{..regi|ster un|
|000017b0| 73 69 67 6e 65 64 20 20 | 74 63 20 20 3d 20 20 74 |signed |tc = t|
|000017c0| 65 2d 3e 74 5f 63 6f 6e | 74 65 6e 74 73 3b 0a 09 |e->t_con|tents;..|
|000017d0| 75 6e 73 69 67 6e 65 64 | 20 20 73 7a 20 20 3d 20 |unsigned| sz = |
|000017e0| 20 31 3b 0a 09 69 6e 74 | 09 6c 6e 67 2c 20 6c 6e | 1;..int|.lng, ln|
|000017f0| 67 32 3b 0a 09 0a 09 6c | 6e 67 20 20 3d 20 74 63 |g2;....l|ng = tc|
|00001800| 20 26 20 30 78 66 30 30 | 30 3b 0a 09 69 66 20 20 | & 0xf00|0;..if |
|00001810| 28 6c 6e 67 20 3d 3d 20 | 30 78 33 30 30 30 29 0a |(lng == |0x3000).|
|00001820| 09 09 73 7a 20 3d 20 32 | 3b 0a 09 65 6c 73 65 20 |..sz = 2|;..else |
|00001830| 20 69 66 20 20 28 6c 6e | 67 20 3d 3d 20 30 78 32 | if (ln|g == 0x2|
|00001840| 30 30 30 29 0a 09 09 73 | 7a 20 3d 20 34 3b 0a 09 |000)...s|z = 4;..|
|00001850| 0a 09 69 66 20 20 28 28 | 6c 6e 67 20 3d 20 6c 65 |..if ((|lng = le|
|00001860| 61 28 74 63 2c 20 73 7a | 2c 20 70 6f 73 2b 32 29 |a(tc, sz|, pos+2)|
|00001870| 29 20 3c 3d 20 30 29 0a | 09 09 72 65 74 75 72 6e |) <= 0).|..return|
|00001880| 09 30 3b 0a 09 6c 6e 67 | 32 20 3d 20 6c 65 61 28 |.0;..lng|2 = lea(|
|00001890| 28 28 74 63 3e 3e 33 29 | 20 26 20 30 78 33 38 29 |((tc>>3)| & 0x38)|
|000018a0| 20 7c 20 28 28 74 63 3e | 3e 39 29 20 26 20 30 78 | | ((tc>|>9) & 0x|
|000018b0| 37 29 2c 20 73 7a 2c 20 | 70 6f 73 2b 6c 6e 67 2b |7), sz, |pos+lng+|
|000018c0| 6c 6e 67 29 3b 0a 09 69 | 66 20 20 28 6c 6e 67 32 |lng);..i|f (lng2|
|000018d0| 20 3c 3d 20 30 29 0a 09 | 09 72 65 74 75 72 6e 09 | <= 0)..|.return.|
|000018e0| 30 3b 0a 09 72 65 74 75 | 72 6e 09 6c 6e 67 20 2b |0;..retu|rn.lng +|
|000018f0| 20 6c 6e 67 32 20 2d 20 | 31 3b 0a 7d 0a 0a 2f 2a | lng2 - |1;.}../*|
|00001900| 0a 20 2a 09 4c 65 6e 67 | 74 68 73 20 66 6f 72 20 |. *.Leng|ths for |
|00001910| 63 6f 6e 64 69 74 69 6f | 6e 61 6c 20 62 72 61 6e |conditio|nal bran|
|00001920| 63 68 65 73 20 61 6e 64 | 20 64 62 63 63 20 69 6e |ches and| dbcc in|
|00001930| 73 74 72 75 63 74 69 6f | 6e 73 2e 0a 20 2a 2f 0a |structio|ns.. */.|
|00001940| 0a 69 6e 74 09 6c 63 62 | 63 68 28 74 65 2c 20 70 |.int.lcb|ch(te, p|
|00001950| 6f 73 29 0a 74 5f 65 6e | 74 72 79 09 2a 74 65 3b |os).t_en|try.*te;|
|00001960| 0a 6c 6f 6e 67 09 70 6f | 73 3b 0a 7b 0a 09 75 6e |.long.po|s;.{..un|
|00001970| 73 69 67 6e 65 64 20 20 | 74 63 20 20 3d 20 20 74 |signed |tc = t|
|00001980| 65 2d 3e 74 5f 63 6f 6e | 74 65 6e 74 73 3b 0a 09 |e->t_con|tents;..|
|00001990| 6c 6f 6e 67 09 64 65 73 | 74 20 20 3d 20 20 70 6f |long.des|t = po|
|000019a0| 73 20 2b 20 32 3b 0a 09 | 69 6e 74 09 72 65 73 20 |s + 2;..|int.res |
|000019b0| 20 20 3d 20 20 32 3b 0a | 09 0a 09 69 66 20 20 28 | = 2;.|...if (|
|000019c0| 28 74 63 20 26 20 30 78 | 66 30 30 30 29 20 3d 3d |(tc & 0x|f000) ==|
|000019d0| 20 30 78 35 30 30 30 20 | 20 7c 7c 20 20 28 74 63 | 0x5000 | || (tc|
|000019e0| 20 26 20 30 78 66 66 29 | 20 3d 3d 20 30 29 0a 09 | & 0xff)| == 0)..|
|000019f0| 09 64 65 73 74 20 2b 3d | 20 28 73 68 6f 72 74 29 |.dest +=| (short)|
|00001a00| 67 65 74 74 77 28 26 6d | 61 69 6e 66 69 6c 65 2c |gettw(&m|ainfile,|
|00001a10| 20 70 6f 73 2b 32 2c 20 | 52 5f 57 4f 52 44 29 3b | pos+2, |R_WORD);|
|00001a20| 0a 09 65 6c 73 65 20 20 | 7b 0a 09 09 64 65 73 74 |..else |{...dest|
|00001a30| 20 2b 3d 20 28 63 68 61 | 72 29 20 74 63 3b 0a 09 | += (cha|r) tc;..|
|00001a40| 09 72 65 73 20 3d 20 31 | 3b 0a 09 7d 0a 09 69 66 |.res = 1|;..}..if|
|00001a50| 20 20 28 28 74 63 20 26 | 20 30 78 66 66 30 30 29 | ((tc &| 0xff00)|
|00001a60| 20 3d 3d 20 30 78 36 30 | 30 30 29 0a 09 09 74 65 | == 0x60|00)...te|
|00001a70| 2d 3e 74 5f 62 63 68 74 | 79 70 20 3d 20 54 5f 55 |->t_bcht|yp = T_U|
|00001a80| 4e 42 52 3b 0a 09 65 6c | 73 65 20 20 69 66 20 20 |NBR;..el|se if |
|00001a90| 28 28 74 63 20 26 20 30 | 78 66 66 30 30 29 20 3d |((tc & 0|xff00) =|
|00001aa0| 3d 20 30 78 36 31 30 30 | 29 0a 09 09 74 65 2d 3e |= 0x6100|)...te->|
|00001ab0| 74 5f 62 63 68 74 79 70 | 20 3d 20 54 5f 4a 53 52 |t_bchtyp| = T_JSR|
|00001ac0| 3b 0a 09 65 6c 73 65 0a | 09 09 74 65 2d 3e 74 5f |;..else.|..te->t_|
|00001ad0| 62 63 68 74 79 70 20 3d | 20 54 5f 43 4f 4e 44 42 |bchtyp =| T_CONDB|
|00001ae0| 52 3b 0a 0a 09 74 65 2d | 3e 74 5f 72 65 6c 73 79 |R;...te-|>t_relsy|
|00001af0| 6d 62 20 3d 20 74 65 78 | 74 6c 61 62 28 64 65 73 |mb = tex|tlab(des|
|00001b00| 74 2c 20 70 6f 73 29 3b | 0a 09 72 65 74 75 72 6e |t, pos);|..return|
|00001b10| 09 72 65 73 3b 0a 7d 0a | 0a 69 6e 74 09 6a 6a 28 |.res;.}.|.int.jj(|
|00001b20| 74 65 2c 20 70 6f 73 29 | 0a 74 5f 65 6e 74 72 79 |te, pos)|.t_entry|
|00001b30| 09 2a 74 65 3b 0a 6c 6f | 6e 67 09 70 6f 73 3b 0a |.*te;.lo|ng.pos;.|
|00001b40| 7b 0a 09 75 6e 73 69 67 | 6e 65 64 20 20 74 63 20 |{..unsig|ned tc |
|00001b50| 20 3d 20 20 74 65 2d 3e | 74 5f 63 6f 6e 74 65 6e | = te->|t_conten|
|00001b60| 74 73 3b 0a 09 74 5f 65 | 6e 74 72 79 09 6e 65 78 |ts;..t_e|ntry.nex|
|00001b70| 74 6c 3b 0a 09 0a 09 74 | 65 2d 3e 74 5f 62 63 68 |tl;....t|e->t_bch|
|00001b80| 74 79 70 20 3d 20 28 74 | 63 20 26 20 30 78 34 30 |typ = (t|c & 0x40|
|00001b90| 29 3f 20 54 5f 55 4e 42 | 52 3a 20 54 5f 4a 53 52 |)? T_UNB|R: T_JSR|
|00001ba0| 3b 0a 09 69 66 20 20 28 | 28 74 63 20 26 20 30 78 |;..if (|(tc & 0x|
|00001bb0| 33 66 29 20 3d 3d 20 30 | 78 33 39 29 20 20 7b 0a |3f) == 0|x39) {.|
|00001bc0| 09 09 67 65 74 74 65 28 | 26 6d 61 69 6e 66 69 6c |..gette(|&mainfil|
|00001bd0| 65 2c 20 70 6f 73 2b 32 | 2c 20 26 6e 65 78 74 6c |e, pos+2|, &nextl|
|00001be0| 29 3b 0a 09 09 69 66 20 | 20 28 6e 65 78 74 6c 2e |);...if | (nextl.|
|00001bf0| 74 5f 72 65 6c 73 79 6d | 62 20 3d 3d 20 4e 55 4c |t_relsym|b == NUL|
|00001c00| 4c 29 20 20 7b 0a 09 09 | 09 6e 65 78 74 6c 2e 74 |L) {...|.nextl.t|
|00001c10| 5f 72 65 6c 73 79 6d 62 | 20 3d 20 74 65 78 74 6c |_relsymb| = textl|
|00001c20| 61 62 28 67 65 74 74 77 | 28 26 6d 61 69 6e 66 69 |ab(gettw|(&mainfi|
|00001c30| 6c 65 2c 20 70 6f 73 2b | 32 2c 20 52 5f 4c 4f 4e |le, pos+|2, R_LON|
|00001c40| 47 29 2c 20 70 6f 73 29 | 3b 0a 09 09 09 70 75 74 |G), pos)|;....put|
|00001c50| 74 65 28 26 6d 61 69 6e | 66 69 6c 65 2c 20 70 6f |te(&main|file, po|
|00001c60| 73 2b 32 2c 20 26 6e 65 | 78 74 6c 29 3b 0a 09 09 |s+2, &ne|xtl);...|
|00001c70| 7d 0a 09 09 74 65 2d 3e | 74 5f 72 65 6c 73 79 6d |}...te->|t_relsym|
|00001c80| 62 20 3d 20 6e 65 78 74 | 6c 2e 74 5f 72 65 6c 73 |b = next|l.t_rels|
|00001c90| 79 6d 62 3b 09 2f 2a 20 | 20 45 61 73 79 20 72 65 |ymb;./* | Easy re|
|00001ca0| 66 20 20 2a 2f 0a 09 7d | 0a 09 72 65 74 75 72 6e |f */..}|..return|
|00001cb0| 09 6c 65 61 28 74 63 2c | 20 34 2c 20 70 6f 73 2b |.lea(tc,| 4, pos+|
|00001cc0| 32 29 3b 0a 7d 0a 0a 69 | 6e 74 09 6c 69 6d 65 64 |2);.}..i|nt.limed|
|00001cd0| 28 74 65 2c 20 70 6f 73 | 29 0a 74 5f 65 6e 74 72 |(te, pos|).t_entr|
|00001ce0| 79 09 2a 74 65 3b 0a 6c | 6f 6e 67 09 70 6f 73 3b |y.*te;.l|ong.pos;|
|00001cf0| 0a 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 20 74 63 |.{..unsi|gned tc|
|00001d00| 20 20 3d 20 20 74 65 2d | 3e 74 5f 63 6f 6e 74 65 | = te-|>t_conte|
|00001d10| 6e 74 73 3b 0a 09 69 6e | 74 09 6c 6e 67 3b 0a 09 |nts;..in|t.lng;..|
|00001d20| 0a 09 2f 2a 0a 09 20 2a | 09 53 70 65 63 69 66 69 |../*.. *|.Specifi|
|00001d30| 63 61 6c 6c 79 20 65 78 | 63 6c 75 64 65 20 62 79 |cally ex|clude by|
|00001d40| 74 65 20 61 64 64 72 65 | 73 73 20 72 65 67 69 73 |te addre|ss regis|
|00001d50| 74 65 72 20 6f 70 65 72 | 61 6e 64 73 2c 0a 09 20 |ter oper|ands,.. |
|00001d60| 2a 09 61 6e 64 20 6f 6e | 65 73 20 77 68 69 63 68 |*.and on|es which|
|00001d70| 20 68 61 76 65 20 6c 65 | 6e 67 74 68 73 20 6f 66 | have le|ngths of|
|00001d80| 20 33 2e 0a 09 20 2a 2f | 0a 0a 09 69 66 20 20 28 | 3... */|...if (|
|00001d90| 28 74 63 20 26 20 30 78 | 66 38 29 20 3d 3d 20 30 |(tc & 0x|f8) == 0|
|00001da0| 78 30 38 29 0a 09 09 72 | 65 74 75 72 6e 20 20 30 |x08)...r|eturn 0|
|00001db0| 3b 0a 09 0a 09 69 66 20 | 20 28 28 74 63 20 26 20 |;....if | ((tc & |
|00001dc0| 30 78 63 30 29 20 3e 3d | 20 30 78 38 30 29 20 20 |0xc0) >=| 0x80) |
|00001dd0| 7b 0a 09 09 69 66 20 20 | 28 74 63 20 26 20 30 78 |{...if |(tc & 0x|
|00001de0| 34 30 29 0a 09 09 09 72 | 65 74 75 72 6e 20 20 30 |40)....r|eturn 0|
|00001df0| 3b 0a 09 09 6c 6e 67 20 | 3d 20 6c 65 61 28 74 63 |;...lng |= lea(tc|
|00001e00| 2c 20 34 2c 20 70 6f 73 | 2b 36 29 3b 0a 09 09 69 |, 4, pos|+6);...i|
|00001e10| 66 20 20 28 6c 6e 67 20 | 3e 20 30 29 0a 09 09 09 |f (lng |> 0)....|
|00001e20| 6c 6e 67 20 2b 3d 20 32 | 3b 0a 09 7d 0a 09 65 6c |lng += 2|;..}..el|
|00001e30| 73 65 20 20 7b 0a 09 09 | 6c 6e 67 20 3d 20 6c 65 |se {...|lng = le|
|00001e40| 61 28 74 63 2c 20 28 75 | 6e 73 69 67 6e 65 64 29 |a(tc, (u|nsigned)|
|00001e50| 28 28 74 63 20 26 20 30 | 78 63 30 29 3f 32 3a 31 |((tc & 0|xc0)?2:1|
|00001e60| 29 2c 20 70 6f 73 2b 34 | 29 3b 0a 09 09 69 66 20 |), pos+4|);...if |
|00001e70| 20 28 6c 6e 67 20 3e 20 | 30 29 0a 09 09 09 6c 6e | (lng > |0)....ln|
|00001e80| 67 2b 2b 3b 0a 09 7d 0a | 09 72 65 74 75 72 6e 09 |g++;..}.|.return.|
|00001e90| 6c 6e 67 3b 0a 7d 0a 0a | 69 6e 74 09 6c 73 62 69 |lng;.}..|int.lsbi|
|00001ea0| 74 28 74 65 2c 20 70 6f | 73 29 0a 74 5f 65 6e 74 |t(te, po|s).t_ent|
|00001eb0| 72 79 09 2a 74 65 3b 0a | 6c 6f 6e 67 09 70 6f 73 |ry.*te;.|long.pos|
|00001ec0| 3b 0a 7b 0a 09 69 6e 74 | 09 6c 6e 67 20 3d 20 6c |;.{..int|.lng = l|
|00001ed0| 65 61 28 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |ea(te->t|_content|
|00001ee0| 73 2c 20 31 2c 20 70 6f | 73 2b 34 29 3b 0a 09 0a |s, 1, po|s+4);...|
|00001ef0| 09 69 66 20 20 28 6c 6e | 67 20 3e 20 30 29 0a 09 |.if (ln|g > 0)..|
|00001f00| 09 6c 6e 67 2b 2b 3b 0a | 09 72 65 74 75 72 6e 09 |.lng++;.|.return.|
|00001f10| 6c 6e 67 3b 0a 7d 0a 0a | 69 6e 74 09 6c 6d 76 6d |lng;.}..|int.lmvm|
|00001f20| 6c 28 74 65 2c 20 70 6f | 73 29 0a 74 5f 65 6e 74 |l(te, po|s).t_ent|
|00001f30| 72 79 09 2a 74 65 3b 0a | 6c 6f 6e 67 09 70 6f 73 |ry.*te;.|long.pos|
|00001f40| 3b 0a 7b 0a 09 69 6e 74 | 09 6c 6e 67 20 3d 20 6c |;.{..int|.lng = l|
|00001f50| 65 61 28 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |ea(te->t|_content|
|00001f60| 73 2c 0a 09 09 09 28 75 | 6e 73 69 67 6e 65 64 29 |s,....(u|nsigned)|
|00001f70| 28 74 65 2d 3e 74 5f 63 | 6f 6e 74 65 6e 74 73 26 |(te->t_c|ontents&|
|00001f80| 30 78 34 30 3f 20 34 3a | 32 29 2c 20 70 6f 73 2b |0x40? 4:|2), pos+|
|00001f90| 34 29 3b 0a 09 0a 09 69 | 66 20 20 28 6c 6e 67 20 |4);....i|f (lng |
|00001fa0| 3e 20 30 29 0a 09 09 6c | 6e 67 2b 2b 3b 0a 09 72 |> 0)...l|ng++;..r|
|00001fb0| 65 74 75 72 6e 09 6c 6e | 67 3b 0a 7d 0a 0a 2f 2a |eturn.ln|g;.}../*|
|00001fc0| 0a 20 2a 09 4c 65 6e 67 | 74 68 20 64 65 70 65 6e |. *.Leng|th depen|
|00001fd0| 64 73 20 6f 6e 20 62 69 | 74 73 20 36 20 61 6e 64 |ds on bi|ts 6 and|
|00001fe0| 20 37 20 6f 66 20 69 6e | 73 74 72 75 63 74 69 6f | 7 of in|structio|
|00001ff0| 6e 2e 0a 20 2a 2f 0a 0a | 69 6e 74 09 6c 6f 6e 65 |n.. */..|int.lone|
|00002000| 28 74 65 2c 20 70 6f 73 | 29 0a 74 5f 65 6e 74 72 |(te, pos|).t_entr|
|00002010| 79 09 2a 74 65 3b 0a 6c | 6f 6e 67 09 70 6f 73 3b |y.*te;.l|ong.pos;|
|00002020| 0a 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 20 74 63 |.{..unsi|gned tc|
|00002030| 20 20 3d 20 20 74 65 2d | 3e 74 5f 63 6f 6e 74 65 | = te-|>t_conte|
|00002040| 6e 74 73 3b 0a 09 0a 09 | 72 65 74 75 72 6e 09 6c |nts;....|return.l|
|00002050| 65 61 28 74 63 2c 20 31 | 20 3c 3c 20 28 28 74 63 |ea(tc, 1| << ((tc|
|00002060| 20 3e 3e 20 36 29 20 26 | 20 33 29 2c 20 70 6f 73 | >> 6) &| 3), pos|
|00002070| 2b 32 29 3b 0a 7d 0a 0a | 2f 2a 0a 20 2a 09 4c 65 |+2);.}..|/*. *.Le|
|00002080| 6e 67 74 68 20 64 65 70 | 65 6e 64 73 20 6f 6e 20 |ngth dep|ends on |
|00002090| 62 69 74 73 20 36 2d 38 | 20 6f 66 20 69 6e 73 74 |bits 6-8| of inst|
|000020a0| 72 75 63 74 69 6f 6e 2e | 0a 20 2a 2f 0a 0a 69 6e |ruction.|. */..in|
|000020b0| 74 09 6c 6f 6f 6e 65 28 | 74 65 2c 20 70 6f 73 29 |t.loone(|te, pos)|
|000020c0| 0a 74 5f 65 6e 74 72 79 | 09 2a 74 65 3b 0a 6c 6f |.t_entry|.*te;.lo|
|000020d0| 6e 67 09 70 6f 73 3b 0a | 7b 0a 09 75 6e 73 69 67 |ng.pos;.|{..unsig|
|000020e0| 6e 65 64 20 20 74 63 20 | 20 3d 20 20 74 65 2d 3e |ned tc | = te->|
|000020f0| 74 5f 63 6f 6e 74 65 6e | 74 73 3b 0a 09 0a 09 73 |t_conten|ts;....s|
|00002100| 77 69 74 63 68 20 20 28 | 28 74 63 20 3e 3e 20 36 |witch (|(tc >> 6|
|00002110| 29 20 26 20 37 29 20 20 | 7b 0a 09 63 61 73 65 20 |) & 7) |{..case |
|00002120| 20 30 3a 0a 09 63 61 73 | 65 20 20 34 3a 0a 09 09 | 0:..cas|e 4:...|
|00002130| 72 65 74 75 72 6e 09 6c | 65 61 28 74 63 2c 20 31 |return.l|ea(tc, 1|
|00002140| 2c 20 70 6f 73 2b 32 29 | 3b 0a 09 63 61 73 65 20 |, pos+2)|;..case |
|00002150| 20 31 3a 0a 09 63 61 73 | 65 20 20 33 3a 0a 09 63 | 1:..cas|e 3:..c|
|00002160| 61 73 65 20 20 35 3a 0a | 09 09 72 65 74 75 72 6e |ase 5:.|..return|
|00002170| 20 20 6c 65 61 28 74 63 | 2c 20 32 2c 20 70 6f 73 | lea(tc|, 2, pos|
|00002180| 2b 32 29 3b 0a 09 63 61 | 73 65 20 20 32 3a 0a 09 |+2);..ca|se 2:..|
|00002190| 63 61 73 65 20 20 36 3a | 0a 09 63 61 73 65 20 20 |case 6:|..case |
|000021a0| 37 3a 0a 09 09 72 65 74 | 75 72 6e 09 6c 65 61 28 |7:...ret|urn.lea(|
|000021b0| 74 63 2c 20 34 2c 20 70 | 6f 73 2b 32 29 3b 0a 09 |tc, 4, p|os+2);..|
|000021c0| 7d 0a 09 2f 2a 4e 4f 54 | 52 45 41 43 48 45 44 2a |}../*NOT|REACHED*|
|000021d0| 2f 0a 7d 0a 0a 69 6e 74 | 09 6c 6f 6e 65 77 28 74 |/.}..int|.lonew(t|
|000021e0| 65 2c 20 70 6f 73 29 0a | 74 5f 65 6e 74 72 79 09 |e, pos).|t_entry.|
|000021f0| 2a 74 65 3b 0a 6c 6f 6e | 67 09 70 6f 73 3b 0a 7b |*te;.lon|g.pos;.{|
|00002200| 0a 09 72 65 74 75 72 6e | 09 6c 65 61 28 74 65 2d |..return|.lea(te-|
|00002210| 3e 74 5f 63 6f 6e 74 65 | 6e 74 73 2c 20 32 2c 20 |>t_conte|nts, 2, |
|00002220| 70 6f 73 2b 32 29 3b 0a | 7d 0a 0a 69 6e 74 09 6c |pos+2);.|}..int.l|
|00002230| 6f 6e 65 6c 28 74 65 2c | 20 70 6f 73 29 0a 74 5f |onel(te,| pos).t_|
|00002240| 65 6e 74 72 79 09 2a 74 | 65 3b 0a 6c 6f 6e 67 09 |entry.*t|e;.long.|
|00002250| 70 6f 73 3b 0a 7b 0a 09 | 72 65 74 75 72 6e 09 6c |pos;.{..|return.l|
|00002260| 65 61 28 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |ea(te->t|_content|
|00002270| 73 2c 20 34 2c 20 70 6f | 73 2b 32 29 3b 0a 7d 0a |s, 4, po|s+2);.}.|
|00002280| 0a 2f 2a 0a 20 2a 09 50 | 72 69 6e 74 20 72 6f 75 |./*. *.P|rint rou|
|00002290| 74 69 6e 65 73 2e 0a 20 | 2a 2f 0a 0a 69 6e 74 09 |tines.. |*/..int.|
|000022a0| 66 69 6e 64 6c 65 6e 67 | 28 74 63 29 0a 75 6e 73 |findleng|(tc).uns|
|000022b0| 69 67 6e 65 64 20 20 74 | 63 3b 0a 7b 0a 09 73 77 |igned t|c;.{..sw|
|000022c0| 69 74 63 68 20 20 28 28 | 74 63 20 3e 3e 20 36 29 |itch ((|tc >> 6)|
|000022d0| 20 26 20 33 29 20 20 7b | 0a 09 63 61 73 65 20 20 | & 3) {|..case |
|000022e0| 30 3a 0a 09 09 72 65 74 | 75 72 6e 09 27 62 27 3b |0:...ret|urn.'b';|
|000022f0| 0a 09 63 61 73 65 20 20 | 31 3a 0a 09 09 72 65 74 |..case |1:...ret|
|00002300| 75 72 6e 09 27 77 27 3b | 0a 09 64 65 66 61 75 6c |urn.'w';|..defaul|
|00002310| 74 3a 0a 09 09 72 65 74 | 75 72 6e 09 27 6c 27 3b |t:...ret|urn.'l';|
|00002320| 0a 09 7d 0a 7d 0a 0a 76 | 6f 69 64 09 70 69 77 6f |..}.}..v|oid.piwo|
|00002330| 72 64 28 64 69 73 70 29 | 0a 75 6e 73 69 67 6e 65 |rd(disp)|.unsigne|
|00002340| 64 20 20 64 69 73 70 3b | 0a 7b 0a 09 69 6e 74 09 |d disp;|.{..int.|
|00002350| 73 7a 63 3b 0a 09 0a 09 | 28 76 6f 69 64 29 20 70 |szc;....|(void) p|
|00002360| 72 69 6e 74 66 28 22 40 | 28 30 78 25 78 2c 22 2c |rintf("@|(0x%x,",|
|00002370| 20 64 69 73 70 20 26 20 | 30 78 66 66 29 3b 0a 09 | disp & |0xff);..|
|00002380| 69 66 20 20 28 64 69 73 | 70 20 26 20 30 78 38 30 |if (dis|p & 0x80|
|00002390| 30 30 29 0a 09 09 28 76 | 6f 69 64 29 20 70 72 69 |00)...(v|oid) pri|
|000023a0| 6e 74 66 28 22 25 73 22 | 2c 20 61 72 65 67 5b 28 |ntf("%s"|, areg[(|
|000023b0| 64 69 73 70 20 3e 3e 20 | 31 32 29 20 26 20 30 78 |disp >> |12) & 0x|
|000023c0| 37 5d 29 3b 0a 09 65 6c | 73 65 0a 09 09 28 76 6f |7]);..el|se...(vo|
|000023d0| 69 64 29 20 70 72 69 6e | 74 66 28 22 64 25 64 22 |id) prin|tf("d%d"|
|000023e0| 2c 20 28 64 69 73 70 20 | 3e 3e 20 31 32 29 20 26 |, (disp |>> 12) &|
|000023f0| 20 30 78 37 29 3b 0a 09 | 73 7a 63 20 3d 20 27 77 | 0x7);..|szc = 'w|
|00002400| 27 3b 0a 09 69 66 20 20 | 28 64 69 73 70 20 26 20 |';..if |(disp & |
|00002410| 28 31 20 3c 3c 20 31 30 | 29 29 0a 09 09 73 7a 63 |(1 << 10|))...szc|
|00002420| 20 3d 20 27 6c 27 3b 0a | 09 28 76 6f 69 64 29 20 | = 'l';.|.(void) |
|00002430| 70 72 69 6e 74 66 28 22 | 3a 25 63 29 22 2c 20 73 |printf("|:%c)", s|
|00002440| 7a 63 29 3b 0a 7d 0a 0a | 76 6f 69 64 09 70 61 64 |zc);.}..|void.pad|
|00002450| 64 72 28 70 6f 73 29 0a | 6c 6f 6e 67 09 70 6f 73 |dr(pos).|long.pos|
|00002460| 3b 0a 7b 0a 09 74 5f 65 | 6e 74 72 79 09 74 65 6e |;.{..t_e|ntry.ten|
|00002470| 74 3b 0a 09 73 79 6d 62 | 6f 6c 09 73 79 6d 62 3b |t;..symb|ol.symb;|
|00002480| 0a 09 0a 09 67 65 74 74 | 65 28 26 6d 61 69 6e 66 |....gett|e(&mainf|
|00002490| 69 6c 65 2c 20 70 6f 73 | 2c 20 26 74 65 6e 74 29 |ile, pos|, &tent)|
|000024a0| 3b 0a 09 69 66 20 20 28 | 74 65 6e 74 2e 74 5f 72 |;..if (|tent.t_r|
|000024b0| 65 6c 73 79 6d 62 20 21 | 3d 20 4e 55 4c 4c 29 20 |elsymb !|= NULL) |
|000024c0| 20 7b 0a 09 09 73 79 6d | 62 20 3d 20 74 65 6e 74 | {...sym|b = tent|
|000024d0| 2e 74 5f 72 65 6c 73 79 | 6d 62 3b 0a 09 09 69 66 |.t_relsy|mb;...if|
|000024e0| 20 20 28 73 79 6d 62 2d | 3e 73 5f 6c 73 79 6d 62 | (symb-|>s_lsymb|
|000024f0| 20 21 3d 20 30 29 0a 09 | 09 09 28 76 6f 69 64 29 | != 0)..|..(void)|
|00002500| 20 70 72 69 6e 74 66 28 | 22 25 75 24 22 2c 20 73 | printf(|"%u$", s|
|00002510| 79 6d 62 2d 3e 73 5f 6c | 73 79 6d 62 29 3b 0a 09 |ymb->s_l|symb);..|
|00002520| 09 65 6c 73 65 0a 09 09 | 09 28 76 6f 69 64 29 20 |.else...|.(void) |
|00002530| 70 72 69 6e 74 66 28 22 | 25 73 22 2c 20 73 79 6d |printf("|%s", sym|
|00002540| 62 2d 3e 73 5f 6e 61 6d | 65 29 3b 0a 09 09 69 66 |b->s_nam|e);...if|
|00002550| 20 20 28 74 65 6e 74 2e | 74 5f 72 65 6c 64 69 73 | (tent.|t_reldis|
|00002560| 70 20 21 3d 20 30 29 0a | 09 09 09 28 76 6f 69 64 |p != 0).|...(void|
|00002570| 29 20 70 72 69 6e 74 66 | 28 22 2b 30 78 25 78 22 |) printf|("+0x%x"|
|00002580| 2c 20 74 65 6e 74 2e 74 | 5f 72 65 6c 64 69 73 70 |, tent.t|_reldisp|
|00002590| 29 3b 0a 09 09 72 65 74 | 75 72 6e 3b 0a 09 7d 0a |);...ret|urn;..}.|
|000025a0| 09 28 76 6f 69 64 29 20 | 70 72 69 6e 74 66 28 22 |.(void) |printf("|
|000025b0| 30 78 25 78 22 2c 20 67 | 65 74 74 77 28 26 6d 61 |0x%x", g|ettw(&ma|
|000025c0| 69 6e 66 69 6c 65 2c 20 | 70 6f 73 2c 20 52 5f 4c |infile, |pos, R_L|
|000025d0| 4f 4e 47 29 29 3b 0a 7d | 0a 0a 69 6e 74 09 70 72 |ONG));.}|..int.pr|
|000025e0| 65 61 28 65 61 2c 20 70 | 6f 73 2c 20 73 7a 29 0a |ea(ea, p|os, sz).|
|000025f0| 75 6e 73 69 67 6e 65 64 | 20 20 65 61 2c 20 73 7a |unsigned| ea, sz|
|00002600| 3b 0a 6c 6f 6e 67 09 70 | 6f 73 3b 09 09 09 2f 2a |;.long.p|os;.../*|
|00002610| 20 20 41 64 64 72 65 73 | 73 20 6f 66 20 70 72 65 | Addres|s of pre|
|00002620| 76 69 6f 75 73 20 77 6f | 72 64 20 74 6f 20 65 78 |vious wo|rd to ex|
|00002630| 74 6e 20 20 2a 2f 0a 7b | 0a 09 75 6e 73 69 67 6e |tn */.{|..unsign|
|00002640| 65 64 20 20 72 65 67 20 | 20 3d 20 20 65 61 20 26 |ed reg | = ea &|
|00002650| 20 30 78 37 3b 0a 09 6c | 6f 6e 67 09 64 69 73 70 | 0x7;..l|ong.disp|
|00002660| 3b 0a 09 0a 09 70 6f 73 | 20 2b 3d 20 32 3b 0a 09 |;....pos| += 2;..|
|00002670| 0a 09 73 77 69 74 63 68 | 20 20 28 28 65 61 20 3e |..switch| ((ea >|
|00002680| 3e 20 33 29 20 26 20 30 | 78 37 29 20 20 7b 0a 09 |> 3) & 0|x7) {..|
|00002690| 63 61 73 65 20 20 30 3a | 0a 09 09 28 76 6f 69 64 |case 0:|...(void|
|000026a0| 29 20 70 72 69 6e 74 66 | 28 22 64 25 64 22 2c 20 |) printf|("d%d", |
|000026b0| 72 65 67 29 3b 0a 09 09 | 72 65 74 75 72 6e 09 30 |reg);...|return.0|
|000026c0| 3b 0a 09 63 61 73 65 20 | 20 31 3a 0a 09 09 28 76 |;..case | 1:...(v|
|000026d0| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 25 73 22 |oid) pri|ntf("%s"|
|000026e0| 2c 20 61 72 65 67 5b 72 | 65 67 5d 29 3b 0a 09 09 |, areg[r|eg]);...|
|000026f0| 72 65 74 75 72 6e 09 30 | 3b 0a 09 63 61 73 65 20 |return.0|;..case |
|00002700| 20 32 3a 0a 09 09 28 76 | 6f 69 64 29 20 70 72 69 | 2:...(v|oid) pri|
|00002710| 6e 74 66 28 22 25 73 40 | 22 2c 20 61 72 65 67 5b |ntf("%s@|", areg[|
|00002720| 72 65 67 5d 29 3b 0a 09 | 09 72 65 74 75 72 6e 09 |reg]);..|.return.|
|00002730| 30 3b 0a 09 63 61 73 65 | 20 20 33 3a 0a 09 09 28 |0;..case| 3:...(|
|00002740| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 25 73 |void) pr|intf("%s|
|00002750| 40 2b 22 2c 20 61 72 65 | 67 5b 72 65 67 5d 29 3b |@+", are|g[reg]);|
|00002760| 0a 09 09 72 65 74 75 72 | 6e 09 30 3b 0a 09 63 61 |...retur|n.0;..ca|
|00002770| 73 65 20 20 34 3a 0a 09 | 09 28 76 6f 69 64 29 20 |se 4:..|.(void) |
|00002780| 70 72 69 6e 74 66 28 22 | 25 73 40 2d 22 2c 20 61 |printf("|%s@-", a|
|00002790| 72 65 67 5b 72 65 67 5d | 29 3b 0a 09 09 72 65 74 |reg[reg]|);...ret|
|000027a0| 75 72 6e 09 30 3b 0a 09 | 63 61 73 65 20 20 35 3a |urn.0;..|case 5:|
|000027b0| 0a 09 09 64 69 73 70 20 | 3d 20 67 65 74 74 77 28 |...disp |= gettw(|
|000027c0| 26 6d 61 69 6e 66 69 6c | 65 2c 20 70 6f 73 2c 20 |&mainfil|e, pos, |
|000027d0| 52 5f 57 4f 52 44 29 3b | 0a 09 09 28 76 6f 69 64 |R_WORD);|...(void|
|000027e0| 29 20 70 72 69 6e 74 66 | 28 22 25 73 40 28 30 78 |) printf|("%s@(0x|
|000027f0| 25 78 29 22 2c 20 61 72 | 65 67 5b 72 65 67 5d 2c |%x)", ar|eg[reg],|
|00002800| 20 64 69 73 70 29 3b 0a | 09 09 72 65 74 75 72 6e | disp);.|..return|
|00002810| 09 32 3b 0a 09 63 61 73 | 65 20 20 36 3a 0a 09 09 |.2;..cas|e 6:...|
|00002820| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 25 |(void) p|rintf("%|
|00002830| 73 22 2c 20 61 72 65 67 | 5b 72 65 67 5d 29 3b 0a |s", areg|[reg]);.|
|00002840| 09 09 70 69 77 6f 72 64 | 28 28 75 6e 73 69 67 6e |..piword|((unsign|
|00002850| 65 64 29 20 67 65 74 74 | 77 28 26 6d 61 69 6e 66 |ed) gett|w(&mainf|
|00002860| 69 6c 65 2c 20 70 6f 73 | 2c 20 52 5f 57 4f 52 44 |ile, pos|, R_WORD|
|00002870| 29 29 3b 0a 09 09 72 65 | 74 75 72 6e 09 32 3b 0a |));...re|turn.2;.|
|00002880| 09 64 65 66 61 75 6c 74 | 3a 0a 09 09 73 77 69 74 |.default|:...swit|
|00002890| 63 68 20 20 28 72 65 67 | 29 20 20 7b 0a 09 09 63 |ch (reg|) {...c|
|000028a0| 61 73 65 20 20 30 3a 0a | 09 09 09 64 69 73 70 20 |ase 0:.|...disp |
|000028b0| 3d 20 67 65 74 74 77 28 | 26 6d 61 69 6e 66 69 6c |= gettw(|&mainfil|
|000028c0| 65 2c 20 70 6f 73 2c 20 | 52 5f 57 4f 52 44 29 3b |e, pos, |R_WORD);|
|000028d0| 0a 09 09 09 28 76 6f 69 | 64 29 20 70 72 69 6e 74 |....(voi|d) print|
|000028e0| 66 28 22 30 78 25 78 3a | 77 22 2c 20 64 69 73 70 |f("0x%x:|w", disp|
|000028f0| 29 3b 0a 09 09 09 72 65 | 74 75 72 6e 09 32 3b 0a |);....re|turn.2;.|
|00002900| 09 09 63 61 73 65 20 20 | 31 3a 0a 09 09 09 70 61 |..case |1:....pa|
|00002910| 64 64 72 28 70 6f 73 29 | 3b 0a 09 09 09 72 65 74 |ddr(pos)|;....ret|
|00002920| 75 72 6e 09 34 3b 0a 09 | 09 63 61 73 65 20 20 32 |urn.4;..|.case 2|
|00002930| 3a 0a 09 09 09 64 69 73 | 70 20 3d 20 67 65 74 74 |:....dis|p = gett|
|00002940| 77 28 26 6d 61 69 6e 66 | 69 6c 65 2c 20 70 6f 73 |w(&mainf|ile, pos|
|00002950| 2c 20 52 5f 57 4f 52 44 | 29 3b 0a 09 09 09 28 76 |, R_WORD|);....(v|
|00002960| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 70 63 40 |oid) pri|ntf("pc@|
|00002970| 28 30 78 25 78 29 22 2c | 20 64 69 73 70 29 3b 0a |(0x%x)",| disp);.|
|00002980| 09 09 09 72 65 74 75 72 | 6e 09 32 3b 0a 09 09 63 |...retur|n.2;...c|
|00002990| 61 73 65 20 20 33 3a 0a | 09 09 09 28 76 6f 69 64 |ase 3:.|...(void|
|000029a0| 29 20 70 72 69 6e 74 66 | 28 22 70 63 22 29 3b 0a |) printf|("pc");.|
|000029b0| 09 09 09 70 69 77 6f 72 | 64 28 28 75 6e 73 69 67 |...piwor|d((unsig|
|000029c0| 6e 65 64 29 20 67 65 74 | 74 77 28 26 6d 61 69 6e |ned) get|tw(&main|
|000029d0| 66 69 6c 65 2c 20 70 6f | 73 2c 20 52 5f 57 4f 52 |file, po|s, R_WOR|
|000029e0| 44 29 29 3b 0a 09 09 09 | 72 65 74 75 72 6e 09 32 |D));....|return.2|
|000029f0| 3b 0a 09 09 63 61 73 65 | 20 20 34 3a 0a 09 09 09 |;...case| 4:....|
|00002a00| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 23 |(void) p|rintf("#|
|00002a10| 22 29 3b 0a 09 09 09 69 | 66 20 20 28 73 7a 20 3c |");....i|f (sz <|
|00002a20| 20 34 29 0a 09 09 09 09 | 28 76 6f 69 64 29 20 70 | 4).....|(void) p|
|00002a30| 72 69 6e 74 66 28 22 30 | 78 25 78 22 2c 20 67 65 |rintf("0|x%x", ge|
|00002a40| 74 74 77 28 26 6d 61 69 | 6e 66 69 6c 65 2c 20 70 |ttw(&mai|nfile, p|
|00002a50| 6f 73 2c 20 52 5f 57 4f | 52 44 29 29 3b 0a 09 09 |os, R_WO|RD));...|
|00002a60| 09 65 6c 73 65 0a 09 09 | 09 09 70 61 64 64 72 28 |.else...|..paddr(|
|00002a70| 70 6f 73 29 3b 0a 09 09 | 09 72 65 74 75 72 6e 09 |pos);...|.return.|
|00002a80| 73 7a 3b 0a 09 09 64 65 | 66 61 75 6c 74 3a 0a 09 |sz;...de|fault:..|
|00002a90| 09 09 28 76 6f 69 64 29 | 20 66 70 72 69 6e 74 66 |..(void)| fprintf|
|00002aa0| 28 73 74 64 65 72 72 2c | 20 22 46 75 6e 6e 79 20 |(stderr,| "Funny |
|00002ab0| 6d 6f 64 65 5c 6e 22 29 | 3b 0a 09 09 09 65 78 69 |mode\n")|;....exi|
|00002ac0| 74 28 32 32 30 29 3b 0a | 09 09 7d 0a 09 7d 0a 09 |t(220);.|..}..}..|
|00002ad0| 2f 2a 4e 4f 54 52 45 41 | 43 48 45 44 2a 2f 0a 7d |/*NOTREA|CHED*/.}|
|00002ae0| 0a 09 0a 69 6e 74 09 70 | 6d 6f 76 65 28 74 65 2c |...int.p|move(te,|
|00002af0| 20 70 6f 73 29 0a 74 5f | 65 6e 74 72 79 09 2a 74 | pos).t_|entry.*t|
|00002b00| 65 3b 0a 6c 6f 6e 67 09 | 70 6f 73 3b 0a 7b 0a 09 |e;.long.|pos;.{..|
|00002b10| 75 6e 73 69 67 6e 65 64 | 20 20 73 7a 20 20 3d 20 |unsigned| sz = |
|00002b20| 20 32 3b 0a 09 75 6e 73 | 69 67 6e 65 64 20 20 74 | 2;..uns|igned t|
|00002b30| 63 20 20 3d 20 20 74 65 | 2d 3e 74 5f 63 6f 6e 74 |c = te|->t_cont|
|00002b40| 65 6e 74 73 3b 0a 09 0a | 09 28 76 6f 69 64 29 20 |ents;...|.(void) |
|00002b50| 70 72 69 6e 74 66 28 22 | 6d 6f 76 25 73 5c 74 22 |printf("|mov%s\t"|
|00002b60| 2c 20 6f 70 74 61 62 5b | 74 65 2d 3e 74 5f 69 69 |, optab[|te->t_ii|
|00002b70| 6e 64 65 78 5d 2e 70 72 | 61 72 67 29 3b 0a 09 0a |ndex].pr|arg);...|
|00002b80| 09 69 66 20 20 28 28 74 | 63 20 26 20 30 78 66 30 |.if ((t|c & 0xf0|
|00002b90| 30 30 29 20 3d 3d 20 30 | 78 32 30 30 30 29 0a 09 |00) == 0|x2000)..|
|00002ba0| 09 73 7a 20 3d 20 34 3b | 0a 09 0a 09 70 6f 73 20 |.sz = 4;|....pos |
|00002bb0| 2b 3d 20 70 72 65 61 28 | 74 63 2c 20 70 6f 73 2c |+= prea(|tc, pos,|
|00002bc0| 20 73 7a 29 3b 0a 09 70 | 75 74 63 68 61 72 28 27 | sz);..p|utchar('|
|00002bd0| 2c 27 29 3b 0a 09 28 76 | 6f 69 64 29 20 70 72 65 |,');..(v|oid) pre|
|00002be0| 61 28 28 28 74 63 20 3e | 3e 20 39 29 20 26 20 30 |a(((tc >|> 9) & 0|
|00002bf0| 78 37 29 20 7c 20 28 28 | 74 63 20 3e 3e 20 33 29 |x7) | ((|tc >> 3)|
|00002c00| 20 26 20 30 78 33 38 29 | 2c 20 70 6f 73 2c 20 73 | & 0x38)|, pos, s|
|00002c10| 7a 29 3b 0a 7d 0a 0a 69 | 6e 74 09 70 63 62 63 68 |z);.}..i|nt.pcbch|
|00002c20| 28 74 65 29 0a 74 5f 65 | 6e 74 72 79 09 2a 74 65 |(te).t_e|ntry.*te|
|00002c30| 3b 0a 7b 0a 09 69 6e 74 | 09 63 63 20 3d 20 28 28 |;.{..int|.cc = ((|
|00002c40| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 20 3e |te->t_co|ntents >|
|00002c50| 3e 20 38 29 20 26 20 30 | 78 66 29 20 2d 20 32 3b |> 8) & 0|xf) - 2;|
|00002c60| 0a 09 63 68 61 72 09 2a | 6d 73 67 3b 0a 09 72 65 |..char.*|msg;..re|
|00002c70| 67 69 73 74 65 72 20 20 | 73 79 6d 62 6f 6c 20 20 |gister |symbol |
|00002c80| 74 73 3b 0a 09 0a 09 69 | 66 20 20 28 63 63 20 3c |ts;....i|f (cc <|
|00002c90| 20 30 29 0a 09 09 6d 73 | 67 20 3d 20 63 63 20 3c | 0)...ms|g = cc <|
|00002ca0| 20 2d 31 3f 20 22 72 61 | 22 3a 20 22 73 72 22 3b | -1? "ra|": "sr";|
|00002cb0| 0a 09 65 6c 73 65 0a 09 | 09 6d 73 67 20 3d 20 63 |..else..|.msg = c|
|00002cc0| 63 6c 69 73 74 5b 63 63 | 5d 3b 0a 09 28 76 6f 69 |clist[cc|];..(voi|
|00002cd0| 64 29 20 70 72 69 6e 74 | 66 28 22 62 25 73 22 2c |d) print|f("b%s",|
|00002ce0| 20 6d 73 67 29 3b 0a 09 | 69 66 20 20 28 74 65 2d | msg);..|if (te-|
|00002cf0| 3e 74 5f 6c 6e 67 20 3c | 20 32 29 0a 09 09 28 76 |>t_lng <| 2)...(v|
|00002d00| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 73 22 29 |oid) pri|ntf("s")|
|00002d10| 3b 0a 09 74 73 20 3d 20 | 74 65 2d 3e 74 5f 72 65 |;..ts = |te->t_re|
|00002d20| 6c 73 79 6d 62 3b 0a 09 | 69 66 20 20 28 74 73 2d |lsymb;..|if (ts-|
|00002d30| 3e 73 5f 6c 73 79 6d 62 | 20 21 3d 20 30 29 0a 09 |>s_lsymb| != 0)..|
|00002d40| 09 28 76 6f 69 64 29 20 | 70 72 69 6e 74 66 28 22 |.(void) |printf("|
|00002d50| 5c 74 25 75 24 22 2c 20 | 74 73 2d 3e 73 5f 6c 73 |\t%u$", |ts->s_ls|
|00002d60| 79 6d 62 29 3b 0a 09 65 | 6c 73 65 0a 09 09 28 76 |ymb);..e|lse...(v|
|00002d70| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 5c 74 25 |oid) pri|ntf("\t%|
|00002d80| 73 22 2c 20 74 73 2d 3e | 73 5f 6e 61 6d 65 29 3b |s", ts->|s_name);|
|00002d90| 0a 7d 0a 0a 69 6e 74 09 | 70 64 62 63 63 28 74 65 |.}..int.|pdbcc(te|
|00002da0| 29 0a 74 5f 65 6e 74 72 | 79 09 2a 74 65 3b 0a 7b |).t_entr|y.*te;.{|
|00002db0| 0a 09 75 6e 73 69 67 6e | 65 64 20 20 74 63 20 20 |..unsign|ed tc |
|00002dc0| 3d 20 20 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |= te->t|_content|
|00002dd0| 73 3b 0a 09 69 6e 74 09 | 63 63 20 3d 20 28 28 74 |s;..int.|cc = ((t|
|00002de0| 63 20 3e 3e 20 38 29 20 | 26 20 30 78 66 29 20 2d |c >> 8) |& 0xf) -|
|00002df0| 20 32 3b 0a 09 63 68 61 | 72 09 2a 6d 73 67 3b 0a | 2;..cha|r.*msg;.|
|00002e00| 09 72 65 67 69 73 74 65 | 72 20 20 73 79 6d 62 6f |.registe|r symbo|
|00002e10| 6c 20 20 74 73 3b 0a 09 | 0a 09 69 66 20 20 28 63 |l ts;..|..if (c|
|00002e20| 63 20 3c 20 30 29 0a 09 | 09 6d 73 67 20 3d 20 63 |c < 0)..|.msg = c|
|00002e30| 63 20 3c 20 2d 31 3f 20 | 22 74 22 3a 20 22 66 22 |c < -1? |"t": "f"|
|00002e40| 3b 0a 09 65 6c 73 65 0a | 09 09 6d 73 67 20 3d 20 |;..else.|..msg = |
|00002e50| 63 63 6c 69 73 74 5b 63 | 63 5d 3b 0a 09 74 73 20 |cclist[c|c];..ts |
|00002e60| 3d 20 74 65 2d 3e 74 5f | 72 65 6c 73 79 6d 62 3b |= te->t_|relsymb;|
|00002e70| 0a 09 28 76 6f 69 64 29 | 20 70 72 69 6e 74 66 28 |..(void)| printf(|
|00002e80| 22 64 62 25 73 5c 74 64 | 25 64 2c 22 2c 20 6d 73 |"db%s\td|%d,", ms|
|00002e90| 67 2c 20 74 63 20 26 20 | 30 78 37 29 3b 0a 09 69 |g, tc & |0x7);..i|
|00002ea0| 66 20 20 28 74 73 2d 3e | 73 5f 6c 73 79 6d 62 29 |f (ts->|s_lsymb)|
|00002eb0| 0a 09 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |...(void|) printf|
|00002ec0| 28 22 25 75 24 22 2c 20 | 74 73 2d 3e 73 5f 6c 73 |("%u$", |ts->s_ls|
|00002ed0| 79 6d 62 29 3b 0a 09 65 | 6c 73 65 0a 09 09 28 76 |ymb);..e|lse...(v|
|00002ee0| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 25 73 22 |oid) pri|ntf("%s"|
|00002ef0| 2c 20 74 73 2d 3e 73 5f | 6e 61 6d 65 29 3b 0a 7d |, ts->s_|name);.}|
|00002f00| 0a 0a 69 6e 74 09 70 73 | 63 63 28 74 65 2c 20 70 |..int.ps|cc(te, p|
|00002f10| 6f 73 29 0a 74 5f 65 6e | 74 72 79 09 2a 74 65 3b |os).t_en|try.*te;|
|00002f20| 0a 6c 6f 6e 67 09 70 6f | 73 3b 0a 7b 0a 09 75 6e |.long.po|s;.{..un|
|00002f30| 73 69 67 6e 65 64 20 20 | 74 63 20 20 3d 20 20 74 |signed |tc = t|
|00002f40| 65 2d 3e 74 5f 63 6f 6e | 74 65 6e 74 73 3b 0a 09 |e->t_con|tents;..|
|00002f50| 69 6e 74 09 63 63 20 3d | 20 28 28 74 63 20 3e 3e |int.cc =| ((tc >>|
|00002f60| 20 38 29 20 26 20 30 78 | 66 29 20 2d 20 32 3b 0a | 8) & 0x|f) - 2;.|
|00002f70| 09 63 68 61 72 09 2a 6d | 73 67 3b 0a 09 0a 09 69 |.char.*m|sg;....i|
|00002f80| 66 20 20 28 63 63 20 3c | 20 30 29 0a 09 09 6d 73 |f (cc <| 0)...ms|
|00002f90| 67 20 3d 20 63 63 20 3c | 20 2d 31 3f 20 22 74 22 |g = cc <| -1? "t"|
|00002fa0| 3a 20 22 66 22 3b 0a 09 | 65 6c 73 65 0a 09 09 6d |: "f";..|else...m|
|00002fb0| 73 67 20 3d 20 63 63 6c | 69 73 74 5b 63 63 5d 3b |sg = ccl|ist[cc];|
|00002fc0| 0a 09 28 76 6f 69 64 29 | 20 70 72 69 6e 74 66 28 |..(void)| printf(|
|00002fd0| 22 73 25 73 5c 74 22 2c | 20 6d 73 67 29 3b 0a 09 |"s%s\t",| msg);..|
|00002fe0| 28 76 6f 69 64 29 20 70 | 72 65 61 28 74 63 2c 20 |(void) p|rea(tc, |
|00002ff0| 70 6f 73 2c 20 31 29 3b | 0a 7d 0a 0a 69 6e 74 09 |pos, 1);|.}..int.|
|00003000| 70 63 73 28 74 65 2c 20 | 70 6f 73 29 0a 74 5f 65 |pcs(te, |pos).t_e|
|00003010| 6e 74 72 79 09 2a 74 65 | 3b 0a 6c 6f 6e 67 09 70 |ntry.*te|;.long.p|
|00003020| 6f 73 3b 0a 7b 0a 09 6c | 6f 6e 67 09 64 69 73 70 |os;.{..l|ong.disp|
|00003030| 20 20 3d 20 20 67 65 74 | 74 77 28 26 6d 61 69 6e | = get|tw(&main|
|00003040| 66 69 6c 65 2c 20 70 6f | 73 2b 32 2c 20 52 5f 57 |file, po|s+2, R_W|
|00003050| 4f 52 44 29 3b 0a 09 0a | 09 28 76 6f 69 64 29 20 |ORD);...|.(void) |
|00003060| 70 72 69 6e 74 66 28 22 | 25 73 22 2c 20 6f 70 74 |printf("|%s", opt|
|00003070| 61 62 5b 74 65 2d 3e 74 | 5f 69 69 6e 64 65 78 5d |ab[te->t|_iindex]|
|00003080| 2e 70 72 61 72 67 29 3b | 0a 09 69 66 20 20 28 28 |.prarg);|..if ((|
|00003090| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 20 26 |te->t_co|ntents &|
|000030a0| 20 30 78 63 30 29 20 3d | 3d 20 30 29 0a 09 09 28 | 0xc0) =|= 0)...(|
|000030b0| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 62 5c |void) pr|intf("b\|
|000030c0| 74 23 30 78 25 78 2c 63 | 63 22 2c 20 64 69 73 70 |t#0x%x,c|c", disp|
|000030d0| 29 3b 0a 09 65 6c 73 65 | 0a 09 09 28 76 6f 69 64 |);..else|...(void|
|000030e0| 29 20 70 72 69 6e 74 66 | 28 22 77 5c 74 23 30 78 |) printf|("w\t#0x|
|000030f0| 25 78 2c 73 72 22 2c 20 | 64 69 73 70 29 3b 0a 7d |%x,sr", |disp);.}|
|00003100| 0a 0a 69 6e 74 09 70 6d | 6f 76 63 28 74 65 2c 20 |..int.pm|ovc(te, |
|00003110| 70 6f 73 29 0a 74 5f 65 | 6e 74 72 79 09 2a 74 65 |pos).t_e|ntry.*te|
|00003120| 3b 0a 6c 6f 6e 67 09 70 | 6f 73 3b 0a 7b 0a 09 69 |;.long.p|os;.{..i|
|00003130| 6e 74 09 64 69 73 70 20 | 3d 20 67 65 74 74 77 28 |nt.disp |= gettw(|
|00003140| 26 6d 61 69 6e 66 69 6c | 65 2c 20 70 6f 73 2b 32 |&mainfil|e, pos+2|
|00003150| 2c 20 52 5f 57 4f 52 44 | 29 3b 0a 09 69 6e 74 09 |, R_WORD|);..int.|
|00003160| 63 74 72 6c 20 3d 20 28 | 28 64 69 73 70 20 3e 3e |ctrl = (|(disp >>|
|00003170| 20 31 30 29 20 26 20 32 | 29 20 7c 20 28 64 69 73 | 10) & 2|) | (dis|
|00003180| 70 20 26 20 31 29 3b 0a | 0a 09 28 76 6f 69 64 29 |p & 1);.|..(void)|
|00003190| 20 70 72 69 6e 74 66 28 | 22 6d 6f 76 65 63 5c 74 | printf(|"movec\t|
|000031a0| 22 29 3b 0a 09 69 66 20 | 20 28 28 74 65 2d 3e 74 |");..if | ((te->t|
|000031b0| 5f 63 6f 6e 74 65 6e 74 | 73 20 26 20 31 29 20 3d |_content|s & 1) =|
|000031c0| 3d 20 30 29 0a 09 09 28 | 76 6f 69 64 29 20 70 72 |= 0)...(|void) pr|
|000031d0| 69 6e 74 66 28 22 25 73 | 2c 22 2c 20 63 72 65 67 |intf("%s|,", creg|
|000031e0| 5b 63 74 72 6c 5d 29 3b | 0a 09 69 66 20 20 28 64 |[ctrl]);|..if (d|
|000031f0| 69 73 70 20 26 20 30 78 | 38 30 30 30 29 0a 09 09 |isp & 0x|8000)...|
|00003200| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 25 |(void) p|rintf("%|
|00003210| 73 22 2c 20 61 72 65 67 | 5b 28 64 69 73 70 20 3e |s", areg|[(disp >|
|00003220| 3e 20 31 32 29 20 26 20 | 37 5d 29 3b 0a 09 65 6c |> 12) & |7]);..el|
|00003230| 73 65 0a 09 09 28 76 6f | 69 64 29 20 70 72 69 6e |se...(vo|id) prin|
|00003240| 74 66 28 22 64 25 64 22 | 2c 20 64 69 73 70 20 3e |tf("d%d"|, disp >|
|00003250| 3e 20 31 32 29 3b 0a 09 | 69 66 20 20 28 74 65 2d |> 12);..|if (te-|
|00003260| 3e 74 5f 63 6f 6e 74 65 | 6e 74 73 20 26 20 31 29 |>t_conte|nts & 1)|
|00003270| 0a 09 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |...(void|) printf|
|00003280| 28 22 2c 25 73 22 2c 20 | 63 72 65 67 5b 63 74 72 |(",%s", |creg[ctr|
|00003290| 6c 5d 29 3b 0a 7d 0a 0a | 69 6e 74 09 70 69 6d 65 |l]);.}..|int.pime|
|000032a0| 64 28 74 65 2c 20 70 6f | 73 29 0a 74 5f 65 6e 74 |d(te, po|s).t_ent|
|000032b0| 72 79 09 2a 74 65 3b 0a | 6c 6f 6e 67 09 70 6f 73 |ry.*te;.|long.pos|
|000032c0| 3b 0a 7b 0a 09 69 6e 74 | 09 73 7a 20 3d 20 66 69 |;.{..int|.sz = fi|
|000032d0| 6e 64 6c 65 6e 67 28 74 | 65 2d 3e 74 5f 63 6f 6e |ndleng(t|e->t_con|
|000032e0| 74 65 6e 74 73 29 3b 0a | 09 0a 09 28 76 6f 69 64 |tents);.|...(void|
|000032f0| 29 20 70 72 69 6e 74 66 | 28 22 25 73 25 63 5c 74 |) printf|("%s%c\t|
|00003300| 23 22 2c 20 6f 70 74 61 | 62 5b 74 65 2d 3e 74 5f |#", opta|b[te->t_|
|00003310| 69 69 6e 64 65 78 5d 2e | 70 72 61 72 67 2c 20 73 |iindex].|prarg, s|
|00003320| 7a 29 3b 0a 09 69 66 20 | 20 28 73 7a 20 3d 3d 20 |z);..if | (sz == |
|00003330| 27 6c 27 29 20 20 7b 0a | 09 09 70 61 64 64 72 28 |'l') {.|..paddr(|
|00003340| 70 6f 73 2b 32 29 3b 0a | 09 09 70 75 74 63 68 61 |pos+2);.|..putcha|
|00003350| 72 28 27 2c 27 29 3b 0a | 09 09 28 76 6f 69 64 29 |r(',');.|..(void)|
|00003360| 20 70 72 65 61 28 74 65 | 2d 3e 74 5f 63 6f 6e 74 | prea(te|->t_cont|
|00003370| 65 6e 74 73 2c 20 70 6f | 73 2b 34 2c 20 34 29 3b |ents, po|s+4, 4);|
|00003380| 0a 09 7d 0a 09 65 6c 73 | 65 20 20 7b 0a 09 09 28 |..}..els|e {...(|
|00003390| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 30 78 |void) pr|intf("0x|
|000033a0| 25 78 2c 22 2c 20 67 65 | 74 74 77 28 26 6d 61 69 |%x,", ge|ttw(&mai|
|000033b0| 6e 66 69 6c 65 2c 20 70 | 6f 73 2b 32 2c 20 52 5f |nfile, p|os+2, R_|
|000033c0| 57 4f 52 44 29 29 3b 0a | 09 09 28 76 6f 69 64 29 |WORD));.|..(void)|
|000033d0| 20 70 72 65 61 28 74 65 | 2d 3e 74 5f 63 6f 6e 74 | prea(te|->t_cont|
|000033e0| 65 6e 74 73 2c 20 70 6f | 73 2b 32 2c 20 32 29 3b |ents, po|s+2, 2);|
|000033f0| 0a 09 7d 0a 7d 0a 0a 69 | 6e 74 09 70 6d 6f 76 70 |..}.}..i|nt.pmovp|
|00003400| 28 74 65 2c 20 70 6f 73 | 29 0a 74 5f 65 6e 74 72 |(te, pos|).t_entr|
|00003410| 79 09 2a 74 65 3b 0a 6c | 6f 6e 67 09 70 6f 73 3b |y.*te;.l|ong.pos;|
|00003420| 0a 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 20 74 63 |.{..unsi|gned tc|
|00003430| 20 20 3d 20 20 74 65 2d | 3e 74 5f 63 6f 6e 74 65 | = te-|>t_conte|
|00003440| 6e 74 73 3b 0a 09 6c 6f | 6e 67 09 64 69 73 70 20 |nts;..lo|ng.disp |
|00003450| 20 3d 20 20 67 65 74 74 | 77 28 26 6d 61 69 6e 66 | = gett|w(&mainf|
|00003460| 69 6c 65 2c 20 70 6f 73 | 2b 32 2c 20 52 5f 57 4f |ile, pos|+2, R_WO|
|00003470| 52 44 29 3b 0a 09 69 6e | 74 09 64 72 65 67 20 3d |RD);..in|t.dreg =|
|00003480| 20 74 63 20 3e 3e 20 39 | 3b 0a 09 63 68 61 72 09 | tc >> 9|;..char.|
|00003490| 2a 61 72 20 3d 20 61 72 | 65 67 5b 74 63 20 26 20 |*ar = ar|eg[tc & |
|000034a0| 30 78 37 5d 3b 0a 09 0a | 09 28 76 6f 69 64 29 20 |0x7];...|.(void) |
|000034b0| 70 72 69 6e 74 66 28 22 | 6d 6f 76 65 70 22 29 3b |printf("|movep");|
|000034c0| 0a 09 69 66 20 20 28 74 | 63 20 26 20 28 31 20 3c |..if (t|c & (1 <|
|000034d0| 3c 20 36 29 29 0a 09 09 | 70 75 74 63 68 61 72 28 |< 6))...|putchar(|
|000034e0| 27 6c 27 29 3b 0a 09 65 | 6c 73 65 0a 09 09 70 75 |'l');..e|lse...pu|
|000034f0| 74 63 68 61 72 28 27 77 | 27 29 3b 0a 0a 09 69 66 |tchar('w|');...if|
|00003500| 20 20 28 74 63 20 26 20 | 28 31 20 3c 3c 20 37 29 | (tc & |(1 << 7)|
|00003510| 29 0a 09 09 28 76 6f 69 | 64 29 20 70 72 69 6e 74 |)...(voi|d) print|
|00003520| 66 28 22 5c 74 64 25 64 | 2c 25 73 40 28 30 78 25 |f("\td%d|,%s@(0x%|
|00003530| 78 29 22 2c 20 64 72 65 | 67 2c 20 61 72 2c 20 64 |x)", dre|g, ar, d|
|00003540| 69 73 70 29 3b 0a 09 65 | 6c 73 65 0a 09 09 28 76 |isp);..e|lse...(v|
|00003550| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 5c 74 25 |oid) pri|ntf("\t%|
|00003560| 73 40 28 30 78 25 78 29 | 2c 64 25 64 22 2c 20 61 |s@(0x%x)|,d%d", a|
|00003570| 72 2c 20 64 69 73 70 2c | 20 64 72 65 67 29 3b 0a |r, disp,| dreg);.|
|00003580| 7d 0a 0a 69 6e 74 09 70 | 73 62 69 74 28 74 65 2c |}..int.p|sbit(te,|
|00003590| 20 70 6f 73 29 0a 74 5f | 65 6e 74 72 79 09 2a 74 | pos).t_|entry.*t|
|000035a0| 65 3b 0a 6c 6f 6e 67 09 | 70 6f 73 3b 0a 7b 0a 09 |e;.long.|pos;.{..|
|000035b0| 75 6e 73 69 67 6e 65 64 | 20 20 74 63 20 20 3d 20 |unsigned| tc = |
|000035c0| 20 74 65 2d 3e 74 5f 63 | 6f 6e 74 65 6e 74 73 3b | te->t_c|ontents;|
|000035d0| 0a 09 0a 09 28 76 6f 69 | 64 29 20 70 72 69 6e 74 |....(voi|d) print|
|000035e0| 66 28 22 62 25 73 5c 74 | 23 25 64 2c 22 2c 20 62 |f("b%s\t|#%d,", b|
|000035f0| 69 74 74 79 70 5b 28 74 | 63 20 3e 3e 20 36 29 20 |ittyp[(t|c >> 6) |
|00003600| 26 20 30 78 33 5d 2c 20 | 67 65 74 74 77 28 26 6d |& 0x3], |gettw(&m|
|00003610| 61 69 6e 66 69 6c 65 2c | 20 70 6f 73 2b 32 2c 20 |ainfile,| pos+2, |
|00003620| 52 5f 57 4f 52 44 29 29 | 3b 0a 09 28 76 6f 69 64 |R_WORD))|;..(void|
|00003630| 29 20 70 72 65 61 28 74 | 63 2c 20 70 6f 73 2b 32 |) prea(t|c, pos+2|
|00003640| 2c 20 31 29 3b 0a 7d 0a | 0a 2f 2a 41 52 47 53 55 |, 1);.}.|./*ARGSU|
|00003650| 53 45 44 2a 2f 0a 69 6e | 74 09 70 73 74 6f 70 28 |SED*/.in|t.pstop(|
|00003660| 74 65 2c 20 70 6f 73 29 | 0a 74 5f 65 6e 74 72 79 |te, pos)|.t_entry|
|00003670| 09 2a 74 65 3b 0a 6c 6f | 6e 67 09 70 6f 73 3b 0a |.*te;.lo|ng.pos;.|
|00003680| 7b 0a 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |{..(void|) printf|
|00003690| 28 22 73 74 6f 70 5c 74 | 23 30 78 25 78 22 2c 20 |("stop\t|#0x%x", |
|000036a0| 67 65 74 74 77 28 26 6d | 61 69 6e 66 69 6c 65 2c |gettw(&m|ainfile,|
|000036b0| 20 70 6f 73 2b 32 2c 20 | 52 5f 57 4f 52 44 29 29 | pos+2, |R_WORD))|
|000036c0| 3b 0a 7d 0a 0a 69 6e 74 | 09 70 64 62 69 74 28 74 |;.}..int|.pdbit(t|
|000036d0| 65 2c 20 70 6f 73 29 0a | 74 5f 65 6e 74 72 79 09 |e, pos).|t_entry.|
|000036e0| 2a 74 65 3b 0a 6c 6f 6e | 67 09 70 6f 73 3b 0a 7b |*te;.lon|g.pos;.{|
|000036f0| 0a 09 75 6e 73 69 67 6e | 65 64 20 20 74 63 20 20 |..unsign|ed tc |
|00003700| 3d 20 20 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |= te->t|_content|
|00003710| 73 3b 0a 09 0a 09 28 76 | 6f 69 64 29 20 70 72 69 |s;....(v|oid) pri|
|00003720| 6e 74 66 28 22 62 25 73 | 5c 74 64 25 64 2c 22 2c |ntf("b%s|\td%d,",|
|00003730| 20 62 69 74 74 79 70 5b | 28 74 63 20 3e 3e 20 36 | bittyp[|(tc >> 6|
|00003740| 29 20 26 20 30 78 33 5d | 2c 20 28 74 63 20 3e 3e |) & 0x3]|, (tc >>|
|00003750| 20 39 29 20 26 20 30 78 | 37 29 3b 0a 09 28 76 6f | 9) & 0x|7);..(vo|
|00003760| 69 64 29 20 70 72 65 61 | 28 74 63 2c 20 70 6f 73 |id) prea|(tc, pos|
|00003770| 2c 20 31 29 3b 0a 7d 0a | 0a 69 6e 74 09 70 63 73 |, 1);.}.|.int.pcs|
|00003780| 32 28 74 65 2c 20 70 6f | 73 29 0a 74 5f 65 6e 74 |2(te, po|s).t_ent|
|00003790| 72 79 09 2a 74 65 3b 0a | 6c 6f 6e 67 09 70 6f 73 |ry.*te;.|long.pos|
|000037a0| 3b 0a 7b 0a 09 75 6e 73 | 69 67 6e 65 64 20 20 74 |;.{..uns|igned t|
|000037b0| 63 20 20 3d 20 20 74 65 | 2d 3e 74 5f 63 6f 6e 74 |c = te|->t_cont|
|000037c0| 65 6e 74 73 3b 0a 09 0a | 09 28 76 6f 69 64 29 20 |ents;...|.(void) |
|000037d0| 70 72 69 6e 74 66 28 22 | 6d 6f 76 77 5c 74 22 29 |printf("|movw\t")|
|000037e0| 3b 0a 09 69 66 20 20 28 | 28 74 63 20 26 20 30 78 |;..if (|(tc & 0x|
|000037f0| 66 66 63 30 29 20 3d 3d | 20 30 78 34 30 63 30 29 |ffc0) ==| 0x40c0)|
|00003800| 20 20 7b 0a 09 09 28 76 | 6f 69 64 29 20 70 72 69 | {...(v|oid) pri|
|00003810| 6e 74 66 28 22 73 72 2c | 22 29 3b 0a 09 09 28 76 |ntf("sr,|");...(v|
|00003820| 6f 69 64 29 20 70 72 65 | 61 28 74 63 2c 20 70 6f |oid) pre|a(tc, po|
|00003830| 73 2c 20 32 29 3b 0a 09 | 7d 0a 09 65 6c 73 65 20 |s, 2);..|}..else |
|00003840| 20 7b 0a 09 09 28 76 6f | 69 64 29 20 70 72 65 61 | {...(vo|id) prea|
|00003850| 28 74 63 2c 20 70 6f 73 | 2c 20 32 29 3b 0a 09 09 |(tc, pos|, 2);...|
|00003860| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 2c |(void) p|rintf(",|
|00003870| 25 73 22 2c 20 6f 70 74 | 61 62 5b 74 65 2d 3e 74 |%s", opt|ab[te->t|
|00003880| 5f 69 69 6e 64 65 78 5d | 2e 70 72 61 72 67 29 3b |_iindex]|.prarg);|
|00003890| 0a 09 7d 0a 7d 0a 0a 69 | 6e 74 09 70 6f 6e 65 28 |..}.}..i|nt.pone(|
|000038a0| 74 65 2c 20 70 6f 73 29 | 0a 74 5f 65 6e 74 72 79 |te, pos)|.t_entry|
|000038b0| 09 2a 74 65 3b 0a 6c 6f | 6e 67 09 70 6f 73 3b 0a |.*te;.lo|ng.pos;.|
|000038c0| 7b 0a 09 75 6e 73 69 67 | 6e 65 64 20 20 74 63 20 |{..unsig|ned tc |
|000038d0| 20 3d 20 20 74 65 2d 3e | 74 5f 63 6f 6e 74 65 6e | = te->|t_conten|
|000038e0| 74 73 3b 0a 09 69 6e 74 | 09 73 7a 20 3d 20 66 69 |ts;..int|.sz = fi|
|000038f0| 6e 64 6c 65 6e 67 28 74 | 63 29 3b 0a 09 0a 09 28 |ndleng(t|c);....(|
|00003900| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 25 73 |void) pr|intf("%s|
|00003910| 25 63 5c 74 22 2c 20 6f | 70 74 61 62 5b 74 65 2d |%c\t", o|ptab[te-|
|00003920| 3e 74 5f 69 69 6e 64 65 | 78 5d 2e 70 72 61 72 67 |>t_iinde|x].prarg|
|00003930| 2c 20 73 7a 29 3b 0a 09 | 28 76 6f 69 64 29 20 70 |, sz);..|(void) p|
|00003940| 72 65 61 28 74 63 2c 20 | 70 6f 73 2c 20 28 75 6e |rea(tc, |pos, (un|
|00003950| 73 69 67 6e 65 64 29 28 | 73 7a 20 3d 3d 20 27 6c |signed)(|sz == 'l|
|00003960| 27 3f 20 34 3a 20 32 29 | 29 3b 0a 7d 0a 0a 69 6e |'? 4: 2)|);.}..in|
|00003970| 74 09 70 70 65 61 28 74 | 65 2c 20 70 6f 73 29 09 |t.ppea(t|e, pos).|
|00003980| 2f 2a 20 20 6e 62 63 64 | 2c 20 70 65 61 2c 20 74 |/* nbcd|, pea, t|
|00003990| 61 73 2c 20 6a 6d 70 2c | 20 6a 73 72 20 20 2a 2f |as, jmp,| jsr */|
|000039a0| 0a 74 5f 65 6e 74 72 79 | 09 2a 74 65 3b 0a 6c 6f |.t_entry|.*te;.lo|
|000039b0| 6e 67 09 70 6f 73 3b 0a | 7b 0a 09 28 76 6f 69 64 |ng.pos;.|{..(void|
|000039c0| 29 20 70 72 69 6e 74 66 | 28 22 25 73 5c 74 22 2c |) printf|("%s\t",|
|000039d0| 20 6f 70 74 61 62 5b 74 | 65 2d 3e 74 5f 69 69 6e | optab[t|e->t_iin|
|000039e0| 64 65 78 5d 2e 70 72 61 | 72 67 29 3b 0a 09 28 76 |dex].pra|rg);..(v|
|000039f0| 6f 69 64 29 20 70 72 65 | 61 28 74 65 2d 3e 74 5f |oid) pre|a(te->t_|
|00003a00| 63 6f 6e 74 65 6e 74 73 | 2c 20 70 6f 73 2c 20 28 |contents|, pos, (|
|00003a10| 75 6e 73 69 67 6e 65 64 | 29 28 74 65 2d 3e 74 5f |unsigned|)(te->t_|
|00003a20| 6c 6e 67 20 3e 20 32 3f | 20 34 3a 20 32 29 29 3b |lng > 2?| 4: 2));|
|00003a30| 0a 7d 0a 0a 0a 69 6e 74 | 09 70 6c 65 61 28 74 65 |.}...int|.plea(te|
|00003a40| 2c 20 70 6f 73 29 0a 74 | 5f 65 6e 74 72 79 09 2a |, pos).t|_entry.*|
|00003a50| 74 65 3b 0a 6c 6f 6e 67 | 09 70 6f 73 3b 0a 7b 0a |te;.long|.pos;.{.|
|00003a60| 09 28 76 6f 69 64 29 20 | 70 72 69 6e 74 66 28 22 |.(void) |printf("|
|00003a70| 6c 65 61 5c 74 22 29 3b | 0a 09 28 76 6f 69 64 29 |lea\t");|..(void)|
|00003a80| 20 70 72 65 61 28 74 65 | 2d 3e 74 5f 63 6f 6e 74 | prea(te|->t_cont|
|00003a90| 65 6e 74 73 2c 20 70 6f | 73 2c 20 34 29 3b 0a 09 |ents, po|s, 4);..|
|00003aa0| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 2c |(void) p|rintf(",|
|00003ab0| 25 73 22 2c 20 61 72 65 | 67 5b 28 74 65 2d 3e 74 |%s", are|g[(te->t|
|00003ac0| 5f 63 6f 6e 74 65 6e 74 | 73 20 3e 3e 20 39 29 20 |_content|s >> 9) |
|00003ad0| 26 20 30 78 37 5d 29 3b | 0a 7d 0a 0a 69 6e 74 09 |& 0x7]);|.}..int.|
|00003ae0| 70 64 72 65 67 28 74 65 | 29 0a 74 5f 65 6e 74 72 |pdreg(te|).t_entr|
|00003af0| 79 09 2a 74 65 3b 0a 7b | 0a 09 28 76 6f 69 64 29 |y.*te;.{|..(void)|
|00003b00| 20 70 72 69 6e 74 66 28 | 22 25 73 5c 74 64 25 64 | printf(|"%s\td%d|
|00003b10| 22 2c 20 6f 70 74 61 62 | 5b 74 65 2d 3e 74 5f 69 |", optab|[te->t_i|
|00003b20| 69 6e 64 65 78 5d 2e 70 | 72 61 72 67 2c 20 74 65 |index].p|rarg, te|
|00003b30| 2d 3e 74 5f 63 6f 6e 74 | 65 6e 74 73 20 26 20 37 |->t_cont|ents & 7|
|00003b40| 29 3b 0a 7d 0a 0a 0a 69 | 6e 74 09 70 6d 76 6d 6c |);.}...i|nt.pmvml|
|00003b50| 28 74 65 2c 20 70 6f 73 | 29 0a 74 5f 65 6e 74 72 |(te, pos|).t_entr|
|00003b60| 79 09 2a 74 65 3b 0a 6c | 6f 6e 67 09 70 6f 73 3b |y.*te;.l|ong.pos;|
|00003b70| 0a 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 20 74 63 |.{..unsi|gned tc|
|00003b80| 20 20 3d 20 20 74 65 2d | 3e 74 5f 63 6f 6e 74 65 | = te-|>t_conte|
|00003b90| 6e 74 73 3b 0a 09 72 65 | 67 69 73 74 65 72 20 20 |nts;..re|gister |
|00003ba0| 75 6e 73 69 67 6e 65 64 | 20 20 64 77 20 20 3d 20 |unsigned| dw = |
|00003bb0| 20 67 65 74 74 77 28 26 | 6d 61 69 6e 66 69 6c 65 | gettw(&|mainfile|
|00003bc0| 2c 20 70 6f 73 2b 32 2c | 20 52 5f 57 4f 52 44 29 |, pos+2,| R_WORD)|
|00003bd0| 3b 0a 09 75 6e 73 69 67 | 6e 65 64 20 20 73 7a 20 |;..unsig|ned sz |
|00003be0| 3d 20 34 3b 0a 09 69 6e | 74 09 73 63 20 3d 20 27 |= 4;..in|t.sc = '|
|00003bf0| 6c 27 3b 0a 09 72 65 67 | 69 73 74 65 72 20 20 69 |l';..reg|ister i|
|00003c00| 6e 74 09 69 3b 0a 09 72 | 65 67 69 73 74 65 72 20 |nt.i;..r|egister |
|00003c10| 20 75 6e 73 69 67 6e 65 | 64 20 20 62 69 74 3b 0a | unsigne|d bit;.|
|00003c20| 09 0a 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |...(void|) printf|
|00003c30| 28 22 6d 6f 76 65 6d 22 | 29 3b 0a 09 69 66 20 20 |("movem"|);..if |
|00003c40| 28 28 74 63 20 26 20 30 | 78 34 30 29 20 3d 3d 20 |((tc & 0|x40) == |
|00003c50| 30 29 20 20 7b 0a 09 09 | 73 63 20 3d 20 27 77 27 |0) {...|sc = 'w'|
|00003c60| 3b 0a 09 09 73 7a 20 3d | 20 32 3b 0a 09 7d 0a 09 |;...sz =| 2;..}..|
|00003c70| 0a 09 28 76 6f 69 64 29 | 20 70 72 69 6e 74 66 28 |..(void)| printf(|
|00003c80| 22 25 63 5c 74 22 2c 20 | 73 63 29 3b 0a 09 0a 09 |"%c\t", |sc);....|
|00003c90| 69 66 20 20 28 74 63 20 | 26 20 30 78 34 30 30 29 |if (tc |& 0x400)|
|00003ca0| 20 20 7b 0a 09 09 28 76 | 6f 69 64 29 20 70 72 65 | {...(v|oid) pre|
|00003cb0| 61 28 74 63 2c 20 70 6f | 73 2b 32 2c 20 73 7a 29 |a(tc, po|s+2, sz)|
|00003cc0| 3b 0a 09 09 28 76 6f 69 | 64 29 20 70 72 69 6e 74 |;...(voi|d) print|
|00003cd0| 66 28 22 2c 23 30 78 25 | 78 22 2c 20 64 77 29 3b |f(",#0x%|x", dw);|
|00003ce0| 0a 09 7d 0a 09 65 6c 73 | 65 20 20 7b 0a 09 09 28 |..}..els|e {...(|
|00003cf0| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 23 30 |void) pr|intf("#0|
|00003d00| 78 25 78 2c 22 2c 20 64 | 77 29 3b 0a 09 09 28 76 |x%x,", d|w);...(v|
|00003d10| 6f 69 64 29 20 70 72 65 | 61 28 74 63 2c 20 70 6f |oid) pre|a(tc, po|
|00003d20| 73 2b 32 2c 20 73 7a 29 | 3b 0a 09 7d 0a 09 0a 09 |s+2, sz)|;..}....|
|00003d30| 28 76 6f 69 64 29 20 70 | 72 69 6e 74 66 28 22 5c |(void) p|rintf("\|
|00003d40| 74 7c 22 29 3b 0a 09 0a | 09 69 66 20 20 28 28 74 |t|");...|.if ((t|
|00003d50| 63 20 26 20 30 78 33 38 | 29 20 3d 3d 20 30 78 32 |c & 0x38|) == 0x2|
|00003d60| 30 29 20 20 7b 0a 09 09 | 62 69 74 20 3d 20 30 78 |0) {...|bit = 0x|
|00003d70| 38 30 30 30 3b 0a 09 09 | 66 6f 72 20 20 28 69 20 |8000;...|for (i |
|00003d80| 3d 20 30 3b 20 20 69 20 | 3c 20 38 3b 20 20 69 2b |= 0; i |< 8; i+|
|00003d90| 2b 29 20 20 7b 0a 09 09 | 09 69 66 20 20 28 64 77 |+) {...|.if (dw|
|00003da0| 20 26 20 62 69 74 29 0a | 09 09 09 09 28 76 6f 69 | & bit).|....(voi|
|00003db0| 64 29 20 70 72 69 6e 74 | 66 28 22 20 64 25 64 22 |d) print|f(" d%d"|
|00003dc0| 2c 20 69 29 3b 0a 09 09 | 09 62 69 74 20 3e 3e 3d |, i);...|.bit >>=|
|00003dd0| 20 31 3b 0a 09 09 7d 0a | 09 09 66 6f 72 20 20 28 | 1;...}.|..for (|
|00003de0| 69 20 3d 20 30 3b 20 20 | 69 20 3c 20 38 3b 20 20 |i = 0; |i < 8; |
|00003df0| 69 2b 2b 29 20 20 7b 0a | 09 09 09 69 66 20 20 28 |i++) {.|...if (|
|00003e00| 64 77 20 26 20 62 69 74 | 29 0a 09 09 09 09 28 76 |dw & bit|).....(v|
|00003e10| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 20 25 73 |oid) pri|ntf(" %s|
|00003e20| 22 2c 20 61 72 65 67 5b | 69 5d 29 3b 0a 09 09 09 |", areg[|i]);....|
|00003e30| 62 69 74 20 3e 3e 3d 20 | 31 3b 0a 09 09 7d 0a 09 |bit >>= |1;...}..|
|00003e40| 7d 0a 09 65 6c 73 65 20 | 20 7b 0a 09 09 62 69 74 |}..else | {...bit|
|00003e50| 20 3d 20 31 3b 0a 09 09 | 66 6f 72 20 20 28 69 20 | = 1;...|for (i |
|00003e60| 3d 20 30 3b 20 20 69 20 | 3c 20 38 3b 20 20 69 2b |= 0; i |< 8; i+|
|00003e70| 2b 29 20 20 7b 0a 09 09 | 09 69 66 20 20 28 64 77 |+) {...|.if (dw|
|00003e80| 20 26 20 62 69 74 29 0a | 09 09 09 09 28 76 6f 69 | & bit).|....(voi|
|00003e90| 64 29 20 70 72 69 6e 74 | 66 28 22 20 64 25 64 22 |d) print|f(" d%d"|
|00003ea0| 2c 20 69 29 3b 0a 09 09 | 09 62 69 74 20 3c 3c 3d |, i);...|.bit <<=|
|00003eb0| 20 31 3b 0a 09 09 7d 0a | 09 09 66 6f 72 20 20 28 | 1;...}.|..for (|
|00003ec0| 69 20 3d 20 30 3b 20 20 | 69 20 3c 20 38 3b 20 20 |i = 0; |i < 8; |
|00003ed0| 69 2b 2b 29 20 20 7b 0a | 09 09 09 69 66 20 20 28 |i++) {.|...if (|
|00003ee0| 64 77 20 26 20 62 69 74 | 29 0a 09 09 09 09 28 76 |dw & bit|).....(v|
|00003ef0| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 20 25 73 |oid) pri|ntf(" %s|
|00003f00| 22 2c 20 61 72 65 67 5b | 69 5d 29 3b 0a 09 09 09 |", areg[|i]);....|
|00003f10| 62 69 74 20 3c 3c 3d 20 | 31 3b 0a 09 09 7d 0a 09 |bit <<= |1;...}..|
|00003f20| 7d 0a 7d 0a 0a 69 6e 74 | 09 70 74 72 61 70 28 74 |}.}..int|.ptrap(t|
|00003f30| 65 29 0a 74 5f 65 6e 74 | 72 79 09 2a 74 65 3b 0a |e).t_ent|ry.*te;.|
|00003f40| 7b 0a 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |{..(void|) printf|
|00003f50| 28 22 74 72 61 70 5c 74 | 23 30 78 25 78 22 2c 20 |("trap\t|#0x%x", |
|00003f60| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 20 26 |te->t_co|ntents &|
|00003f70| 20 30 78 66 29 3b 0a 7d | 0a 0a 69 6e 74 09 70 6c | 0xf);.}|..int.pl|
|00003f80| 69 6e 6b 28 74 65 2c 20 | 70 6f 73 29 0a 74 5f 65 |ink(te, |pos).t_e|
|00003f90| 6e 74 72 79 09 2a 74 65 | 3b 0a 6c 6f 6e 67 09 70 |ntry.*te|;.long.p|
|00003fa0| 6f 73 3b 0a 7b 0a 09 28 | 76 6f 69 64 29 20 70 72 |os;.{..(|void) pr|
|00003fb0| 69 6e 74 66 28 22 6c 69 | 6e 6b 5c 74 25 73 2c 23 |intf("li|nk\t%s,#|
|00003fc0| 30 78 25 78 22 2c 20 61 | 72 65 67 5b 74 65 2d 3e |0x%x", a|reg[te->|
|00003fd0| 74 5f 63 6f 6e 74 65 6e | 74 73 20 26 20 30 78 37 |t_conten|ts & 0x7|
|00003fe0| 5d 2c 0a 09 09 09 09 67 | 65 74 74 77 28 26 6d 61 |],.....g|ettw(&ma|
|00003ff0| 69 6e 66 69 6c 65 2c 20 | 70 6f 73 2b 32 2c 20 52 |infile, |pos+2, R|
|00004000| 5f 57 4f 52 44 29 29 3b | 0a 7d 0a 0a 0a 69 6e 74 |_WORD));|.}...int|
|00004010| 09 70 61 72 65 67 28 74 | 65 29 0a 74 5f 65 6e 74 |.pareg(t|e).t_ent|
|00004020| 72 79 09 2a 74 65 3b 0a | 7b 0a 09 28 76 6f 69 64 |ry.*te;.|{..(void|
|00004030| 29 20 70 72 69 6e 74 66 | 28 6f 70 74 61 62 5b 74 |) printf|(optab[t|
|00004040| 65 2d 3e 74 5f 69 69 6e | 64 65 78 5d 2e 70 72 61 |e->t_iin|dex].pra|
|00004050| 72 67 2c 20 61 72 65 67 | 5b 74 65 2d 3e 74 5f 63 |rg, areg|[te->t_c|
|00004060| 6f 6e 74 65 6e 74 73 20 | 26 20 30 78 37 5d 29 3b |ontents |& 0x7]);|
|00004070| 0a 7d 0a 0a 69 6e 74 09 | 70 6f 64 72 65 67 28 74 |.}..int.|podreg(t|
|00004080| 65 2c 20 70 6f 73 29 0a | 74 5f 65 6e 74 72 79 09 |e, pos).|t_entry.|
|00004090| 2a 74 65 3b 0a 6c 6f 6e | 67 09 70 6f 73 3b 0a 7b |*te;.lon|g.pos;.{|
|000040a0| 0a 09 75 6e 73 69 67 6e | 65 64 20 20 74 63 20 20 |..unsign|ed tc |
|000040b0| 3d 20 20 74 65 2d 3e 74 | 5f 63 6f 6e 74 65 6e 74 |= te->t|_content|
|000040c0| 73 3b 0a 09 0a 09 28 76 | 6f 69 64 29 20 70 72 69 |s;....(v|oid) pri|
|000040d0| 6e 74 66 28 22 25 73 5c | 74 22 2c 20 6f 70 74 61 |ntf("%s\|t", opta|
|000040e0| 62 5b 74 65 2d 3e 74 5f | 69 69 6e 64 65 78 5d 2e |b[te->t_|iindex].|
|000040f0| 70 72 61 72 67 29 3b 0a | 09 28 76 6f 69 64 29 20 |prarg);.|.(void) |
|00004100| 70 72 65 61 28 74 63 2c | 20 70 6f 73 2c 20 32 29 |prea(tc,| pos, 2)|
|00004110| 3b 0a 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |;..(void|) printf|
|00004120| 28 22 2c 64 25 64 22 2c | 20 28 74 63 20 3e 3e 20 |(",d%d",| (tc >> |
|00004130| 39 29 20 26 20 30 78 37 | 29 3b 0a 7d 0a 0a 69 6e |9) & 0x7|);.}..in|
|00004140| 74 09 70 71 75 28 74 65 | 2c 20 70 6f 73 29 0a 74 |t.pqu(te|, pos).t|
|00004150| 5f 65 6e 74 72 79 09 2a | 74 65 3b 0a 6c 6f 6e 67 |_entry.*|te;.long|
|00004160| 09 70 6f 73 3b 0a 7b 0a | 09 75 6e 73 69 67 6e 65 |.pos;.{.|.unsigne|
|00004170| 64 20 20 74 63 20 20 3d | 20 20 74 65 2d 3e 74 5f |d tc =| te->t_|
|00004180| 63 6f 6e 74 65 6e 74 73 | 3b 0a 09 69 6e 74 09 73 |contents|;..int.s|
|00004190| 7a 20 20 3d 20 20 66 69 | 6e 64 6c 65 6e 67 28 74 |z = fi|ndleng(t|
|000041a0| 63 29 3b 0a 09 69 6e 74 | 09 61 6d 74 20 3d 20 28 |c);..int|.amt = (|
|000041b0| 74 63 20 3e 3e 20 39 29 | 20 26 20 30 78 37 3b 0a |tc >> 9)| & 0x7;.|
|000041c0| 09 0a 09 69 66 20 20 28 | 61 6d 74 20 3d 3d 20 30 |...if (|amt == 0|
|000041d0| 29 0a 09 09 61 6d 74 20 | 3d 20 38 3b 0a 09 28 76 |)...amt |= 8;..(v|
|000041e0| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 25 73 71 |oid) pri|ntf("%sq|
|000041f0| 25 63 5c 74 23 25 64 2c | 22 2c 20 6f 70 74 61 62 |%c\t#%d,|", optab|
|00004200| 5b 74 65 2d 3e 74 5f 69 | 69 6e 64 65 78 5d 2e 70 |[te->t_i|index].p|
|00004210| 72 61 72 67 2c 20 73 7a | 2c 20 61 6d 74 29 3b 0a |rarg, sz|, amt);.|
|00004220| 09 28 76 6f 69 64 29 20 | 70 72 65 61 28 74 63 2c |.(void) |prea(tc,|
|00004230| 20 70 6f 73 2c 20 28 75 | 6e 73 69 67 6e 65 64 29 | pos, (u|nsigned)|
|00004240| 28 73 7a 20 3d 3d 20 27 | 6c 27 3f 20 34 3a 20 32 |(sz == '|l'? 4: 2|
|00004250| 29 29 3b 0a 7d 0a 0a 69 | 6e 74 09 70 6d 71 75 28 |));.}..i|nt.pmqu(|
|00004260| 74 65 29 0a 74 5f 65 6e | 74 72 79 09 2a 74 65 3b |te).t_en|try.*te;|
|00004270| 0a 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 20 74 63 |.{..unsi|gned tc|
|00004280| 20 20 3d 20 20 74 65 2d | 3e 74 5f 63 6f 6e 74 65 | = te-|>t_conte|
|00004290| 6e 74 73 3b 0a 0a 09 28 | 76 6f 69 64 29 20 70 72 |nts;...(|void) pr|
|000042a0| 69 6e 74 66 28 22 6d 6f | 76 65 71 5c 74 23 30 78 |intf("mo|veq\t#0x|
|000042b0| 25 78 2c 64 25 64 22 2c | 20 28 63 68 61 72 29 74 |%x,d%d",| (char)t|
|000042c0| 63 2c 20 28 74 63 20 3e | 3e 20 39 29 20 26 20 30 |c, (tc >|> 9) & 0|
|000042d0| 78 37 29 3b 0a 7d 0a 0a | 69 6e 74 09 70 74 72 65 |x7);.}..|int.ptre|
|000042e0| 67 28 74 65 29 0a 74 5f | 65 6e 74 72 79 09 2a 74 |g(te).t_|entry.*t|
|000042f0| 65 3b 0a 7b 0a 09 72 65 | 67 69 73 74 65 72 20 20 |e;.{..re|gister |
|00004300| 75 6e 73 69 67 6e 65 64 | 20 20 74 63 20 20 3d 20 |unsigned| tc = |
|00004310| 20 74 65 2d 3e 74 5f 63 | 6f 6e 74 65 6e 74 73 3b | te->t_c|ontents;|
|00004320| 0a 09 69 6e 74 09 72 78 | 20 3d 20 28 74 63 20 3e |..int.rx| = (tc >|
|00004330| 3e 20 39 29 20 26 20 30 | 78 37 3b 0a 09 69 6e 74 |> 9) & 0|x7;..int|
|00004340| 09 72 79 20 3d 20 74 63 | 20 26 20 30 78 37 3b 0a |.ry = tc| & 0x7;.|
|00004350| 0a 09 28 76 6f 69 64 29 | 20 70 72 69 6e 74 66 28 |..(void)| printf(|
|00004360| 22 25 73 5c 74 22 2c 20 | 6f 70 74 61 62 5b 74 65 |"%s\t", |optab[te|
|00004370| 2d 3e 74 5f 69 69 6e 64 | 65 78 5d 2e 70 72 61 72 |->t_iind|ex].prar|
|00004380| 67 29 3b 0a 09 69 66 20 | 20 28 74 63 20 26 20 30 |g);..if | (tc & 0|
|00004390| 78 38 29 0a 09 09 28 76 | 6f 69 64 29 20 70 72 69 |x8)...(v|oid) pri|
|000043a0| 6e 74 66 28 22 25 73 40 | 2d 2c 25 73 40 2d 22 2c |ntf("%s@|-,%s@-",|
|000043b0| 20 61 72 65 67 5b 72 79 | 5d 2c 20 61 72 65 67 5b | areg[ry|], areg[|
|000043c0| 72 78 5d 29 3b 0a 09 65 | 6c 73 65 0a 09 09 28 76 |rx]);..e|lse...(v|
|000043d0| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 64 25 64 |oid) pri|ntf("d%d|
|000043e0| 2c 64 25 64 22 2c 20 72 | 79 2c 20 72 78 29 3b 0a |,d%d", r|y, rx);.|
|000043f0| 7d 0a 0a 69 6e 74 09 70 | 63 6d 70 6d 28 74 65 29 |}..int.p|cmpm(te)|
|00004400| 0a 74 5f 65 6e 74 72 79 | 09 2a 74 65 3b 0a 7b 0a |.t_entry|.*te;.{.|
|00004410| 09 72 65 67 69 73 74 65 | 72 20 20 75 6e 73 69 67 |.registe|r unsig|
|00004420| 6e 65 64 20 20 74 63 20 | 20 3d 20 20 74 65 2d 3e |ned tc | = te->|
|00004430| 74 5f 63 6f 6e 74 65 6e | 74 73 3b 0a 0a 09 28 76 |t_conten|ts;...(v|
|00004440| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 25 73 5c |oid) pri|ntf("%s\|
|00004450| 74 25 73 40 2b 2c 25 73 | 40 2b 22 2c 20 6f 70 74 |t%s@+,%s|@+", opt|
|00004460| 61 62 5b 74 65 2d 3e 74 | 5f 69 69 6e 64 65 78 5d |ab[te->t|_iindex]|
|00004470| 2e 70 72 61 72 67 2c 0a | 09 09 61 72 65 67 5b 74 |.prarg,.|..areg[t|
|00004480| 63 20 26 20 37 5d 2c 20 | 61 72 65 67 5b 28 74 63 |c & 7], |areg[(tc|
|00004490| 20 3e 3e 20 39 29 20 26 | 20 37 5d 29 3b 0a 7d 0a | >> 9) &| 7]);.}.|
|000044a0| 0a 69 6e 74 09 70 6f 6d | 6f 64 65 28 74 65 2c 20 |.int.pom|ode(te, |
|000044b0| 70 6f 73 29 0a 74 5f 65 | 6e 74 72 79 09 2a 74 65 |pos).t_e|ntry.*te|
|000044c0| 3b 0a 6c 6f 6e 67 09 70 | 6f 73 3b 0a 7b 0a 09 75 |;.long.p|os;.{..u|
|000044d0| 6e 73 69 67 6e 65 64 20 | 20 74 63 20 20 3d 20 20 |nsigned | tc = |
|000044e0| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 3b 0a |te->t_co|ntents;.|
|000044f0| 09 63 68 61 72 09 62 65 | 66 5b 34 5d 2c 20 61 66 |.char.be|f[4], af|
|00004500| 74 5b 34 5d 3b 0a 09 69 | 6e 74 09 73 7a 3b 0a 09 |t[4];..i|nt.sz;..|
|00004510| 69 6e 74 09 72 65 67 20 | 3d 20 28 74 63 20 3e 3e |int.reg |= (tc >>|
|00004520| 20 39 29 20 26 20 37 3b | 0a 0a 09 62 65 66 5b 30 | 9) & 7;|...bef[0|
|00004530| 5d 20 3d 20 61 66 74 5b | 30 5d 20 3d 20 27 5c 30 |] = aft[|0] = '\0|
|00004540| 27 3b 0a 09 0a 09 73 77 | 69 74 63 68 20 20 28 28 |';....sw|itch ((|
|00004550| 74 63 20 3e 3e 20 36 29 | 20 26 20 37 29 20 20 7b |tc >> 6)| & 7) {|
|00004560| 0a 09 63 61 73 65 20 20 | 30 3a 0a 09 09 73 7a 20 |..case |0:...sz |
|00004570| 3d 20 27 62 27 3b 0a 09 | 09 67 6f 74 6f 20 20 74 |= 'b';..|.goto t|
|00004580| 6f 72 65 67 3b 0a 09 63 | 61 73 65 20 20 31 3a 0a |oreg;..c|ase 1:.|
|00004590| 09 09 73 7a 20 3d 20 27 | 77 27 3b 0a 09 09 67 6f |..sz = '|w';...go|
|000045a0| 74 6f 20 20 74 6f 72 65 | 67 3b 0a 09 63 61 73 65 |to tore|g;..case|
|000045b0| 20 20 32 3a 0a 09 09 73 | 7a 20 3d 20 27 6c 27 3b | 2:...s|z = 'l';|
|000045c0| 0a 09 74 6f 72 65 67 3a | 0a 09 09 28 76 6f 69 64 |..toreg:|...(void|
|000045d0| 29 20 73 70 72 69 6e 74 | 66 28 61 66 74 2c 20 22 |) sprint|f(aft, "|
|000045e0| 2c 64 25 64 22 2c 20 72 | 65 67 29 3b 0a 09 09 62 |,d%d", r|eg);...b|
|000045f0| 72 65 61 6b 3b 0a 09 63 | 61 73 65 20 20 33 3a 0a |reak;..c|ase 3:.|
|00004600| 09 09 73 7a 20 3d 20 27 | 77 27 3b 0a 09 09 67 6f |..sz = '|w';...go|
|00004610| 74 6f 20 20 74 6f 61 72 | 65 67 3b 0a 09 63 61 73 |to toar|eg;..cas|
|00004620| 65 20 20 37 3a 0a 09 09 | 73 7a 20 3d 20 27 6c 27 |e 7:...|sz = 'l'|
|00004630| 3b 0a 09 74 6f 61 72 65 | 67 3a 0a 09 09 28 76 6f |;..toare|g:...(vo|
|00004640| 69 64 29 20 73 70 72 69 | 6e 74 66 28 61 66 74 2c |id) spri|ntf(aft,|
|00004650| 20 22 2c 25 73 22 2c 20 | 61 72 65 67 5b 72 65 67 | ",%s", |areg[reg|
|00004660| 5d 29 3b 0a 09 09 62 72 | 65 61 6b 3b 0a 09 63 61 |]);...br|eak;..ca|
|00004670| 73 65 20 20 34 3a 0a 09 | 09 73 7a 20 3d 20 27 62 |se 4:..|.sz = 'b|
|00004680| 27 3b 0a 09 09 67 6f 74 | 6f 20 20 66 72 72 65 67 |';...got|o frreg|
|00004690| 3b 0a 09 63 61 73 65 20 | 20 35 3a 0a 09 09 73 7a |;..case | 5:...sz|
|000046a0| 20 3d 20 27 77 27 3b 0a | 09 09 67 6f 74 6f 20 20 | = 'w';.|..goto |
|000046b0| 66 72 72 65 67 3b 0a 09 | 63 61 73 65 20 20 36 3a |frreg;..|case 6:|
|000046c0| 0a 09 09 73 7a 20 3d 20 | 27 6c 27 3b 0a 09 66 72 |...sz = |'l';..fr|
|000046d0| 72 65 67 3a 0a 09 09 28 | 76 6f 69 64 29 20 73 70 |reg:...(|void) sp|
|000046e0| 72 69 6e 74 66 28 62 65 | 66 2c 20 22 64 25 64 2c |rintf(be|f, "d%d,|
|000046f0| 22 2c 20 72 65 67 29 3b | 0a 09 09 62 72 65 61 6b |", reg);|...break|
|00004700| 3b 0a 09 7d 0a 0a 09 28 | 76 6f 69 64 29 20 70 72 |;..}...(|void) pr|
|00004710| 69 6e 74 66 28 22 25 73 | 25 63 5c 74 25 73 22 2c |intf("%s|%c\t%s",|
|00004720| 20 6f 70 74 61 62 5b 74 | 65 2d 3e 74 5f 69 69 6e | optab[t|e->t_iin|
|00004730| 64 65 78 5d 2e 70 72 61 | 72 67 2c 20 73 7a 2c 20 |dex].pra|rg, sz, |
|00004740| 62 65 66 29 3b 0a 09 28 | 76 6f 69 64 29 20 70 72 |bef);..(|void) pr|
|00004750| 65 61 28 74 63 2c 20 70 | 6f 73 2c 20 28 75 6e 73 |ea(tc, p|os, (uns|
|00004760| 69 67 6e 65 64 29 28 73 | 7a 20 3d 3d 20 27 6c 27 |igned)(s|z == 'l'|
|00004770| 3f 20 34 3a 20 32 29 29 | 3b 0a 09 28 76 6f 69 64 |? 4: 2))|;..(void|
|00004780| 29 20 70 72 69 6e 74 66 | 28 61 66 74 29 3b 0a 7d |) printf|(aft);.}|
|00004790| 0a 0a 69 6e 74 09 70 65 | 78 67 28 74 65 29 0a 74 |..int.pe|xg(te).t|
|000047a0| 5f 65 6e 74 72 79 09 2a | 74 65 3b 0a 7b 0a 09 75 |_entry.*|te;.{..u|
|000047b0| 6e 73 69 67 6e 65 64 20 | 20 74 63 20 20 3d 20 20 |nsigned | tc = |
|000047c0| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 3b 0a |te->t_co|ntents;.|
|000047d0| 09 69 6e 74 09 72 31 20 | 3d 20 28 74 63 20 3e 3e |.int.r1 |= (tc >>|
|000047e0| 20 39 29 20 26 20 37 2c | 20 72 32 20 3d 20 74 63 | 9) & 7,| r2 = tc|
|000047f0| 20 26 20 37 3b 0a 0a 09 | 28 76 6f 69 64 29 20 70 | & 7;...|(void) p|
|00004800| 72 69 6e 74 66 28 22 65 | 78 67 5c 74 22 29 3b 0a |rintf("e|xg\t");.|
|00004810| 09 0a 09 69 66 20 20 28 | 28 74 63 20 26 20 30 78 |...if (|(tc & 0x|
|00004820| 30 30 66 38 29 20 3d 3d | 20 30 78 30 30 34 38 29 |00f8) ==| 0x0048)|
|00004830| 0a 09 09 28 76 6f 69 64 | 29 20 70 72 69 6e 74 66 |...(void|) printf|
|00004840| 28 22 25 73 2c 22 2c 20 | 61 72 65 67 5b 72 31 5d |("%s,", |areg[r1]|
|00004850| 29 3b 0a 09 65 6c 73 65 | 0a 09 09 28 76 6f 69 64 |);..else|...(void|
|00004860| 29 20 70 72 69 6e 74 66 | 28 22 64 25 64 2c 22 2c |) printf|("d%d,",|
|00004870| 20 72 31 29 3b 0a 09 69 | 66 20 20 28 74 63 20 26 | r1);..i|f (tc &|
|00004880| 20 30 78 38 29 0a 09 09 | 28 76 6f 69 64 29 20 70 | 0x8)...|(void) p|
|00004890| 72 69 6e 74 66 28 22 25 | 73 22 2c 20 61 72 65 67 |rintf("%|s", areg|
|000048a0| 5b 72 32 5d 29 3b 0a 09 | 65 6c 73 65 0a 09 09 28 |[r2]);..|else...(|
|000048b0| 76 6f 69 64 29 20 70 72 | 69 6e 74 66 28 22 64 25 |void) pr|intf("d%|
|000048c0| 64 22 2c 20 72 32 29 3b | 0a 7d 0a 09 0a 69 6e 74 |d", r2);|.}...int|
|000048d0| 09 70 6d 73 68 66 28 74 | 65 2c 20 70 6f 73 29 0a |.pmshf(t|e, pos).|
|000048e0| 74 5f 65 6e 74 72 79 09 | 2a 74 65 3b 0a 6c 6f 6e |t_entry.|*te;.lon|
|000048f0| 67 09 70 6f 73 3b 0a 7b | 0a 09 75 6e 73 69 67 6e |g.pos;.{|..unsign|
|00004900| 65 64 20 20 74 63 20 20 | 3d 20 20 74 65 2d 3e 74 |ed tc |= te->t|
|00004910| 5f 63 6f 6e 74 65 6e 74 | 73 3b 0a 09 0a 09 28 76 |_content|s;....(v|
|00004920| 6f 69 64 29 20 70 72 69 | 6e 74 66 28 22 25 73 25 |oid) pri|ntf("%s%|
|00004930| 63 77 5c 74 22 2c 20 73 | 68 74 79 70 65 5b 28 74 |cw\t", s|htype[(t|
|00004940| 63 20 3e 3e 20 39 29 20 | 26 20 33 5d 2c 20 74 63 |c >> 9) |& 3], tc|
|00004950| 20 26 20 30 78 31 30 30 | 3f 20 27 6c 27 3a 20 27 | & 0x100|? 'l': '|
|00004960| 72 27 29 3b 0a 09 28 76 | 6f 69 64 29 20 70 72 65 |r');..(v|oid) pre|
|00004970| 61 28 74 63 2c 20 70 6f | 73 2c 20 32 29 3b 0a 7d |a(tc, po|s, 2);.}|
|00004980| 0a 0a 69 6e 74 09 70 73 | 68 66 28 74 65 29 0a 74 |..int.ps|hf(te).t|
|00004990| 5f 65 6e 74 72 79 09 2a | 74 65 3b 0a 7b 0a 09 75 |_entry.*|te;.{..u|
|000049a0| 6e 73 69 67 6e 65 64 20 | 20 74 63 20 20 3d 20 20 |nsigned | tc = |
|000049b0| 74 65 2d 3e 74 5f 63 6f | 6e 74 65 6e 74 73 3b 0a |te->t_co|ntents;.|
|000049c0| 09 69 6e 74 09 73 7a 20 | 20 3d 20 20 66 69 6e 64 |.int.sz | = find|
|000049d0| 6c 65 6e 67 28 74 63 29 | 3b 0a 09 69 6e 74 09 64 |leng(tc)|;..int.d|
|000049e0| 69 73 70 20 3d 20 28 74 | 63 20 3e 3e 20 39 29 20 |isp = (t|c >> 9) |
|000049f0| 26 20 37 3b 0a 0a 09 28 | 76 6f 69 64 29 20 70 72 |& 7;...(|void) pr|
|00004a00| 69 6e 74 66 28 22 25 73 | 25 63 25 63 5c 74 22 2c |intf("%s|%c%c\t",|
|00004a10| 20 73 68 74 79 70 65 5b | 28 74 63 20 3e 3e 20 33 | shtype[|(tc >> 3|
|00004a20| 29 20 26 20 33 5d 2c 20 | 74 63 20 26 20 30 78 31 |) & 3], |tc & 0x1|
|00004a30| 30 30 3f 20 27 6c 27 3a | 20 27 72 27 2c 20 73 7a |00? 'l':| 'r', sz|
|00004a40| 29 3b 0a 09 69 66 20 20 | 28 74 63 20 26 20 30 78 |);..if |(tc & 0x|
|00004a50| 32 30 29 0a 09 09 28 76 | 6f 69 64 29 20 70 72 69 |20)...(v|oid) pri|
|00004a60| 6e 74 66 28 22 64 25 64 | 22 2c 20 64 69 73 70 29 |ntf("d%d|", disp)|
|00004a70| 3b 0a 09 65 6c 73 65 0a | 09 09 28 76 6f 69 64 29 |;..else.|..(void)|
|00004a80| 20 70 72 69 6e 74 66 28 | 22 23 25 64 22 2c 20 64 | printf(|"#%d", d|
|00004a90| 69 73 70 20 3d 3d 20 30 | 3f 20 38 3a 20 64 69 73 |isp == 0|? 8: dis|
|00004aa0| 70 29 3b 0a 09 28 76 6f | 69 64 29 20 70 72 69 6e |p);..(vo|id) prin|
|00004ab0| 74 66 28 22 2c 64 25 64 | 22 2c 20 74 63 20 26 20 |tf(",d%d|", tc & |
|00004ac0| 37 29 3b 0a 7d 0a 0a 2f | 2a 0a 20 2a 09 46 69 6e |7);.}../|*. *.Fin|
|00004ad0| 64 20 6c 65 6e 67 74 68 | 20 65 74 63 20 6f 66 20 |d length| etc of |
|00004ae0| 69 6e 73 74 72 75 63 74 | 69 6f 6e 2e 0a 20 2a 2f |instruct|ion.. */|
|00004af0| 0a 0a 69 6e 74 09 66 69 | 6e 64 69 6e 73 74 28 74 |..int.fi|ndinst(t|
|00004b00| 65 2c 20 70 6f 73 29 0a | 72 65 67 69 73 74 65 72 |e, pos).|register|
|00004b10| 20 20 74 5f 65 6e 74 72 | 79 20 20 2a 74 65 3b 0a | t_entr|y *te;.|
|00004b20| 6c 6f 6e 67 09 70 6f 73 | 3b 0a 7b 0a 09 72 65 67 |long.pos|;.{..reg|
|00004b30| 69 73 74 65 72 20 20 73 | 74 72 75 63 74 20 20 6f |ister s|truct o|
|00004b40| 70 73 74 72 09 2a 6f 70 | 3b 0a 09 75 6e 73 69 67 |pstr.*op|;..unsig|
|00004b50| 6e 65 64 20 20 74 63 20 | 20 3d 20 20 74 65 2d 3e |ned tc | = te->|
|00004b60| 74 5f 63 6f 6e 74 65 6e | 74 73 3b 0a 09 69 6e 74 |t_conten|ts;..int|
|00004b70| 09 6c 6e 67 20 3d 20 30 | 3b 0a 09 72 65 67 69 73 |.lng = 0|;..regis|
|00004b80| 74 65 72 20 20 69 6e 74 | 09 69 3b 0a 0a 09 74 65 |ter int|.i;...te|
|00004b90| 2d 3e 74 5f 74 79 70 65 | 20 3d 20 54 5f 42 45 47 |->t_type| = T_BEG|
|00004ba0| 49 4e 3b 0a 09 74 65 2d | 3e 74 5f 62 63 68 74 79 |IN;..te-|>t_bchty|
|00004bb0| 70 20 3d 20 54 5f 4e 4f | 42 52 3b 0a 09 0a 09 66 |p = T_NO|BR;....f|
|00004bc0| 6f 72 20 20 28 6f 70 20 | 3d 20 26 6f 70 74 61 62 |or (op |= &optab|
|00004bd0| 5b 30 5d 3b 20 20 6f 70 | 2d 3e 6d 61 73 6b 3b 20 |[0]; op|->mask; |
|00004be0| 20 6f 70 2b 2b 29 20 20 | 7b 0a 09 09 69 66 20 20 | op++) |{...if |
|00004bf0| 28 28 74 63 20 26 20 6f | 70 2d 3e 6d 61 73 6b 29 |((tc & o|p->mask)|
|00004c00| 20 3d 3d 20 6f 70 2d 3e | 6d 61 74 63 68 29 20 20 | == op->|match) |
|00004c10| 7b 0a 09 09 09 74 65 2d | 3e 74 5f 69 69 6e 64 65 |{....te-|>t_iinde|
|00004c20| 78 20 3d 20 6f 70 20 2d | 20 6f 70 74 61 62 3b 0a |x = op -| optab;.|
|00004c30| 09 09 09 6c 6e 67 20 3d | 20 28 6f 70 2d 3e 6f 70 |...lng =| (op->op|
|00004c40| 73 69 7a 65 29 28 74 65 | 2c 20 70 6f 73 29 3b 0a |size)(te|, pos);.|
|00004c50| 09 09 09 62 72 65 61 6b | 3b 0a 09 09 7d 0a 09 7d |...break|;...}..}|
|00004c60| 0a 0a 09 66 6f 72 20 20 | 28 69 20 3d 20 31 3b 20 |...for |(i = 1; |
|00004c70| 20 69 20 3c 20 6c 6e 67 | 3b 20 20 69 2b 2b 29 20 | i < lng|; i++) |
|00004c80| 20 7b 0a 09 09 74 5f 65 | 6e 74 72 79 09 63 74 65 | {...t_e|ntry.cte|
|00004c90| 6e 74 3b 0a 09 09 6c 6f | 6e 67 09 6e 70 6f 73 20 |nt;...lo|ng.npos |
|00004ca0| 3d 20 70 6f 73 2b 69 2b | 69 3b 0a 09 09 0a 09 09 |= pos+i+|i;......|
|00004cb0| 69 66 20 20 28 6e 70 6f | 73 20 3e 3d 20 65 6e 64 |if (npo|s >= end|
|00004cc0| 74 29 0a 09 09 09 67 6f | 74 6f 20 20 63 6c 65 61 |t)....go|to clea|
|00004cd0| 72 65 6d 3b 0a 09 09 67 | 65 74 74 65 28 26 6d 61 |rem;...g|ette(&ma|
|00004ce0| 69 6e 66 69 6c 65 2c 20 | 6e 70 6f 73 2c 20 26 63 |infile, |npos, &c|
|00004cf0| 74 65 6e 74 29 3b 0a 09 | 09 69 66 20 20 28 63 74 |tent);..|.if (ct|
|00004d00| 65 6e 74 2e 74 5f 62 64 | 65 73 74 20 7c 7c 20 63 |ent.t_bd|est || c|
|00004d10| 74 65 6e 74 2e 74 5f 64 | 72 65 66 29 20 20 7b 0a |tent.t_d|ref) {.|
|00004d20| 63 6c 65 61 72 65 6d 3a | 09 09 66 6f 72 20 20 28 |clearem:|..for (|
|00004d30| 69 2d 2d 3b 20 69 20 3e | 20 30 3b 20 69 2d 2d 29 |i--; i >| 0; i--)|
|00004d40| 20 20 7b 0a 09 09 09 09 | 6e 70 6f 73 20 3d 20 70 | {.....|npos = p|
|00004d50| 6f 73 20 2b 20 69 20 2b | 20 69 3b 0a 09 09 09 09 |os + i +| i;.....|
|00004d60| 67 65 74 74 65 28 26 6d | 61 69 6e 66 69 6c 65 2c |gette(&m|ainfile,|
|00004d70| 20 6e 70 6f 73 2c 20 26 | 63 74 65 6e 74 29 3b 0a | npos, &|ctent);.|
|00004d80| 09 09 09 09 63 74 65 6e | 74 2e 74 5f 74 79 70 65 |....cten|t.t_type|
|00004d90| 20 3d 20 54 5f 55 4e 4b | 4e 4f 57 4e 3b 0a 09 09 | = T_UNK|NOWN;...|
|00004da0| 09 09 70 75 74 74 65 28 | 26 6d 61 69 6e 66 69 6c |..putte(|&mainfil|
|00004db0| 65 2c 20 6e 70 6f 73 2c | 20 26 63 74 65 6e 74 29 |e, npos,| &ctent)|
|00004dc0| 3b 0a 09 09 09 7d 0a 09 | 09 09 6c 6e 67 20 3d 20 |;....}..|..lng = |
|00004dd0| 30 3b 0a 09 09 09 67 6f | 74 6f 20 20 67 69 6e 76 |0;....go|to ginv|
|00004de0| 3b 0a 09 09 7d 0a 09 09 | 63 74 65 6e 74 2e 74 5f |;...}...|ctent.t_|
|00004df0| 74 79 70 65 20 3d 20 54 | 5f 43 4f 4e 54 3b 0a 09 |type = T|_CONT;..|
|00004e00| 09 70 75 74 74 65 28 26 | 6d 61 69 6e 66 69 6c 65 |.putte(&|mainfile|
|00004e10| 2c 20 6e 70 6f 73 2c 20 | 26 63 74 65 6e 74 29 3b |, npos, |&ctent);|
|00004e20| 0a 09 7d 0a 09 0a 09 69 | 66 20 20 28 6c 6e 67 20 |..}....i|f (lng |
|00004e30| 3c 3d 20 30 29 20 20 7b | 0a 67 69 6e 76 3a 09 09 |<= 0) {|.ginv:..|
|00004e40| 74 65 2d 3e 74 5f 76 69 | 6e 73 20 3d 20 30 3b 0a |te->t_vi|ns = 0;.|
|00004e50| 09 09 74 65 2d 3e 74 5f | 6c 6e 67 20 3d 20 31 3b |..te->t_|lng = 1;|
|00004e60| 0a 09 09 74 65 2d 3e 74 | 5f 74 79 70 65 20 3d 20 |...te->t|_type = |
|00004e70| 54 5f 55 4e 4b 4e 4f 57 | 4e 3b 0a 09 09 74 65 2d |T_UNKNOW|N;...te-|
|00004e80| 3e 74 5f 62 63 68 74 79 | 70 65 20 3d 20 54 5f 4e |>t_bchty|pe = T_N|
|00004e90| 4f 42 52 3b 0a 09 7d 0a | 09 65 6c 73 65 0a 09 09 |OBR;..}.|.else...|
|00004ea0| 74 65 2d 3e 74 5f 6c 6e | 67 20 3d 20 6c 6e 67 3b |te->t_ln|g = lng;|
|00004eb0| 0a 09 72 65 74 75 72 6e | 09 6c 6e 67 3b 0a 7d 0a |..return|.lng;.}.|
|00004ec0| 0a 2f 2a 0a 20 2a 09 50 | 72 69 6e 74 20 69 6e 73 |./*. *.P|rint ins|
|00004ed0| 74 72 75 63 74 69 6f 6e | 2e 0a 20 2a 2f 0a 0a 76 |truction|.. */..v|
|00004ee0| 6f 69 64 09 70 72 69 6e | 73 74 28 74 65 2c 20 70 |oid.prin|st(te, p|
|00004ef0| 6f 73 29 0a 74 5f 65 6e | 74 72 79 09 2a 74 65 3b |os).t_en|try.*te;|
|00004f00| 0a 6c 6f 6e 67 09 70 6f | 73 3b 0a 7b 0a 09 70 75 |.long.po|s;.{..pu|
|00004f10| 74 63 68 61 72 28 27 5c | 74 27 29 3b 0a 09 28 6f |tchar('\|t');..(o|
|00004f20| 70 74 61 62 5b 74 65 2d | 3e 74 5f 69 69 6e 64 65 |ptab[te-|>t_iinde|
|00004f30| 78 5d 2e 6f 70 70 72 69 | 6e 29 28 74 65 2c 20 70 |x].oppri|n)(te, p|
|00004f40| 6f 73 29 3b 0a 09 70 75 | 74 63 68 61 72 28 27 5c |os);..pu|tchar('\|
|00004f50| 6e 27 29 3b 0a 7d 0a 53 | 48 41 52 5f 45 4f 46 0a |n');.}.S|HAR_EOF.|
|00004f60| 69 66 20 74 65 73 74 20 | 31 39 35 34 31 20 2d 6e |if test |19541 -n|
|00004f70| 65 20 22 60 77 63 20 2d | 63 20 3c 20 27 69 73 65 |e "`wc -|c < 'ise|
|00004f80| 74 2e 63 27 60 22 0a 74 | 68 65 6e 0a 09 65 63 68 |t.c'`".t|hen..ech|
|00004f90| 6f 20 73 68 61 72 3a 20 | 65 72 72 6f 72 20 74 72 |o shar: |error tr|
|00004fa0| 61 6e 73 6d 69 74 74 69 | 6e 67 20 22 27 69 73 65 |ansmitti|ng "'ise|
|00004fb0| 74 2e 63 27 22 20 27 28 | 73 68 6f 75 6c 64 20 68 |t.c'" '(|should h|
|00004fc0| 61 76 65 20 62 65 65 6e | 20 31 39 35 34 31 20 63 |ave been| 19541 c|
|00004fd0| 68 61 72 61 63 74 65 72 | 73 29 27 0a 66 69 0a 66 |haracter|s)'.fi.f|
|00004fe0| 69 0a 65 63 68 6f 20 73 | 68 61 72 3a 20 65 78 74 |i.echo s|har: ext|
|00004ff0| 72 61 63 74 69 6e 67 20 | 22 27 6c 69 62 6d 74 63 |racting |"'libmtc|
|00005000| 68 2e 63 27 22 20 27 28 | 37 32 34 32 20 63 68 61 |h.c'" '(|7242 cha|
|00005010| 72 61 63 74 65 72 73 29 | 27 0a 69 66 20 74 65 73 |racters)|'.if tes|
|00005020| 74 20 2d 66 20 27 6c 69 | 62 6d 74 63 68 2e 63 27 |t -f 'li|bmtch.c'|
|00005030| 0a 74 68 65 6e 0a 09 65 | 63 68 6f 20 73 68 61 72 |.then..e|cho shar|
|00005040| 3a 20 77 69 6c 6c 20 6e | 6f 74 20 6f 76 65 72 2d |: will n|ot over-|
|00005050| 77 72 69 74 65 20 65 78 | 69 73 74 69 6e 67 20 66 |write ex|isting f|
|00005060| 69 6c 65 20 22 27 6c 69 | 62 6d 74 63 68 2e 63 27 |ile "'li|bmtch.c'|
|00005070| 22 0a 65 6c 73 65 0a 63 | 61 74 20 3c 3c 20 5c 53 |".else.c|at << \S|
|00005080| 48 41 52 5f 45 4f 46 20 | 3e 20 27 6c 69 62 6d 74 |HAR_EOF |> 'libmt|
|00005090| 63 68 2e 63 27 0a 2f 2a | 0a 20 2a 09 53 43 43 53 |ch.c'./*|. *.SCCS|
|000050a0| 3a 09 40 28 23 29 6c 69 | 62 6d 74 63 68 2e 63 09 |:.@(#)li|bmtch.c.|
|000050b0| 31 2e 32 09 31 31 2f 32 | 2f 38 34 09 31 34 3a 31 |1.2.11/2|/84.14:1|
|000050c0| 38 3a 35 35 0a 20 2a 09 | 52 65 61 64 20 6c 69 62 |8:55. *.|Read lib|
|000050d0| 72 61 72 79 20 66 69 6c | 65 73 2e 0a 20 2a 0a 20 |rary fil|es.. *. |
|000050e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000050f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005120| 2a 2a 2a 2a 2a 2a 2a 0a | 20 2a 09 54 68 69 73 20 |*******.| *.This |
|00005130| 73 6f 66 74 77 61 72 65 | 20 69 73 20 63 6f 70 79 |software| is copy|
|00005140| 72 69 67 68 74 20 6f 66 | 0a 20 2a 0a 20 2a 09 09 |right of|. *. *..|
|00005150| 4a 6f 68 6e 20 4d 20 43 | 6f 6c 6c 69 6e 73 0a 20 |John M C|ollins. |
|00005160| 2a 09 09 34 37 20 43 65 | 64 61 72 77 6f 6f 64 20 |*..47 Ce|darwood |
|00005170| 44 72 69 76 65 0a 20 2a | 09 09 53 74 20 41 6c 62 |Drive. *|..St Alb|
|00005180| 61 6e 73 0a 20 2a 09 09 | 48 65 72 74 73 2c 20 41 |ans. *..|Herts, A|
|00005190| 4c 34 20 30 44 4e 0a 20 | 2a 09 09 45 6e 67 6c 61 |L4 0DN. |*..Engla|
|000051a0| 6e 64 09 09 09 2b 34 34 | 20 37 32 37 20 35 37 32 |nd...+44| 727 572|
|000051b0| 36 37 0a 20 2a 0a 20 2a | 09 61 6e 64 20 69 73 20 |67. *. *|.and is |
|000051c0| 72 65 6c 65 61 73 65 64 | 20 69 6e 74 6f 20 74 68 |released| into th|
|000051d0| 65 20 70 75 62 6c 69 63 | 20 64 6f 6d 61 69 6e 20 |e public| domain |
|000051e0| 6f 6e 20 74 68 65 20 66 | 6f 6c 6c 6f 77 69 6e 67 |on the f|ollowing|
|000051f0| 20 63 6f 6e 64 69 74 69 | 6f 6e 73 3a 0a 20 2a 0a | conditi|ons:. *.|
|00005200| 20 2a 09 09 31 2e 20 20 | 4e 6f 20 66 72 65 65 20 | *..1. |No free |
|00005210| 6d 61 69 6e 74 65 6e 61 | 6e 63 65 20 77 69 6c 6c |maintena|nce will|
|00005220| 20 62 65 20 67 75 61 72 | 61 6e 74 65 65 64 2e 0a | be guar|anteed..|
|00005230| 20 2a 09 09 32 2e 20 20 | 4e 6f 74 68 69 6e 67 20 | *..2. |Nothing |
|00005240| 6d 61 79 20 62 65 20 62 | 61 73 65 64 20 6f 6e 20 |may be b|ased on |
|00005250| 74 68 69 73 20 73 6f 66 | 74 77 61 72 65 20 77 69 |this sof|tware wi|
|00005260| 74 68 6f 75 74 0a 20 2a | 09 09 20 20 20 20 61 63 |thout. *|.. ac|
|00005270| 6b 6e 6f 77 6c 65 64 67 | 65 6d 65 6e 74 2c 20 69 |knowledg|ement, i|
|00005280| 6e 63 6c 75 64 69 6e 67 | 20 69 6e 63 6f 72 70 6f |ncluding| incorpo|
|00005290| 72 61 74 69 6f 6e 20 6f | 66 20 74 68 69 73 0a 20 |ration o|f this. |
|000052a0| 2a 09 09 20 20 20 20 6e | 6f 74 69 63 65 2e 0a 20 |*.. n|otice.. |
|000052b0| 2a 0a 20 2a 09 4e 6f 74 | 77 69 74 68 73 74 61 6e |*. *.Not|withstan|
|000052c0| 64 69 6e 67 20 74 68 65 | 20 61 62 6f 76 65 2c 20 |ding the| above, |
|000052d0| 74 68 65 20 61 75 74 68 | 6f 72 20 77 65 6c 63 6f |the auth|or welco|
|000052e0| 6d 65 73 20 63 6f 72 72 | 65 73 70 6f 6e 64 65 6e |mes corr|esponden|
|000052f0| 63 65 20 61 6e 64 20 62 | 75 67 0a 20 2a 09 66 69 |ce and b|ug. *.fi|
|00005300| 78 65 73 2e 0a 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |xes.. **|********|
|00005310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 20 2a |********|*****. *|
|00005350| 2f 0a 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 74 64 |/..#incl|ude <std|
|00005360| 69 6f 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |io.h>.#i|nclude <|
|00005370| 66 63 6e 74 6c 2e 68 3e | 0a 23 69 6e 63 6c 75 64 |fcntl.h>|.#includ|
|00005380| 65 20 3c 61 2e 6f 75 74 | 2e 68 3e 0a 23 69 6e 63 |e <a.out|.h>.#inc|
|00005390| 6c 75 64 65 20 3c 61 72 | 2e 68 3e 0a 23 69 6e 63 |lude <ar|.h>.#inc|
|000053a0| 6c 75 64 65 20 3c 73 65 | 74 6a 6d 70 2e 68 3e 0a |lude <se|tjmp.h>.|
|000053b0| 23 69 6e 63 6c 75 64 65 | 20 22 75 6e 63 2e 68 22 |#include| "unc.h"|
|000053c0| 0a 0a 6c 6f 6e 67 09 6c | 73 65 65 6b 28 29 3b 0a |..long.l|seek();.|
|000053d0| 76 6f 69 64 09 62 66 6f | 70 65 6e 28 29 2c 20 62 |void.bfo|pen(), b|
|000053e0| 66 63 6c 6f 73 65 28 29 | 2c 20 6e 6f 6d 65 6d 28 |fclose()|, nomem(|
|000053f0| 29 3b 0a 76 6f 69 64 09 | 72 72 65 6c 6c 32 28 29 |);.void.|rrell2()|
|00005400| 2c 20 6d 61 72 6b 6d 61 | 74 63 68 28 29 3b 0a 63 |, markma|tch();.c|
|00005410| 68 61 72 09 2a 73 74 72 | 63 68 72 28 29 2c 20 2a |har.*str|chr(), *|
|00005420| 73 74 72 72 63 68 72 28 | 29 2c 20 2a 73 74 72 6e |strrchr(|), *strn|
|00005430| 63 70 79 28 29 2c 20 2a | 73 74 72 63 61 74 28 29 |cpy(), *|strcat()|
|00005440| 2c 20 2a 73 74 72 63 70 | 79 28 29 2c 20 2a 6d 61 |, *strcp|y(), *ma|
|00005450| 6c 6c 6f 63 28 29 3b 0a | 69 6e 74 09 6d 61 74 63 |lloc();.|int.matc|
|00005460| 68 75 70 28 29 3b 0a 6c | 6f 6e 67 09 66 69 6e 64 |hup();.l|ong.find|
|00005470| 73 74 61 72 74 28 29 3b | 0a 0a 63 68 61 72 09 76 |start();|..char.v|
|00005480| 65 72 62 6f 73 65 3b 09 | 09 2f 2a 20 20 54 65 6c |erbose;.|./* Tel|
|00005490| 6c 20 74 68 65 20 77 6f | 72 6c 64 20 77 68 61 74 |l the wo|rld what|
|000054a0| 20 77 65 20 61 72 65 20 | 64 6f 69 6e 67 20 20 2a | we are |doing *|
|000054b0| 2f 0a 63 68 61 72 09 2a | 74 66 6e 61 6d 3b 0a 63 |/.char.*|tfnam;.c|
|000054c0| 68 61 72 09 2a 63 66 69 | 6c 65 3b 0a 65 66 5f 66 |har.*cfi|le;.ef_f|
|000054d0| 69 64 73 09 6d 61 69 6e | 66 69 6c 65 3b 0a 73 74 |ids.main|file;.st|
|000054e0| 72 75 63 74 09 63 6f 6d | 6d 69 74 09 64 72 65 6c |ruct.com|mit.drel|
|000054f0| 74 61 62 3b 0a 69 6e 74 | 09 64 6f 6e 65 64 72 65 |tab;.int|.donedre|
|00005500| 6c 2c 20 64 6f 6e 65 62 | 72 65 6c 3b 0a 6c 6f 6e |l, doneb|rel;.lon|
|00005510| 67 09 74 72 65 6c 70 6f | 73 2c 20 64 72 65 6c 70 |g.trelpo|s, drelp|
|00005520| 6f 73 2c 20 62 72 65 6c | 70 6f 73 3b 0a 73 74 61 |os, brel|pos;.sta|
|00005530| 74 69 63 09 73 74 72 75 | 63 74 09 6c 69 62 69 74 |tic.stru|ct.libit|
|00005540| 09 63 75 72 72 6c 69 62 | 20 3d 20 7b 2d 31 2c 20 |.currlib| = {-1, |
|00005550| 30 2c 20 2d 31 2c 20 22 | 22 7d 3b 0a 0a 76 6f 69 |0, -1, "|"};..voi|
|00005560| 64 09 6c 63 6c 61 73 68 | 28 73 74 72 29 0a 63 68 |d.lclash|(str).ch|
|00005570| 61 72 09 2a 73 74 72 3b | 0a 7b 0a 09 28 76 6f 69 |ar.*str;|.{..(voi|
|00005580| 64 29 20 66 70 72 69 6e | 74 66 28 73 74 64 65 72 |d) fprin|tf(stder|
|00005590| 72 2c 20 22 4c 69 62 72 | 61 72 79 20 73 63 61 6e |r, "Libr|ary scan|
|000055a0| 20 66 61 69 6c 75 72 65 | 20 2d 20 25 73 5c 6e 22 | failure| - %s\n"|
|000055b0| 2c 20 73 74 72 29 3b 0a | 09 28 76 6f 69 64 29 20 |, str);.|.(void) |
|000055c0| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|000055d0| 22 53 65 61 72 63 68 69 | 6e 67 20 25 73 5c 6e 22 |"Searchi|ng %s\n"|
|000055e0| 2c 20 63 66 69 6c 65 29 | 3b 0a 09 69 66 20 20 28 |, cfile)|;..if (|
|000055f0| 63 75 72 72 6c 69 62 2e | 6c 66 5f 6e 61 6d 65 5b |currlib.|lf_name[|
|00005600| 30 5d 29 0a 09 09 28 76 | 6f 69 64 29 20 66 70 72 |0])...(v|oid) fpr|
|00005610| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 20 22 4d 65 |intf(std|err, "Me|
|00005620| 6d 62 65 72 20 69 73 20 | 25 73 5c 6e 22 2c 20 63 |mber is |%s\n", c|
|00005630| 75 72 72 6c 69 62 2e 6c | 66 5f 6e 61 6d 65 29 3b |urrlib.l|f_name);|
|00005640| 0a 09 65 78 69 74 28 32 | 35 35 29 3b 0a 7d 0a 0a |..exit(2|55);.}..|
|00005650| 2f 2a 0a 20 2a 09 46 69 | 6e 64 20 6e 65 78 74 20 |/*. *.Fi|nd next |
|00005660| 6d 65 6d 62 65 72 2e 0a | 20 2a 2f 0a 0a 6c 6f 6e |member..| */..lon|
|00005670| 67 09 6e 65 78 74 6d 65 | 6d 62 28 6c 66 64 29 0a |g.nextme|mb(lfd).|
|00005680| 72 65 67 69 73 74 65 72 | 20 20 73 74 72 75 63 74 |register| struct|
|00005690| 20 20 6c 69 62 69 74 09 | 20 2a 6c 66 64 3b 0a 7b | libit.| *lfd;.{|
|000056a0| 0a 09 73 74 72 75 63 74 | 09 61 72 5f 68 64 72 09 |..struct|.ar_hdr.|
|000056b0| 61 72 62 75 66 3b 0a 09 | 0a 09 69 66 20 20 28 6c |arbuf;..|..if (l|
|000056c0| 66 64 2d 3e 6c 66 5f 6e | 65 78 74 20 3c 20 30 29 |fd->lf_n|ext < 0)|
|000056d0| 0a 09 09 72 65 74 75 72 | 6e 09 2d 31 3b 0a 09 0a |...retur|n.-1;...|
|000056e0| 09 28 76 6f 69 64 29 20 | 6c 73 65 65 6b 28 6c 66 |.(void) |lseek(lf|
|000056f0| 64 2d 3e 6c 66 5f 66 64 | 2c 20 6c 66 64 2d 3e 6c |d->lf_fd|, lfd->l|
|00005700| 66 5f 6e 65 78 74 2c 20 | 30 29 3b 0a 09 69 66 20 |f_next, |0);..if |
|00005710| 20 28 72 65 61 64 28 6c | 66 64 2d 3e 6c 66 5f 66 | (read(l|fd->lf_f|
|00005720| 64 2c 20 28 63 68 61 72 | 20 2a 29 26 61 72 62 75 |d, (char| *)&arbu|
|00005730| 66 2c 20 73 69 7a 65 6f | 66 28 61 72 62 75 66 29 |f, sizeo|f(arbuf)|
|00005740| 29 20 21 3d 20 73 69 7a | 65 6f 66 28 61 72 62 75 |) != siz|eof(arbu|
|00005750| 66 29 29 20 20 7b 0a 09 | 09 6c 66 64 2d 3e 6c 66 |f)) {..|.lfd->lf|
|00005760| 5f 6e 65 78 74 20 3d 20 | 2d 31 3b 0a 09 09 72 65 |_next = |-1;...re|
|00005770| 74 75 72 6e 09 2d 31 3b | 0a 09 7d 0a 09 28 76 6f |turn.-1;|..}..(vo|
|00005780| 69 64 29 20 73 74 72 6e | 63 70 79 28 6c 66 64 2d |id) strn|cpy(lfd-|
|00005790| 3e 6c 66 5f 6e 61 6d 65 | 2c 20 61 72 62 75 66 2e |>lf_name|, arbuf.|
|000057a0| 61 72 5f 6e 61 6d 65 2c | 20 73 69 7a 65 6f 66 28 |ar_name,| sizeof(|
|000057b0| 6c 66 64 2d 3e 6c 66 5f | 6e 61 6d 65 29 29 3b 0a |lfd->lf_|name));.|
|000057c0| 09 6c 66 64 2d 3e 6c 66 | 5f 6f 66 66 73 65 74 20 |.lfd->lf|_offset |
|000057d0| 3d 20 6c 66 64 2d 3e 6c | 66 5f 6e 65 78 74 20 2b |= lfd->l|f_next +|
|000057e0| 20 73 69 7a 65 6f 66 28 | 61 72 62 75 66 29 3b 0a | sizeof(|arbuf);.|
|000057f0| 09 6c 66 64 2d 3e 6c 66 | 5f 6e 65 78 74 20 3d 20 |.lfd->lf|_next = |
|00005800| 28 6c 66 64 2d 3e 6c 66 | 5f 6f 66 66 73 65 74 20 |(lfd->lf|_offset |
|00005810| 2b 20 61 72 62 75 66 2e | 61 72 5f 73 69 7a 65 20 |+ arbuf.|ar_size |
|00005820| 2b 20 31 29 20 26 20 7e | 31 3b 0a 09 72 65 74 75 |+ 1) & ~|1;..retu|
|00005830| 72 6e 09 6c 66 64 2d 3e | 6c 66 5f 6f 66 66 73 65 |rn.lfd->|lf_offse|
|00005840| 74 3b 0a 7d 0a 0a 2f 2a | 0a 20 2a 09 44 65 63 6f |t;.}../*|. *.Deco|
|00005850| 64 65 20 61 20 66 69 6c | 65 20 6e 61 6d 65 20 74 |de a fil|e name t|
|00005860| 68 75 73 20 2d 0a 20 2a | 0a 20 2a 09 2d 6c 78 78 |hus -. *|. *.-lxx|
|00005870| 78 20 64 65 63 6f 64 65 | 20 61 73 20 2f 6c 69 62 |x decode| as /lib|
|00005880| 2f 6c 69 62 78 78 78 2e | 61 20 2f 75 73 72 2f 6c |/libxxx.|a /usr/l|
|00005890| 69 62 2f 6c 69 62 78 78 | 78 2e 61 20 65 74 63 0a |ib/libxx|x.a etc.|
|000058a0| 20 2a 09 2d 4c 78 78 78 | 20 66 6f 72 67 65 74 20 | *.-Lxxx| forget |
|000058b0| 22 6c 69 62 22 20 22 2e | 61 22 20 62 69 74 20 74 |"lib" ".|a" bit t|
|000058c0| 68 75 73 20 2d 4c 63 72 | 74 30 2e 6f 0a 20 2a 09 |hus -Lcr|t0.o. *.|
|000058d0| 6f 72 20 72 65 61 64 20 | 4c 44 50 41 54 48 20 65 |or read |LDPATH e|
|000058e0| 6e 76 69 72 6f 6e 6d 65 | 6e 74 20 76 61 72 20 74 |nvironme|nt var t|
|000058f0| 6f 20 67 69 76 65 20 6c | 69 73 74 20 6f 66 20 64 |o give l|ist of d|
|00005900| 69 72 65 63 74 6f 72 69 | 65 73 20 61 73 20 73 68 |irectori|es as sh|
|00005910| 0a 20 2a 09 28 64 65 66 | 61 75 6c 74 20 2f 6c 69 |. *.(def|ault /li|
|00005920| 62 3a 2f 75 73 72 2f 6c | 69 62 29 2e 0a 20 2a 0a |b:/usr/l|ib).. *.|
|00005930| 20 2a 09 41 6c 74 65 72 | 6e 61 74 69 76 65 6c 79 | *.Alter|natively|
|00005940| 20 74 72 65 61 74 20 61 | 73 20 6e 6f 72 6d 61 6c | treat a|s normal|
|00005950| 20 70 61 74 68 6e 61 6d | 65 2e 0a 20 2a 0a 20 2a | pathnam|e.. *. *|
|00005960| 09 46 69 6c 65 20 6e 61 | 6d 65 73 20 6d 61 79 20 |.File na|mes may |
|00005970| 62 65 20 66 6f 6c 6c 6f | 77 65 64 20 62 79 20 28 |be follo|wed by (|
|00005980| 6d 65 6d 62 65 72 6e 61 | 6d 65 29 20 69 66 20 74 |memberna|me) if t|
|00005990| 68 65 20 66 69 6c 65 20 | 69 73 20 61 6e 20 61 72 |he file |is an ar|
|000059a0| 63 68 69 76 65 2c 0a 20 | 2a 09 74 68 75 73 0a 20 |chive,. |*.thus. |
|000059b0| 2a 0a 20 2a 09 09 2d 6c | 63 28 70 72 69 6e 74 66 |*. *..-l|c(printf|
|000059c0| 2e 6f 29 0a 20 2a 0a 20 | 2a 09 69 6e 20 77 68 69 |.o). *. |*.in whi|
|000059d0| 63 68 20 63 61 73 65 20 | 74 68 65 20 73 70 65 63 |ch case |the spec|
|000059e0| 69 66 69 65 64 20 6d 6f | 64 75 6c 65 20 69 73 20 |ified mo|dule is |
|000059f0| 66 65 74 63 68 65 64 2e | 0a 20 2a 2f 0a 0a 73 74 |fetched.|. */..st|
|00005a00| 72 75 63 74 09 6c 69 62 | 69 74 09 2a 67 65 74 66 |ruct.lib|it.*getf|
|00005a10| 6e 61 6d 28 73 74 72 29 | 0a 63 68 61 72 09 2a 73 |nam(str)|.char.*s|
|00005a20| 74 72 3b 0a 7b 0a 09 63 | 68 61 72 09 2a 62 70 2c |tr;.{..c|har.*bp,|
|00005a30| 20 2a 65 70 20 3d 20 4e | 55 4c 4c 2c 20 2a 70 61 | *ep = N|ULL, *pa|
|00005a40| 74 68 62 2c 20 2a 70 61 | 74 68 65 2c 20 2a 66 75 |thb, *pa|the, *fu|
|00005a50| 6c 6c 70 61 74 68 20 3d | 20 4e 55 4c 4c 3b 0a 09 |llpath =| NULL;..|
|00005a60| 73 74 61 74 69 63 09 63 | 68 61 72 09 2a 70 61 74 |static.c|har.*pat|
|00005a70| 68 6e 3b 0a 09 65 78 74 | 65 72 6e 09 63 68 61 72 |hn;..ext|ern.char|
|00005a80| 09 2a 67 65 74 65 6e 76 | 28 29 3b 0a 09 6c 6f 6e |.*getenv|();..lon|
|00005a90| 67 09 6d 61 67 69 63 3b | 0a 09 73 74 72 75 63 74 |g.magic;|..struct|
|00005aa0| 09 61 72 5f 68 64 72 09 | 61 72 68 64 72 3b 0a 09 |.ar_hdr.|arhdr;..|
|00005ab0| 69 6e 74 09 66 64 3b 0a | 0a 09 69 66 20 20 28 28 |int.fd;.|..if ((|
|00005ac0| 62 70 20 3d 20 73 74 72 | 72 63 68 72 28 73 74 72 |bp = str|rchr(str|
|00005ad0| 2c 20 27 28 27 29 29 20 | 21 3d 20 4e 55 4c 4c 20 |, '(')) |!= NULL |
|00005ae0| 26 26 0a 09 09 20 28 65 | 70 20 3d 20 73 74 72 72 |&&... (e|p = strr|
|00005af0| 63 68 72 28 73 74 72 2c | 20 27 29 27 29 29 20 21 |chr(str,| ')')) !|
|00005b00| 3d 20 4e 55 4c 4c 29 0a | 09 09 2a 65 70 20 3d 20 |= NULL).|..*ep = |
|00005b10| 2a 62 70 20 3d 20 27 5c | 30 27 3b 0a 0a 09 69 66 |*bp = '\|0';...if|
|00005b20| 20 20 28 73 74 72 5b 30 | 5d 20 3d 3d 20 27 2d 27 | (str[0|] == '-'|
|00005b30| 20 20 26 26 20 20 28 73 | 74 72 5b 31 5d 20 3d 3d | && (s|tr[1] ==|
|00005b40| 20 27 6c 27 20 7c 7c 20 | 73 74 72 5b 31 5d 20 3d | 'l' || |str[1] =|
|00005b50| 3d 20 27 4c 27 29 29 20 | 20 7b 0a 09 09 69 66 20 |= 'L')) | {...if |
|00005b60| 20 28 70 61 74 68 6e 20 | 3d 3d 20 4e 55 4c 4c 29 | (pathn |== NULL)|
|00005b70| 20 20 7b 0a 09 09 09 69 | 66 20 20 28 28 70 61 74 | {....i|f ((pat|
|00005b80| 68 6e 20 3d 20 67 65 74 | 65 6e 76 28 22 4c 44 50 |hn = get|env("LDP|
|00005b90| 41 54 48 22 29 29 20 3d | 3d 20 4e 55 4c 4c 29 0a |ATH")) =|= NULL).|
|00005ba0| 09 09 09 09 70 61 74 68 | 6e 20 3d 20 22 2f 6c 69 |....path|n = "/li|
|00005bb0| 62 3a 2f 75 73 72 2f 6c | 69 62 22 3b 0a 09 09 7d |b:/usr/l|ib";...}|
|00005bc0| 0a 09 09 66 75 6c 6c 70 | 61 74 68 20 3d 20 6d 61 |...fullp|ath = ma|
|00005bd0| 6c 6c 6f 63 28 28 75 6e | 73 69 67 6e 65 64 29 28 |lloc((un|signed)(|
|00005be0| 73 74 72 6c 65 6e 28 70 | 61 74 68 6e 29 20 2b 20 |strlen(p|athn) + |
|00005bf0| 73 74 72 6c 65 6e 28 73 | 74 72 29 20 2b 20 31 29 |strlen(s|tr) + 1)|
|00005c00| 29 3b 0a 09 09 69 66 20 | 20 28 66 75 6c 6c 70 61 |);...if | (fullpa|
|00005c10| 74 68 20 3d 3d 20 4e 55 | 4c 4c 29 0a 09 09 09 6e |th == NU|LL)....n|
|00005c20| 6f 6d 65 6d 28 29 3b 0a | 09 09 70 61 74 68 62 20 |omem();.|..pathb |
|00005c30| 3d 20 70 61 74 68 6e 3b | 0a 09 09 64 6f 20 20 7b |= pathn;|...do {|
|00005c40| 0a 09 09 09 70 61 74 68 | 65 20 3d 20 73 74 72 63 |....path|e = strc|
|00005c50| 68 72 28 70 61 74 68 62 | 2c 20 27 3a 27 29 3b 0a |hr(pathb|, ':');.|
|00005c60| 09 09 09 69 66 20 20 28 | 2a 70 61 74 68 62 20 3d |...if (|*pathb =|
|00005c70| 3d 20 27 3a 27 29 0a 09 | 09 09 09 66 75 6c 6c 70 |= ':')..|...fullp|
|00005c80| 61 74 68 5b 30 5d 20 3d | 20 27 5c 30 27 3b 0a 09 |ath[0] =| '\0';..|
|00005c90| 09 09 65 6c 73 65 20 20 | 7b 0a 09 09 09 09 69 66 |..else |{.....if|
|00005ca0| 20 20 28 70 61 74 68 65 | 20 21 3d 20 4e 55 4c 4c | (pathe| != NULL|
|00005cb0| 29 0a 09 09 09 09 09 2a | 70 61 74 68 65 20 3d 20 |)......*|pathe = |
|00005cc0| 27 5c 30 27 3b 0a 09 09 | 09 09 28 76 6f 69 64 29 |'\0';...|..(void)|
|00005cd0| 20 73 74 72 63 70 79 28 | 66 75 6c 6c 70 61 74 68 | strcpy(|fullpath|
|00005ce0| 2c 20 70 61 74 68 62 29 | 3b 0a 09 09 09 09 28 76 |, pathb)|;.....(v|
|00005cf0| 6f 69 64 29 20 73 74 72 | 63 61 74 28 66 75 6c 6c |oid) str|cat(full|
|00005d00| 70 61 74 68 2c 20 22 2f | 22 29 3b 0a 09 09 09 09 |path, "/|");.....|
|00005d10| 69 66 20 20 28 70 61 74 | 68 65 20 21 3d 20 4e 55 |if (pat|he != NU|
|00005d20| 4c 4c 29 0a 09 09 09 09 | 09 2a 70 61 74 68 65 20 |LL).....|.*pathe |
|00005d30| 3d 20 27 3a 27 3b 0a 09 | 09 09 7d 0a 09 09 09 69 |= ':';..|..}....i|
|00005d40| 66 20 20 28 73 74 72 5b | 31 5d 20 3d 3d 20 27 6c |f (str[|1] == 'l|
|00005d50| 27 29 0a 09 09 09 09 28 | 76 6f 69 64 29 20 73 74 |').....(|void) st|
|00005d60| 72 63 61 74 28 66 75 6c | 6c 70 61 74 68 2c 20 22 |rcat(ful|lpath, "|
|00005d70| 6c 69 62 22 29 3b 0a 09 | 09 09 28 76 6f 69 64 29 |lib");..|..(void)|
|00005d80| 20 73 74 72 63 61 74 28 | 66 75 6c 6c 70 61 74 68 | strcat(|fullpath|
|00005d90| 2c 20 26 73 74 72 5b 32 | 5d 29 3b 0a 09 09 09 69 |, &str[2|]);....i|
|00005da0| 66 20 20 28 73 74 72 5b | 31 5d 20 3d 3d 20 27 6c |f (str[|1] == 'l|
|00005db0| 27 29 0a 09 09 09 09 28 | 76 6f 69 64 29 20 73 74 |').....(|void) st|
|00005dc0| 72 63 61 74 28 66 75 6c | 6c 70 61 74 68 2c 20 22 |rcat(ful|lpath, "|
|00005dd0| 2e 61 22 29 3b 0a 09 09 | 09 69 66 20 20 28 28 66 |.a");...|.if ((f|
|00005de0| 64 20 3d 20 6f 70 65 6e | 28 66 75 6c 6c 70 61 74 |d = open|(fullpat|
|00005df0| 68 2c 20 4f 5f 52 44 4f | 4e 4c 59 29 29 20 3e 3d |h, O_RDO|NLY)) >=|
|00005e00| 20 30 29 0a 09 09 09 09 | 67 6f 74 6f 20 20 66 6f | 0).....|goto fo|
|00005e10| 75 6e 64 3b 0a 09 09 09 | 70 61 74 68 62 20 3d 20 |und;....|pathb = |
|00005e20| 70 61 74 68 65 20 2b 20 | 31 3b 0a 09 09 7d 20 20 |pathe + |1;...} |
|00005e30| 20 77 68 69 6c 65 20 20 | 28 70 61 74 68 65 20 21 | while |(pathe !|
|00005e40| 3d 20 4e 55 4c 4c 29 3b | 0a 09 09 0a 09 09 28 76 |= NULL);|......(v|
|00005e50| 6f 69 64 29 20 66 70 72 | 69 6e 74 66 28 73 74 64 |oid) fpr|intf(std|
|00005e60| 65 72 72 2c 20 22 55 6e | 61 62 6c 65 20 74 6f 20 |err, "Un|able to |
|00005e70| 6c 6f 63 61 74 65 20 6c | 69 62 25 73 2e 61 20 69 |locate l|ib%s.a i|
|00005e80| 6e 20 25 73 5c 6e 22 2c | 0a 09 09 09 26 73 74 72 |n %s\n",|....&str|
|00005e90| 5b 32 5d 2c 20 70 61 74 | 68 6e 29 3b 0a 09 09 65 |[2], pat|hn);...e|
|00005ea0| 78 69 74 28 31 30 31 29 | 3b 0a 09 7d 0a 09 65 6c |xit(101)|;..}..el|
|00005eb0| 73 65 20 20 69 66 20 20 | 28 28 66 64 20 3d 20 6f |se if |((fd = o|
|00005ec0| 70 65 6e 28 73 74 72 2c | 20 4f 5f 52 44 4f 4e 4c |pen(str,| O_RDONL|
|00005ed0| 59 29 29 20 3c 20 30 29 | 20 20 7b 0a 09 09 28 76 |Y)) < 0)| {...(v|
|00005ee0| 6f 69 64 29 20 66 70 72 | 69 6e 74 66 28 73 74 64 |oid) fpr|intf(std|
|00005ef0| 65 72 72 2c 20 22 43 61 | 6e 6e 6f 74 20 6f 70 65 |err, "Ca|nnot ope|
|00005f00| 6e 20 25 73 5c 6e 22 2c | 20 73 74 72 29 3b 0a 09 |n %s\n",| str);..|
|00005f10| 09 65 78 69 74 28 31 30 | 32 29 3b 0a 09 7d 0a 09 |.exit(10|2);..}..|
|00005f20| 0a 66 6f 75 6e 64 3a 0a | 0a 09 69 66 20 20 28 28 |.found:.|..if ((|
|00005f30| 72 65 61 64 28 66 64 2c | 20 28 63 68 61 72 20 2a |read(fd,| (char *|
|00005f40| 29 20 26 6d 61 67 69 63 | 2c 20 73 69 7a 65 6f 66 |) &magic|, sizeof|
|00005f50| 28 6d 61 67 69 63 29 29 | 20 21 3d 20 73 69 7a 65 |(magic))| != size|
|00005f60| 6f 66 28 6d 61 67 69 63 | 29 20 20 7c 7c 0a 09 09 |of(magic|) ||...|
|00005f70| 6d 61 67 69 63 20 21 3d | 20 41 52 4d 41 47 29 29 |magic !=| ARMAG))|
|00005f80| 20 20 7b 0a 09 09 69 66 | 20 20 28 65 70 20 21 3d | {...if| (ep !=|
|00005f90| 20 4e 55 4c 4c 29 20 20 | 7b 0a 09 09 09 28 76 6f | NULL) |{....(vo|
|00005fa0| 69 64 29 20 66 70 72 69 | 6e 74 66 28 73 74 64 65 |id) fpri|ntf(stde|
|00005fb0| 72 72 2c 20 22 25 73 20 | 69 73 20 6e 6f 74 20 6c |rr, "%s |is not l|
|00005fc0| 69 62 72 61 72 79 20 66 | 69 6c 65 5c 6e 22 2c 0a |ibrary f|ile\n",.|
|00005fd0| 09 09 09 09 09 66 75 6c | 6c 70 61 74 68 20 21 3d |.....ful|lpath !=|
|00005fe0| 20 4e 55 4c 4c 3f 20 66 | 75 6c 6c 70 61 74 68 3a | NULL? f|ullpath:|
|00005ff0| 20 73 74 72 29 3b 0a 09 | 09 09 65 78 69 74 28 31 | str);..|..exit(1|
|00006000| 30 33 29 3b 0a 09 09 7d | 0a 09 09 69 66 20 20 28 |03);...}|...if (|
|00006010| 66 75 6c 6c 70 61 74 68 | 20 21 3d 20 4e 55 4c 4c |fullpath| != NULL|
|00006020| 29 0a 09 09 09 66 72 65 | 65 28 66 75 6c 6c 70 61 |)....fre|e(fullpa|
|00006030| 74 68 29 3b 0a 09 09 63 | 75 72 72 6c 69 62 2e 6c |th);...c|urrlib.l|
|00006040| 66 5f 66 64 20 3d 20 66 | 64 3b 0a 09 09 63 75 72 |f_fd = f|d;...cur|
|00006050| 72 6c 69 62 2e 6c 66 5f | 6f 66 66 73 65 74 20 3d |rlib.lf_|offset =|
|00006060| 20 30 3b 0a 09 09 63 75 | 72 72 6c 69 62 2e 6c 66 | 0;...cu|rrlib.lf|
|00006070| 5f 6e 65 78 74 20 3d 20 | 2d 31 3b 0a 09 09 63 75 |_next = |-1;...cu|
|00006080| 72 72 6c 69 62 2e 6c 66 | 5f 6e 61 6d 65 5b 30 5d |rrlib.lf|_name[0]|
|00006090| 20 3d 20 27 5c 30 27 3b | 0a 09 09 72 65 74 75 72 | = '\0';|...retur|
|000060a0| 6e 20 20 26 63 75 72 72 | 6c 69 62 3b 0a 09 7d 0a |n &curr|lib;..}.|
|000060b0| 09 0a 09 2f 2a 0a 09 20 | 2a 09 49 74 20 61 70 70 |.../*.. |*.It app|
|000060c0| 65 61 72 73 20 74 6f 20 | 62 65 20 61 20 6c 69 62 |ears to |be a lib|
|000060d0| 72 61 72 79 20 66 69 6c | 65 20 2d 20 73 65 65 20 |rary fil|e - see |
|000060e0| 69 66 20 77 65 20 77 61 | 6e 74 20 61 20 73 70 65 |if we wa|nt a spe|
|000060f0| 63 69 66 69 63 0a 09 20 | 2a 09 6f 6e 65 2e 0a 09 |cific.. |*.one...|
|00006100| 20 2a 2f 0a 09 0a 09 69 | 66 20 20 28 65 70 20 21 | */....i|f (ep !|
|00006110| 3d 20 4e 55 4c 4c 29 20 | 20 7b 0a 09 09 63 75 72 |= NULL) | {...cur|
|00006120| 72 6c 69 62 2e 6c 66 5f | 6f 66 66 73 65 74 20 3d |rlib.lf_|offset =|
|00006130| 20 73 69 7a 65 6f 66 28 | 6d 61 67 69 63 29 20 2b | sizeof(|magic) +|
|00006140| 20 73 69 7a 65 6f 66 28 | 73 74 72 75 63 74 20 61 | sizeof(|struct a|
|00006150| 72 5f 68 64 72 29 3b 0a | 09 09 66 6f 72 20 20 28 |r_hdr);.|..for (|
|00006160| 3b 3b 29 20 20 7b 0a 09 | 09 09 69 66 20 20 28 72 |;;) {..|..if (r|
|00006170| 65 61 64 28 66 64 2c 20 | 26 61 72 68 64 72 2c 20 |ead(fd, |&arhdr, |
|00006180| 73 69 7a 65 6f 66 28 61 | 72 68 64 72 29 29 20 21 |sizeof(a|rhdr)) !|
|00006190| 3d 20 73 69 7a 65 6f 66 | 28 61 72 68 64 72 29 29 |= sizeof|(arhdr))|
|000061a0| 20 20 7b 0a 09 09 09 09 | 28 76 6f 69 64 29 20 66 | {.....|(void) f|
|000061b0| 70 72 69 6e 74 66 28 73 | 74 64 65 72 72 2c 20 22 |printf(s|tderr, "|
|000061c0| 43 61 6e 6e 6f 74 20 66 | 69 6e 64 20 6d 65 6d 62 |Cannot f|ind memb|
|000061d0| 65 72 20 25 73 20 69 6e | 20 25 73 5c 6e 22 2c 0a |er %s in| %s\n",.|
|000061e0| 09 09 09 09 09 62 70 2b | 31 2c 20 66 75 6c 6c 70 |.....bp+|1, fullp|
|000061f0| 61 74 68 3f 66 75 6c 6c | 70 61 74 68 3a 20 73 74 |ath?full|path: st|
|00006200| 72 29 3b 0a 09 09 09 09 | 65 78 69 74 28 31 30 33 |r);.....|exit(103|
|00006210| 29 3b 0a 09 09 09 7d 0a | 09 09 09 69 66 20 20 28 |);....}.|...if (|
|00006220| 73 74 72 6e 63 6d 70 28 | 62 70 2b 31 2c 20 61 72 |strncmp(|bp+1, ar|
|00006230| 68 64 72 2e 61 72 5f 6e | 61 6d 65 2c 20 73 69 7a |hdr.ar_n|ame, siz|
|00006240| 65 6f 66 28 61 72 68 64 | 72 2e 61 72 5f 6e 61 6d |eof(arhd|r.ar_nam|
|00006250| 65 29 29 20 3d 3d 20 30 | 29 0a 09 09 09 09 62 72 |e)) == 0|).....br|
|00006260| 65 61 6b 3b 0a 09 09 09 | 63 75 72 72 6c 69 62 2e |eak;....|currlib.|
|00006270| 6c 66 5f 6f 66 66 73 65 | 74 20 2b 3d 20 61 72 68 |lf_offse|t += arh|
|00006280| 64 72 2e 61 72 5f 73 69 | 7a 65 20 2b 20 73 69 7a |dr.ar_si|ze + siz|
|00006290| 65 6f 66 28 61 72 68 64 | 72 29 20 2b 20 31 3b 0a |eof(arhd|r) + 1;.|
|000062a0| 09 09 09 63 75 72 72 6c | 69 62 2e 6c 66 5f 6f 66 |...currl|ib.lf_of|
|000062b0| 66 73 65 74 20 26 3d 20 | 7e 20 31 3b 0a 09 09 09 |fset &= |~ 1;....|
|000062c0| 28 76 6f 69 64 29 20 6c | 73 65 65 6b 28 66 64 2c |(void) l|seek(fd,|
|000062d0| 20 28 6c 6f 6e 67 29 28 | 63 75 72 72 6c 69 62 2e | (long)(|currlib.|
|000062e0| 6c 66 5f 6f 66 66 73 65 | 74 20 2d 20 73 69 7a 65 |lf_offse|t - size|
|000062f0| 6f 66 28 61 72 68 64 72 | 29 29 2c 20 30 29 3b 0a |of(arhdr|)), 0);.|
|00006300| 09 09 7d 0a 09 09 69 66 | 20 20 28 66 75 6c 6c 70 |..}...if| (fullp|
|00006310| 61 74 68 20 21 3d 20 4e | 55 4c 4c 29 0a 09 09 09 |ath != N|ULL)....|
|00006320| 66 72 65 65 28 66 75 6c | 6c 70 61 74 68 29 3b 0a |free(ful|lpath);.|
|00006330| 09 09 63 75 72 72 6c 69 | 62 2e 6c 66 5f 66 64 20 |..currli|b.lf_fd |
|00006340| 3d 20 66 64 3b 0a 09 09 | 63 75 72 72 6c 69 62 2e |= fd;...|currlib.|
|00006350| 6c 66 5f 6e 65 78 74 20 | 3d 20 2d 31 3b 0a 09 09 |lf_next |= -1;...|
|00006360| 63 75 72 72 6c 69 62 2e | 6c 66 5f 6e 61 6d 65 5b |currlib.|lf_name[|
|00006370| 30 5d 20 3d 20 27 5c 30 | 27 3b 0a 09 09 2a 62 70 |0] = '\0|';...*bp|
|00006380| 20 3d 20 27 28 27 3b 0a | 09 09 2a 65 70 20 3d 20 | = '(';.|..*ep = |
|00006390| 27 29 27 3b 0a 09 09 72 | 65 74 75 72 6e 09 26 63 |')';...r|eturn.&c|
|000063a0| 75 72 72 6c 69 62 3b 0a | 09 7d 0a 09 0a 09 2f 2a |urrlib;.|.}..../*|
|000063b0| 0a 09 20 2a 09 4f 74 68 | 65 72 77 69 73 65 20 70 |.. *.Oth|erwise p|
|000063c0| 6f 69 6e 74 20 74 6f 20 | 31 73 74 20 6d 65 6d 62 |oint to |1st memb|
|000063d0| 65 72 20 69 6e 20 6c 69 | 62 72 61 72 79 2e 0a 09 |er in li|brary...|
|000063e0| 20 2a 2f 0a 09 0a 09 69 | 66 20 20 28 72 65 61 64 | */....i|f (read|
|000063f0| 28 66 64 2c 20 26 61 72 | 68 64 72 2c 20 73 69 7a |(fd, &ar|hdr, siz|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.