home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / m6809 / 461 next >
SHell self-extracting ARchive  |  1992-11-17  |  61.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

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

You can browse this item here: 461

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news, ASCII text default
100% checkBytes Printable ASCII default
100% dexmagic PrintFox/Pagefox WEAK 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/news default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 50 61 74 68 3a 20 73 70 | 61 72 6b 79 21 75 75 6e |Path: sp|arky!uun|
|00000010| 65 74 21 6e 65 77 73 2e | 74 65 6b 2e 63 6f 6d 21 |et!news.|tek.com!|
|00000020| 74 65 6b 69 67 37 21 74 | 65 6b 69 67 31 21 64 65 |tekig7!t|ekig1!de|
|00000030| 6e 6e 69 73 73 0a 46 72 | 6f 6d 3a 20 64 65 6e 6e |nniss.Fr|om: denn|
|00000040| 69 73 73 40 74 65 6b 69 | 67 31 2e 50 45 4e 2e 54 |iss@teki|g1.PEN.T|
|00000050| 45 4b 2e 43 4f 4d 20 28 | 44 65 6e 6e 69 73 20 49 |EK.COM (|Dennis I|
|00000060| 20 53 6d 69 74 68 29 0a | 4e 65 77 73 67 72 6f 75 | Smith).|Newsgrou|
|00000070| 70 73 3a 20 63 6f 6d 70 | 2e 73 79 73 2e 6d 36 38 |ps: comp|.sys.m68|
|00000080| 30 39 0a 53 75 62 6a 65 | 63 74 3a 20 52 65 3a 20 |09.Subje|ct: Re: |
|00000090| 36 38 30 39 20 73 69 6d | 75 6c 61 74 6f 72 0a 4d |6809 sim|ulator.M|
|000000a0| 65 73 73 61 67 65 2d 49 | 44 3a 20 3c 37 36 30 36 |essage-I|D: <7606|
|000000b0| 40 74 65 6b 69 67 37 2e | 50 45 4e 2e 54 45 4b 2e |@tekig7.|PEN.TEK.|
|000000c0| 43 4f 4d 3e 0a 44 61 74 | 65 3a 20 31 37 20 4e 6f |COM>.Dat|e: 17 No|
|000000d0| 76 20 39 32 20 30 31 3a | 32 36 3a 35 30 20 47 4d |v 92 01:|26:50 GM|
|000000e0| 54 0a 52 65 66 65 72 65 | 6e 63 65 73 3a 20 3c 31 |T.Refere|nces: <1|
|000000f0| 39 39 32 4e 6f 76 37 2e | 32 30 34 33 33 37 2e 33 |992Nov7.|204337.3|
|00000100| 39 33 31 40 63 63 2e 75 | 6d 6f 6e 74 72 65 61 6c |931@cc.u|montreal|
|00000110| 2e 63 61 3e 0a 53 65 6e | 64 65 72 3a 20 6e 65 77 |.ca>.Sen|der: new|
|00000120| 73 40 74 65 6b 69 67 37 | 2e 50 45 4e 2e 54 45 4b |s@tekig7|.PEN.TEK|
|00000130| 2e 43 4f 4d 0a 4f 72 67 | 61 6e 69 7a 61 74 69 6f |.COM.Org|anizatio|
|00000140| 6e 3a 20 54 65 6b 74 72 | 6f 6e 69 78 2c 20 49 6e |n: Tektr|onix, In|
|00000150| 63 2e 2c 20 42 65 61 76 | 65 72 74 6f 6e 2c 20 20 |c., Beav|erton, |
|00000160| 4f 52 2e 0a 4c 69 6e 65 | 73 3a 20 33 31 33 32 0a |OR..Line|s: 3132.|
|00000170| 0a 48 65 72 65 20 61 72 | 65 20 74 68 65 20 70 61 |.Here ar|e the pa|
|00000180| 74 63 68 73 20 74 68 61 | 74 20 49 20 68 61 76 65 |tchs tha|t I have|
|00000190| 20 61 70 70 6c 69 65 64 | 20 74 6f 20 73 69 6d 30 | applied| to sim0|
|000001a0| 39 20 66 69 6c 65 73 20 | 74 6f 20 67 65 74 20 69 |9 files |to get i|
|000001b0| 74 20 74 6f 20 63 6f 6d | 70 69 6c 65 20 61 6e 64 |t to com|pile and|
|000001c0| 0a 65 78 65 63 75 74 65 | 20 75 73 69 6e 67 20 67 |.execute| using g|
|000001d0| 63 63 20 31 2e 33 37 20 | 6f 6e 20 61 20 53 75 6e |cc 1.37 |on a Sun|
|000001e0| 20 33 2f 38 30 20 72 75 | 6e 6e 69 6e 67 20 53 75 | 3/80 ru|nning Su|
|000001f0| 6e 4f 53 20 34 2e 31 2e | 31 2e 20 20 49 20 61 6c |nOS 4.1.|1. I al|
|00000200| 73 6f 20 68 61 76 65 20 | 69 6e 63 6c 75 64 65 64 |so have |included|
|00000210| 0a 61 20 6d 61 6b 65 66 | 69 6c 65 20 74 6f 20 61 |.a makef|ile to a|
|00000220| 75 74 6f 6d 61 74 65 20 | 74 68 65 20 70 72 6f 63 |utomate |the proc|
|00000230| 65 73 73 2e 0a 0a 54 68 | 65 20 6d 61 69 6e 20 6f |ess...Th|e main o|
|00000240| 62 73 74 61 63 6c 65 20 | 74 68 61 74 20 49 20 65 |bstacle |that I e|
|00000250| 6e 63 6f 75 6e 74 65 72 | 65 64 20 69 6e 20 67 65 |ncounter|ed in ge|
|00000260| 74 74 69 6e 67 20 73 69 | 6d 30 39 20 74 6f 20 77 |tting si|m09 to w|
|00000270| 6f 72 6b 20 77 61 73 20 | 73 69 67 6e 65 64 20 76 |ork was |signed v|
|00000280| 73 2e 0a 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |s..unsig|ned char|
|00000290| 27 73 20 61 73 20 77 65 | 6c 6c 20 61 73 20 74 68 |'s as we|ll as th|
|000002a0| 65 20 73 69 7a 65 20 6f | 66 20 69 6e 74 27 73 2e |e size o|f int's.|
|000002b0| 0a 0a 49 20 61 64 64 65 | 64 20 70 72 6f 74 6f 74 |..I adde|d protot|
|000002c0| 79 70 65 73 20 66 6f 72 | 20 61 6c 6c 20 72 6f 75 |ypes for| all rou|
|000002d0| 74 69 6e 65 73 20 74 6f | 20 74 68 65 20 6d 61 69 |tines to| the mai|
|000002e0| 6e 2e 68 20 66 69 6c 65 | 2e 20 20 54 68 69 73 20 |n.h file|. This |
|000002f0| 72 65 73 75 6c 74 65 64 | 20 69 6e 20 74 68 65 0a |resulted| in the.|
|00000300| 64 65 6c 65 74 69 6f 6e | 20 6f 66 20 64 69 73 61 |deletion| of disa|
|00000310| 2e 68 20 6d 65 6e 75 2e | 68 20 61 6e 64 20 73 69 |.h menu.|h and si|
|00000320| 6d 75 6c 61 74 65 2e 68 | 2e 20 20 54 68 65 20 70 |mulate.h|. The p|
|00000330| 72 6f 74 6f 74 79 70 65 | 73 20 65 78 70 6f 73 65 |rototype|s expose|
|00000340| 64 20 73 65 76 65 72 61 | 6c 20 63 61 73 65 73 0a |d severa|l cases.|
|00000350| 69 6e 20 77 68 69 63 68 | 20 69 6d 70 72 6f 70 65 |in which| imprope|
|00000360| 72 20 6e 75 6d 62 65 72 | 20 6f 66 20 61 72 67 75 |r number| of argu|
|00000370| 6d 65 6e 74 73 20 77 65 | 72 65 20 62 65 69 6e 67 |ments we|re being|
|00000380| 20 70 61 73 73 65 64 2e | 0a 0a 23 21 20 2f 62 69 | passed.|..#! /bi|
|00000390| 6e 2f 73 68 0a 23 20 54 | 68 69 73 20 69 73 20 61 |n/sh.# T|his is a|
|000003a0| 20 73 68 65 6c 6c 20 61 | 72 63 68 69 76 65 2e 20 | shell a|rchive. |
|000003b0| 20 52 65 6d 6f 76 65 20 | 61 6e 79 74 68 69 6e 67 | Remove |anything|
|000003c0| 20 62 65 66 6f 72 65 20 | 74 68 69 73 20 6c 69 6e | before |this lin|
|000003d0| 65 2c 20 74 68 65 6e 20 | 75 6e 70 61 63 6b 0a 23 |e, then |unpack.#|
|000003e0| 20 69 74 20 62 79 20 73 | 61 76 69 6e 67 20 69 74 | it by s|aving it|
|000003f0| 20 69 6e 74 6f 20 61 20 | 66 69 6c 65 20 61 6e 64 | into a |file and|
|00000400| 20 74 79 70 69 6e 67 20 | 22 73 68 20 66 69 6c 65 | typing |"sh file|
|00000410| 22 2e 20 20 54 6f 20 6f | 76 65 72 77 72 69 74 65 |". To o|verwrite|
|00000420| 20 65 78 69 73 74 69 6e | 67 0a 23 20 66 69 6c 65 | existin|g.# file|
|00000430| 73 2c 20 74 79 70 65 20 | 22 73 68 20 66 69 6c 65 |s, type |"sh file|
|00000440| 20 2d 63 22 2e 20 20 59 | 6f 75 20 63 61 6e 20 61 | -c". Y|ou can a|
|00000450| 6c 73 6f 20 66 65 65 64 | 20 74 68 69 73 20 61 73 |lso feed| this as|
|00000460| 20 73 74 61 6e 64 61 72 | 64 20 69 6e 70 75 74 20 | standar|d input |
|00000470| 76 69 61 0a 23 20 75 6e | 73 68 61 72 2c 20 6f 72 |via.# un|shar, or|
|00000480| 20 62 79 20 74 79 70 69 | 6e 67 20 22 73 68 20 3c | by typi|ng "sh <|
|00000490| 66 69 6c 65 22 2c 20 65 | 2e 67 2e 2e 20 20 49 66 |file", e|.g.. If|
|000004a0| 20 74 68 69 73 20 61 72 | 63 68 69 76 65 20 69 73 | this ar|chive is|
|000004b0| 20 63 6f 6d 70 6c 65 74 | 65 2c 20 79 6f 75 0a 23 | complet|e, you.#|
|000004c0| 20 77 69 6c 6c 20 73 65 | 65 20 74 68 65 20 66 6f | will se|e the fo|
|000004d0| 6c 6c 6f 77 69 6e 67 20 | 6d 65 73 73 61 67 65 20 |llowing |message |
|000004e0| 61 74 20 74 68 65 20 65 | 6e 64 3a 0a 23 09 09 22 |at the e|nd:.#.."|
|000004f0| 45 6e 64 20 6f 66 20 73 | 68 65 6c 6c 20 61 72 63 |End of s|hell arc|
|00000500| 68 69 76 65 2e 22 0a 23 | 20 43 6f 6e 74 65 6e 74 |hive.".#| Content|
|00000510| 73 3a 20 20 73 69 6d 2e | 70 61 74 63 68 20 6d 61 |s: sim.|patch ma|
|00000520| 6b 65 66 69 6c 65 0a 23 | 20 57 72 61 70 70 65 64 |kefile.#| Wrapped|
|00000530| 20 62 79 20 64 65 6e 6e | 69 73 73 40 61 61 72 6f | by denn|iss@aaro|
|00000540| 6e 20 6f 6e 20 4d 6f 6e | 20 4e 6f 76 20 31 36 20 |n on Mon| Nov 16 |
|00000550| 31 37 3a 31 30 3a 33 31 | 20 31 39 39 32 0a 50 41 |17:10:31| 1992.PA|
|00000560| 54 48 3d 2f 62 69 6e 3a | 2f 75 73 72 2f 62 69 6e |TH=/bin:|/usr/bin|
|00000570| 3a 2f 75 73 72 2f 75 63 | 62 20 3b 20 65 78 70 6f |:/usr/uc|b ; expo|
|00000580| 72 74 20 50 41 54 48 0a | 69 66 20 74 65 73 74 20 |rt PATH.|if test |
|00000590| 2d 66 20 27 73 69 6d 2e | 70 61 74 63 68 27 20 2d |-f 'sim.|patch' -|
|000005a0| 61 20 22 24 7b 31 7d 22 | 20 21 3d 20 22 2d 63 22 |a "${1}"| != "-c"|
|000005b0| 20 3b 20 74 68 65 6e 20 | 0a 20 20 65 63 68 6f 20 | ; then |. echo |
|000005c0| 73 68 61 72 3a 20 57 69 | 6c 6c 20 6e 6f 74 20 63 |shar: Wi|ll not c|
|000005d0| 6c 6f 62 62 65 72 20 65 | 78 69 73 74 69 6e 67 20 |lobber e|xisting |
|000005e0| 66 69 6c 65 20 5c 22 27 | 73 69 6d 2e 70 61 74 63 |file \"'|sim.patc|
|000005f0| 68 27 5c 22 0a 65 6c 73 | 65 0a 65 63 68 6f 20 73 |h'\".els|e.echo s|
|00000600| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00000610| 5c 22 27 73 69 6d 2e 70 | 61 74 63 68 27 5c 22 20 |\"'sim.p|atch'\" |
|00000620| 5c 28 35 36 34 32 32 20 | 63 68 61 72 61 63 74 65 |\(56422 |characte|
|00000630| 72 73 5c 29 0a 73 65 64 | 20 22 73 2f 5e 58 2f 2f |rs\).sed| "s/^X//|
|00000640| 22 20 3e 27 73 69 6d 2e | 70 61 74 63 68 27 20 3c |" >'sim.|patch' <|
|00000650| 3c 27 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |<'END_OF|_FILE'.X|
|00000660| 2a 2a 2a 20 61 6c 75 2e | 63 2e 6f 72 69 67 09 53 |*** alu.|c.orig.S|
|00000670| 61 74 20 53 65 70 20 31 | 39 20 31 39 3a 31 31 3a |at Sep 1|9 19:11:|
|00000680| 31 33 20 31 39 39 32 0a | 58 2d 2d 2d 20 61 6c 75 |13 1992.|X--- alu|
|00000690| 2e 63 09 4d 6f 6e 20 4e | 6f 76 20 31 36 20 31 36 |.c.Mon N|ov 16 16|
|000006a0| 3a 33 39 3a 34 34 20 31 | 39 39 32 0a 58 2a 2a 2a |:39:44 1|992.X***|
|000006b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|000006c0| 2a 20 33 2c 39 20 2a 2a | 2a 2a 0a 58 20 20 2f 2a |* 3,9 **|**.X /*|
|000006d0| 0a 58 20 20 09 38 20 62 | 69 74 20 61 72 69 74 68 |.X .8 b|it arith|
|000006e0| 6d 65 74 69 63 0a 58 20 | 20 2a 2f 0a 58 21 20 69 |metic.X | */.X! i|
|000006f0| 6e 74 20 61 6c 75 28 69 | 6e 74 20 6f 70 65 72 61 |nt alu(i|nt opera|
|00000700| 74 69 6f 6e 2c 75 6e 73 | 69 67 6e 65 64 20 69 6e |tion,uns|igned in|
|00000710| 74 20 64 30 2c 75 6e 73 | 69 67 6e 65 64 20 69 6e |t d0,uns|igned in|
|00000720| 74 20 64 31 29 0a 58 20 | 20 7b 0a 58 20 20 09 69 |t d1).X | {.X .i|
|00000730| 6e 74 20 74 6d 70 3b 0a | 58 20 20 0a 58 2d 2d 2d |nt tmp;.|X .X---|
|00000740| 20 33 2c 39 20 2d 2d 2d | 2d 0a 58 20 20 2f 2a 0a | 3,9 ---|-.X /*.|
|00000750| 58 20 20 09 38 20 62 69 | 74 20 61 72 69 74 68 6d |X .8 bi|t arithm|
|00000760| 65 74 69 63 0a 58 20 20 | 2a 2f 0a 58 21 20 75 6e |etic.X |*/.X! un|
|00000770| 73 69 67 6e 65 64 20 61 | 6c 75 28 69 6e 74 20 6f |signed a|lu(int o|
|00000780| 70 65 72 61 74 69 6f 6e | 2c 75 6e 73 69 67 6e 65 |peration|,unsigne|
|00000790| 64 20 64 30 2c 75 6e 73 | 69 67 6e 65 64 20 64 31 |d d0,uns|igned d1|
|000007a0| 29 0a 58 20 20 7b 0a 58 | 20 20 09 69 6e 74 20 74 |).X {.X| .int t|
|000007b0| 6d 70 3b 0a 58 20 20 0a | 58 2a 2a 2a 2a 2a 2a 2a |mp;.X .|X*******|
|000007c0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 2a 2a 2a 20 31 36 |********|.X*** 16|
|000007d0| 33 2c 31 36 39 20 2a 2a | 2a 2a 0a 58 20 20 09 72 |3,169 **|**.X .r|
|000007e0| 65 74 75 72 6e 28 74 6d | 70 29 3b 0a 58 20 20 7d |eturn(tm|p);.X }|
|000007f0| 0a 58 20 20 0a 58 21 20 | 69 6e 74 20 61 6c 75 31 |.X .X! |int alu1|
|00000800| 36 28 69 6e 74 20 6f 70 | 65 72 61 74 69 6f 6e 2c |6(int op|eration,|
|00000810| 75 6e 73 69 67 6e 65 64 | 20 74 30 2c 75 6e 73 69 |unsigned| t0,unsi|
|00000820| 67 6e 65 64 20 74 31 29 | 0a 58 20 20 7b 0a 58 20 |gned t1)|.X {.X |
|00000830| 20 09 6c 6f 6e 67 20 74 | 6d 70 2c 64 30 3d 74 30 | .long t|mp,d0=t0|
|00000840| 2c 64 31 3d 74 31 3b 0a | 58 20 20 0a 58 2d 2d 2d |,d1=t1;.|X .X---|
|00000850| 20 31 36 33 2c 31 36 39 | 20 2d 2d 2d 2d 0a 58 20 | 163,169| ----.X |
|00000860| 20 09 72 65 74 75 72 6e | 28 74 6d 70 29 3b 0a 58 | .return|(tmp);.X|
|00000870| 20 20 7d 0a 58 20 20 0a | 58 21 20 75 6e 73 69 67 | }.X .|X! unsig|
|00000880| 6e 65 64 20 61 6c 75 31 | 36 28 69 6e 74 20 6f 70 |ned alu1|6(int op|
|00000890| 65 72 61 74 69 6f 6e 2c | 75 6e 73 69 67 6e 65 64 |eration,|unsigned|
|000008a0| 20 74 30 2c 75 6e 73 69 | 67 6e 65 64 20 74 31 29 | t0,unsi|gned t1)|
|000008b0| 0a 58 20 20 7b 0a 58 20 | 20 09 6c 6f 6e 67 20 74 |.X {.X | .long t|
|000008c0| 6d 70 2c 64 30 3d 74 30 | 2c 64 31 3d 74 31 3b 0a |mp,d0=t0|,d1=t1;.|
|000008d0| 58 20 20 0a 58 2a 2a 2a | 20 62 72 65 61 6b 70 6f |X .X***| breakpo|
|000008e0| 69 6e 74 2e 63 2e 6f 72 | 69 67 09 54 68 75 20 4e |int.c.or|ig.Thu N|
|000008f0| 6f 76 20 20 35 20 31 30 | 3a 32 32 3a 33 33 20 31 |ov 5 10|:22:33 1|
|00000900| 39 39 32 0a 58 2d 2d 2d | 20 62 72 65 61 6b 70 6f |992.X---| breakpo|
|00000910| 69 6e 74 2e 63 09 4d 6f | 6e 20 4e 6f 76 20 31 36 |int.c.Mo|n Nov 16|
|00000920| 20 30 39 3a 34 36 3a 33 | 30 20 31 39 39 32 0a 58 | 09:46:3|0 1992.X|
|00000930| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00000940| 58 2a 2a 2a 20 31 2c 36 | 20 2a 2a 2a 2a 0a 58 20 |X*** 1,6| ****.X |
|00000950| 20 23 69 6e 63 6c 75 64 | 65 20 3c 63 75 72 73 65 | #includ|e <curse|
|00000960| 73 2e 68 3e 0a 58 20 20 | 23 69 6e 63 6c 75 64 65 |s.h>.X |#include|
|00000970| 20 22 6d 61 69 6e 2e 68 | 22 0a 58 2d 20 23 69 6e | "main.h|".X- #in|
|00000980| 63 6c 75 64 65 20 22 6d | 65 6e 75 2e 68 22 0a 58 |clude "m|enu.h".X|
|00000990| 20 20 0a 58 20 20 0a 58 | 20 20 63 6f 6e 73 74 20 | .X .X| const |
|000009a0| 63 68 61 72 20 2a 62 72 | 65 61 6b 6d 65 6e 75 5b |char *br|eakmenu[|
|000009b0| 34 5d 3d 7b 22 41 64 64 | 20 61 20 62 72 65 61 6b |4]={"Add| a break|
|000009c0| 70 6f 69 6e 74 20 20 20 | 20 20 22 2c 0a 58 2d 2d |point | ",.X--|
|000009d0| 2d 20 31 2c 35 20 2d 2d | 2d 2d 0a 58 2a 2a 2a 2a |- 1,5 --|--.X****|
|000009e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|000009f0| 20 31 30 2c 32 30 20 2a | 2a 2a 2a 0a 58 20 20 0a | 10,20 *|***.X .|
|00000a00| 58 20 20 62 72 65 61 6b | 70 6f 69 6e 74 28 29 0a |X break|point().|
|00000a10| 58 20 20 7b 0a 58 2d 20 | 09 65 78 74 65 72 6e 20 |X {.X- |.extern |
|00000a20| 57 49 4e 44 4f 57 20 2a | 64 69 73 70 6c 61 79 77 |WINDOW *|displayw|
|00000a30| 69 6e 2c 20 2a 74 6f 70 | 77 69 6e 3b 0a 58 20 20 |in, *top|win;.X |
|00000a40| 09 57 49 4e 44 4f 57 20 | 2a 62 72 65 61 6b 77 69 |.WINDOW |*breakwi|
|00000a50| 6e 3b 0a 58 20 20 09 69 | 6e 74 20 63 68 6f 69 78 |n;.X .i|nt choix|
|00000a60| 3d 30 3b 0a 58 20 20 0a | 58 21 20 09 63 68 6f 69 |=0;.X .|X! .choi|
|00000a70| 78 3d 6d 65 6e 75 28 34 | 2c 62 72 65 61 6b 6d 65 |x=menu(4|,breakme|
|00000a80| 6e 75 2c 32 2c 33 38 2c | 63 68 6f 69 78 29 3b 0a |nu,2,38,|choix);.|
|00000a90| 58 20 20 09 74 6f 75 63 | 68 77 69 6e 28 74 6f 70 |X .touc|hwin(top|
|00000aa0| 77 69 6e 29 3b 0a 58 20 | 20 09 77 72 65 66 72 65 |win);.X | .wrefre|
|00000ab0| 73 68 28 74 6f 70 77 69 | 6e 29 3b 0a 58 20 20 09 |sh(topwi|n);.X .|
|00000ac0| 74 6f 75 63 68 77 69 6e | 28 64 69 73 70 6c 61 79 |touchwin|(display|
|00000ad0| 77 69 6e 29 3b 0a 58 2d | 2d 2d 20 39 2c 31 38 20 |win);.X-|-- 9,18 |
|00000ae0| 2d 2d 2d 2d 0a 58 20 20 | 0a 58 20 20 62 72 65 61 |----.X |.X brea|
|00000af0| 6b 70 6f 69 6e 74 28 29 | 0a 58 20 20 7b 0a 58 20 |kpoint()|.X {.X |
|00000b00| 20 09 57 49 4e 44 4f 57 | 20 2a 62 72 65 61 6b 77 | .WINDOW| *breakw|
|00000b10| 69 6e 3b 0a 58 20 20 09 | 69 6e 74 20 63 68 6f 69 |in;.X .|int choi|
|00000b20| 78 3d 30 3b 0a 58 20 20 | 0a 58 21 20 09 63 68 6f |x=0;.X |.X! .cho|
|00000b30| 69 78 3d 6d 65 6e 75 28 | 34 2c 62 72 65 61 6b 6d |ix=menu(|4,breakm|
|00000b40| 65 6e 75 2c 32 2c 33 38 | 29 3b 0a 58 20 20 09 74 |enu,2,38|);.X .t|
|00000b50| 6f 75 63 68 77 69 6e 28 | 74 6f 70 77 69 6e 29 3b |ouchwin(|topwin);|
|00000b60| 0a 58 20 20 09 77 72 65 | 66 72 65 73 68 28 74 6f |.X .wre|fresh(to|
|00000b70| 70 77 69 6e 29 3b 0a 58 | 20 20 09 74 6f 75 63 68 |pwin);.X| .touch|
|00000b80| 77 69 6e 28 64 69 73 70 | 6c 61 79 77 69 6e 29 3b |win(disp|laywin);|
|00000b90| 0a 58 2a 2a 2a 20 63 73 | 68 65 6c 6c 2e 63 2e 6f |.X*** cs|hell.c.o|
|00000ba0| 72 69 67 09 53 75 6e 20 | 4f 63 74 20 31 38 20 30 |rig.Sun |Oct 18 0|
|00000bb0| 37 3a 34 36 3a 33 34 20 | 31 39 39 32 0a 58 2d 2d |7:46:34 |1992.X--|
|00000bc0| 2d 20 63 73 68 65 6c 6c | 2e 63 09 4d 6f 6e 20 4e |- cshell|.c.Mon N|
|00000bd0| 6f 76 20 31 36 20 30 39 | 3a 34 36 3a 34 34 20 31 |ov 16 09|:46:44 1|
|00000be0| 39 39 32 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |992.X***|********|
|00000bf0| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 36 2c 31 35 20 2a |****.X**|* 6,15 *|
|00000c00| 2a 2a 2a 0a 58 20 20 63 | 73 68 65 6c 6c 28 29 0a |***.X c|shell().|
|00000c10| 58 20 20 7b 0a 58 20 20 | 09 57 49 4e 44 4f 57 20 |X {.X |.WINDOW |
|00000c20| 2a 73 68 65 6c 6c 77 69 | 6e 3b 0a 58 2d 20 09 65 |*shellwi|n;.X- .e|
|00000c30| 78 74 65 72 6e 20 20 57 | 49 4e 44 4f 57 20 20 2a |xtern W|INDOW *|
|00000c40| 74 6f 70 77 69 6e 2c 0a | 58 2d 20 09 09 09 2a 64 |topwin,.|X- ...*d|
|00000c50| 69 73 70 6c 61 79 77 69 | 6e 2c 0a 58 2d 20 09 09 |isplaywi|n,.X- ..|
|00000c60| 09 2a 72 65 67 77 69 6e | 3b 0a 58 2d 20 09 65 78 |.*regwin|;.X- .ex|
|00000c70| 74 65 72 6e 20 76 6f 69 | 64 20 64 69 73 70 6c 61 |tern voi|d displa|
|00000c80| 79 5f 72 65 67 69 73 74 | 65 72 73 28 29 3b 0a 58 |y_regist|ers();.X|
|00000c90| 20 20 09 63 68 61 72 20 | 63 6f 6d 6d 61 6e 64 65 | .char |commande|
|00000ca0| 5b 33 32 5d 3b 0a 58 20 | 20 0a 58 20 20 09 6e 6f |[32];.X | .X .no|
|00000cb0| 63 62 72 65 61 6b 28 29 | 3b 0a 58 2d 2d 2d 20 36 |cbreak()|;.X--- 6|
|00000cc0| 2c 31 31 20 2d 2d 2d 2d | 0a 58 2a 2a 2a 20 64 5f |,11 ----|.X*** d_|
|00000cd0| 64 69 72 65 63 74 2e 63 | 2e 6f 72 69 67 09 4d 6f |direct.c|.orig.Mo|
|00000ce0| 6e 20 53 65 70 20 32 31 | 20 30 39 3a 30 39 3a 30 |n Sep 21| 09:09:0|
|00000cf0| 38 20 31 39 39 32 0a 58 | 2d 2d 2d 20 64 5f 64 69 |8 1992.X|--- d_di|
|00000d00| 72 65 63 74 2e 63 09 4d | 6f 6e 20 4e 6f 76 20 31 |rect.c.M|on Nov 1|
|00000d10| 36 20 31 36 3a 35 32 3a | 33 39 20 31 39 39 32 0a |6 16:52:|39 1992.|
|00000d20| 58 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X*******|********|
|00000d30| 0a 58 2a 2a 2a 20 31 2c | 32 30 20 2a 2a 2a 2a 0a |.X*** 1,|20 ****.|
|00000d40| 58 20 20 23 69 6e 63 6c | 75 64 65 20 22 6d 61 69 |X #incl|ude "mai|
|00000d50| 6e 2e 68 22 0a 58 21 20 | 23 69 6e 63 6c 75 64 65 |n.h".X! |#include|
|00000d60| 20 22 64 69 73 61 2e 68 | 22 0a 58 21 20 23 64 65 | "disa.h|".X! #de|
|00000d70| 66 69 6e 65 20 46 41 4c | 53 45 20 30 0a 58 21 20 |fine FAL|SE 0.X! |
|00000d80| 23 64 65 66 69 6e 65 20 | 54 52 55 45 20 31 0a 58 |#define |TRUE 1.X|
|00000d90| 20 20 2f 2a 0a 58 20 20 | 09 43 68 65 72 63 68 65 | /*.X |.Cherche|
|00000da0| 20 75 6e 65 20 69 6e 73 | 74 72 75 63 74 69 6f 6e | une ins|truction|
|00000db0| 20 65 6e 20 6d 6f 64 65 | 20 44 49 52 45 43 54 0a | en mode| DIRECT.|
|00000dc0| 58 20 20 2a 2f 0a 58 20 | 20 0a 58 21 20 69 6e 74 |X */.X | .X! int|
|00000dd0| 20 64 69 73 61 5f 64 69 | 72 65 63 74 28 75 6e 73 | disa_di|rect(uns|
|00000de0| 69 67 6e 65 64 20 69 6e | 74 20 70 63 29 0a 58 20 |igned in|t pc).X |
|00000df0| 20 7b 0a 58 20 20 09 69 | 6e 74 20 65 72 72 66 6c | {.X .i|nt errfl|
|00000e00| 61 67 3d 54 52 55 45 3b | 0a 58 21 20 09 75 6e 73 |ag=TRUE;|.X! .uns|
|00000e10| 69 67 6e 65 64 20 69 6e | 74 20 6f 70 63 6f 64 65 |igned in|t opcode|
|00000e20| 2c 61 64 72 65 73 73 65 | 2c 74 6d 70 3b 0a 58 20 |,adresse|,tmp;.X |
|00000e30| 20 0a 58 20 20 09 09 69 | 66 20 28 2a 28 6d 65 6d | .X ..i|f (*(mem|
|00000e40| 6f 69 72 65 2b 70 63 29 | 3d 3d 30 78 31 30 20 7c |oire+pc)|==0x10 ||
|00000e50| 7c 20 2a 28 6d 65 6d 6f | 69 72 65 2b 70 63 29 3d || *(memo|ire+pc)=|
|00000e60| 3d 30 78 31 31 29 0a 58 | 20 20 09 09 09 6f 70 63 |=0x11).X| ...opc|
|00000e70| 6f 64 65 3d 20 2a 28 6d | 65 6d 6f 69 72 65 2b 70 |ode= *(m|emoire+p|
|00000e80| 63 29 2a 32 35 36 2b 2a | 28 6d 65 6d 6f 69 72 65 |c)*256+*|(memoire|
|00000e90| 2b 70 63 2b 31 29 3b 0a | 58 20 20 09 09 65 6c 73 |+pc+1);.|X ..els|
|00000ea0| 65 0a 58 21 20 09 09 09 | 6f 70 63 6f 64 65 3d 2a |e.X! ...|opcode=*|
|00000eb0| 28 6d 65 6d 6f 69 72 65 | 2b 70 63 29 3b 0a 58 20 |(memoire|+pc);.X |
|00000ec0| 20 0a 58 20 20 09 09 73 | 77 69 74 63 68 28 6f 70 | .X ..s|witch(op|
|00000ed0| 63 6f 64 65 29 20 7b 0a | 58 20 20 0a 58 2d 2d 2d |code) {.|X .X---|
|00000ee0| 20 31 2c 31 38 20 2d 2d | 2d 2d 0a 58 20 20 23 69 | 1,18 --|--.X #i|
|00000ef0| 6e 63 6c 75 64 65 20 22 | 6d 61 69 6e 2e 68 22 0a |nclude "|main.h".|
|00000f00| 58 21 20 0a 58 20 20 2f | 2a 0a 58 20 20 09 43 68 |X! .X /|*.X .Ch|
|00000f10| 65 72 63 68 65 20 75 6e | 65 20 69 6e 73 74 72 75 |erche un|e instru|
|00000f20| 63 74 69 6f 6e 20 65 6e | 20 6d 6f 64 65 20 44 49 |ction en| mode DI|
|00000f30| 52 45 43 54 0a 58 20 20 | 2a 2f 0a 58 20 20 0a 58 |RECT.X |*/.X .X|
|00000f40| 21 20 69 6e 74 20 64 69 | 73 61 5f 64 69 72 65 63 |! int di|sa_direc|
|00000f50| 74 28 75 6e 73 69 67 6e | 65 64 20 70 63 29 0a 58 |t(unsign|ed pc).X|
|00000f60| 20 20 7b 0a 58 20 20 09 | 69 6e 74 20 65 72 72 66 | {.X .|int errf|
|00000f70| 6c 61 67 3d 54 52 55 45 | 3b 0a 58 21 20 09 75 6e |lag=TRUE|;.X! .un|
|00000f80| 73 69 67 6e 65 64 20 6f | 70 63 6f 64 65 2c 61 64 |signed o|pcode,ad|
|00000f90| 72 65 73 73 65 2c 74 6d | 70 3b 0a 58 20 20 0a 58 |resse,tm|p;.X .X|
|00000fa0| 20 20 09 09 69 66 20 28 | 2a 28 6d 65 6d 6f 69 72 | ..if (|*(memoir|
|00000fb0| 65 2b 70 63 29 3d 3d 30 | 78 31 30 20 7c 7c 20 2a |e+pc)==0|x10 || *|
|00000fc0| 28 6d 65 6d 6f 69 72 65 | 2b 70 63 29 3d 3d 30 78 |(memoire|+pc)==0x|
|00000fd0| 31 31 29 0a 58 20 20 09 | 09 09 6f 70 63 6f 64 65 |11).X .|..opcode|
|00000fe0| 3d 20 2a 28 6d 65 6d 6f | 69 72 65 2b 70 63 29 2a |= *(memo|ire+pc)*|
|00000ff0| 32 35 36 2b 2a 28 6d 65 | 6d 6f 69 72 65 2b 70 63 |256+*(me|moire+pc|
|00001000| 2b 31 29 3b 0a 58 20 20 | 09 09 65 6c 73 65 0a 58 |+1);.X |..else.X|
|00001010| 21 20 09 09 09 6f 70 63 | 6f 64 65 3d 20 2a 28 6d |! ...opc|ode= *(m|
|00001020| 65 6d 6f 69 72 65 2b 70 | 63 29 3b 0a 58 20 20 0a |emoire+p|c);.X .|
|00001030| 58 20 20 09 09 73 77 69 | 74 63 68 28 6f 70 63 6f |X ..swi|tch(opco|
|00001040| 64 65 29 20 7b 0a 58 20 | 20 0a 58 2a 2a 2a 20 64 |de) {.X | .X*** d|
|00001050| 5f 65 78 74 65 6e 64 65 | 64 2e 63 2e 6f 72 69 67 |_extende|d.c.orig|
|00001060| 09 4d 6f 6e 20 53 65 70 | 20 32 31 20 30 39 3a 30 |.Mon Sep| 21 09:0|
|00001070| 39 3a 32 39 20 31 39 39 | 32 0a 58 2d 2d 2d 20 64 |9:29 199|2.X--- d|
|00001080| 5f 65 78 74 65 6e 64 65 | 64 2e 63 09 4d 6f 6e 20 |_extende|d.c.Mon |
|00001090| 4e 6f 76 20 31 36 20 31 | 36 3a 35 32 3a 35 35 20 |Nov 16 1|6:52:55 |
|000010a0| 31 39 39 32 0a 58 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |1992.X**|********|
|000010b0| 2a 2a 2a 2a 2a 0a 58 2a | 2a 2a 20 31 2c 31 36 20 |*****.X*|** 1,16 |
|000010c0| 2a 2a 2a 2a 0a 58 20 20 | 23 69 6e 63 6c 75 64 65 |****.X |#include|
|000010d0| 20 22 6d 61 69 6e 2e 68 | 22 0a 58 21 20 23 69 6e | "main.h|".X! #in|
|000010e0| 63 6c 75 64 65 20 22 64 | 69 73 61 2e 68 22 0a 58 |clude "d|isa.h".X|
|000010f0| 21 20 23 64 65 66 69 6e | 65 20 46 41 4c 53 45 20 |! #defin|e FALSE |
|00001100| 30 0a 58 21 20 23 64 65 | 66 69 6e 65 20 54 52 55 |0.X! #de|fine TRU|
|00001110| 45 20 31 0a 58 20 20 2f | 2a 0a 58 20 20 09 43 68 |E 1.X /|*.X .Ch|
|00001120| 65 72 63 68 65 20 75 6e | 65 20 69 6e 73 74 72 75 |erche un|e instru|
|00001130| 63 74 69 6f 6e 20 65 6e | 20 6d 6f 64 65 20 45 58 |ction en| mode EX|
|00001140| 54 45 4e 44 45 44 0a 58 | 20 20 2a 2f 0a 58 20 20 |TENDED.X| */.X |
|00001150| 0a 58 21 20 69 6e 74 20 | 64 69 73 61 5f 65 78 74 |.X! int |disa_ext|
|00001160| 65 6e 64 65 64 28 75 6e | 73 69 67 6e 65 64 20 69 |ended(un|signed i|
|00001170| 6e 74 20 70 63 29 0a 58 | 20 20 0a 58 20 20 7b 0a |nt pc).X| .X {.|
|00001180| 58 20 20 09 69 6e 74 20 | 65 72 72 66 6c 61 67 3d |X .int |errflag=|
|00001190| 54 52 55 45 3b 0a 58 21 | 20 09 75 6e 73 69 67 6e |TRUE;.X!| .unsign|
|000011a0| 65 64 20 69 6e 74 20 6f | 70 63 6f 64 65 2c 74 6d |ed int o|pcode,tm|
|000011b0| 70 3b 0a 58 20 20 0a 58 | 20 20 09 09 69 66 20 28 |p;.X .X| ..if (|
|000011c0| 2a 28 6d 65 6d 6f 69 72 | 65 2b 70 63 29 3d 3d 30 |*(memoir|e+pc)==0|
|000011d0| 78 31 30 20 7c 7c 20 2a | 28 6d 65 6d 6f 69 72 65 |x10 || *|(memoire|
|000011e0| 2b 70 63 29 3d 3d 30 78 | 31 31 29 0a 58 20 20 09 |+pc)==0x|11).X .|
|000011f0| 09 09 6f 70 63 6f 64 65 | 3d 20 2a 28 6d 65 6d 6f |..opcode|= *(memo|
|00001200| 69 72 65 2b 70 63 29 2a | 32 35 36 2b 2a 28 6d 65 |ire+pc)*|256+*(me|
|00001210| 6d 6f 69 72 65 2b 70 63 | 2b 31 29 3b 0a 58 2d 2d |moire+pc|+1);.X--|
|00001220| 2d 20 31 2c 31 34 20 2d | 2d 2d 2d 0a 58 20 20 23 |- 1,14 -|---.X #|
|00001230| 69 6e 63 6c 75 64 65 20 | 22 6d 61 69 6e 2e 68 22 |include |"main.h"|
|00001240| 0a 58 21 20 0a 58 20 20 | 2f 2a 0a 58 20 20 09 43 |.X! .X |/*.X .C|
|00001250| 68 65 72 63 68 65 20 75 | 6e 65 20 69 6e 73 74 72 |herche u|ne instr|
|00001260| 75 63 74 69 6f 6e 20 65 | 6e 20 6d 6f 64 65 20 45 |uction e|n mode E|
|00001270| 58 54 45 4e 44 45 44 0a | 58 20 20 2a 2f 0a 58 20 |XTENDED.|X */.X |
|00001280| 20 0a 58 21 20 69 6e 74 | 20 64 69 73 61 5f 65 78 | .X! int| disa_ex|
|00001290| 74 65 6e 64 65 64 28 75 | 6e 73 69 67 6e 65 64 20 |tended(u|nsigned |
|000012a0| 70 63 29 0a 58 20 20 0a | 58 20 20 7b 0a 58 20 20 |pc).X .|X {.X |
|000012b0| 09 69 6e 74 20 65 72 72 | 66 6c 61 67 3d 54 52 55 |.int err|flag=TRU|
|000012c0| 45 3b 0a 58 21 20 09 75 | 6e 73 69 67 6e 65 64 20 |E;.X! .u|nsigned |
|000012d0| 6f 70 63 6f 64 65 2c 74 | 6d 70 3b 0a 58 20 20 0a |opcode,t|mp;.X .|
|000012e0| 58 20 20 09 09 69 66 20 | 28 2a 28 6d 65 6d 6f 69 |X ..if |(*(memoi|
|000012f0| 72 65 2b 70 63 29 3d 3d | 30 78 31 30 20 7c 7c 20 |re+pc)==|0x10 || |
|00001300| 2a 28 6d 65 6d 6f 69 72 | 65 2b 70 63 29 3d 3d 30 |*(memoir|e+pc)==0|
|00001310| 78 31 31 29 0a 58 20 20 | 09 09 09 6f 70 63 6f 64 |x11).X |...opcod|
|00001320| 65 3d 20 2a 28 6d 65 6d | 6f 69 72 65 2b 70 63 29 |e= *(mem|oire+pc)|
|00001330| 2a 32 35 36 2b 2a 28 6d | 65 6d 6f 69 72 65 2b 70 |*256+*(m|emoire+p|
|00001340| 63 2b 31 29 3b 0a 58 2a | 2a 2a 20 64 5f 69 6d 6d |c+1);.X*|** d_imm|
|00001350| 65 64 69 61 74 2e 63 2e | 6f 72 69 67 09 4d 6f 6e |ediat.c.|orig.Mon|
|00001360| 20 53 65 70 20 32 31 20 | 30 39 3a 31 30 3a 30 37 | Sep 21 |09:10:07|
|00001370| 20 31 39 39 32 0a 58 2d | 2d 2d 20 64 5f 69 6d 6d | 1992.X-|-- d_imm|
|00001380| 65 64 69 61 74 2e 63 09 | 4d 6f 6e 20 4e 6f 76 20 |ediat.c.|Mon Nov |
|00001390| 31 36 20 31 36 3a 35 33 | 3a 30 31 20 31 39 39 32 |16 16:53|:01 1992|
|000013a0| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|000013b0| 2a 0a 58 2a 2a 2a 20 31 | 2c 31 37 20 2a 2a 2a 2a |*.X*** 1|,17 ****|
|000013c0| 0a 58 20 20 23 69 6e 63 | 6c 75 64 65 20 22 6d 61 |.X #inc|lude "ma|
|000013d0| 69 6e 2e 68 22 0a 58 2d | 20 23 69 6e 63 6c 75 64 |in.h".X-| #includ|
|000013e0| 65 20 22 64 69 73 61 2e | 68 22 0a 58 20 20 23 69 |e "disa.|h".X #i|
|000013f0| 6e 63 6c 75 64 65 20 22 | 6f 70 65 72 61 6e 64 2e |nclude "|operand.|
|00001400| 68 22 0a 58 21 20 23 64 | 65 66 69 6e 65 20 46 41 |h".X! #d|efine FA|
|00001410| 4c 53 45 20 30 0a 58 21 | 20 23 64 65 66 69 6e 65 |LSE 0.X!| #define|
|00001420| 20 54 52 55 45 20 31 0a | 58 20 20 2f 2a 0a 58 20 | TRUE 1.|X /*.X |
|00001430| 20 09 44 49 53 41 53 53 | 45 4d 42 4c 45 20 69 6e | .DISASS|EMBLE in|
|00001440| 20 69 6d 6d 65 64 69 61 | 74 20 6d 6f 64 65 0a 58 | immedia|t mode.X|
|00001450| 20 20 2a 2f 0a 58 20 20 | 0a 58 21 20 69 6e 74 20 | */.X |.X! int |
|00001460| 64 69 73 61 5f 69 6d 6d | 65 64 69 61 74 28 70 63 |disa_imm|ediat(pc|
|00001470| 29 0a 58 21 20 09 75 6e | 73 69 67 6e 65 64 20 69 |).X! .un|signed i|
|00001480| 6e 74 20 70 63 3b 0a 58 | 20 20 7b 0a 58 20 20 09 |nt pc;.X| {.X .|
|00001490| 69 6e 74 20 65 72 72 66 | 6c 61 67 3d 54 52 55 45 |int errf|lag=TRUE|
|000014a0| 3b 0a 58 21 20 09 75 6e | 73 69 67 6e 65 64 20 69 |;.X! .un|signed i|
|000014b0| 6e 74 20 6f 70 63 6f 64 | 65 2c 74 6d 70 2c 6d 61 |nt opcod|e,tmp,ma|
|000014c0| 73 6b 3b 0a 58 20 20 0a | 58 20 20 09 09 69 66 20 |sk;.X .|X ..if |
|000014d0| 28 2a 28 6d 65 6d 6f 69 | 72 65 2b 70 63 29 3d 3d |(*(memoi|re+pc)==|
|000014e0| 30 78 31 30 20 7c 7c 20 | 2a 28 6d 65 6d 6f 69 72 |0x10 || |*(memoir|
|000014f0| 65 2b 70 63 29 3d 3d 30 | 78 31 31 29 0a 58 20 20 |e+pc)==0|x11).X |
|00001500| 09 09 09 6f 70 63 6f 64 | 65 3d 20 2a 28 6d 65 6d |...opcod|e= *(mem|
|00001510| 6f 69 72 65 2b 70 63 29 | 2a 32 35 36 2b 2a 28 6d |oire+pc)|*256+*(m|
|00001520| 65 6d 6f 69 72 65 2b 70 | 63 2b 31 29 3b 0a 58 2d |emoire+p|c+1);.X-|
|00001530| 2d 2d 20 31 2c 31 34 20 | 2d 2d 2d 2d 0a 58 20 20 |-- 1,14 |----.X |
|00001540| 23 69 6e 63 6c 75 64 65 | 20 22 6d 61 69 6e 2e 68 |#include| "main.h|
|00001550| 22 0a 58 20 20 23 69 6e | 63 6c 75 64 65 20 22 6f |".X #in|clude "o|
|00001560| 70 65 72 61 6e 64 2e 68 | 22 0a 58 21 20 0a 58 20 |perand.h|".X! .X |
|00001570| 20 2f 2a 0a 58 20 20 09 | 44 49 53 41 53 53 45 4d | /*.X .|DISASSEM|
|00001580| 42 4c 45 20 69 6e 20 69 | 6d 6d 65 64 69 61 74 20 |BLE in i|mmediat |
|00001590| 6d 6f 64 65 0a 58 20 20 | 2a 2f 0a 58 20 20 0a 58 |mode.X |*/.X .X|
|000015a0| 21 20 69 6e 74 20 64 69 | 73 61 5f 69 6d 6d 65 64 |! int di|sa_immed|
|000015b0| 69 61 74 28 75 6e 73 69 | 67 6e 65 64 20 70 63 29 |iat(unsi|gned pc)|
|000015c0| 0a 58 20 20 7b 0a 58 20 | 20 09 69 6e 74 20 65 72 |.X {.X | .int er|
|000015d0| 72 66 6c 61 67 3d 54 52 | 55 45 3b 0a 58 21 20 09 |rflag=TR|UE;.X! .|
|000015e0| 75 6e 73 69 67 6e 65 64 | 20 6f 70 63 6f 64 65 2c |unsigned| opcode,|
|000015f0| 74 6d 70 2c 6d 61 73 6b | 3b 0a 58 20 20 0a 58 20 |tmp,mask|;.X .X |
|00001600| 20 09 09 69 66 20 28 2a | 28 6d 65 6d 6f 69 72 65 | ..if (*|(memoire|
|00001610| 2b 70 63 29 3d 3d 30 78 | 31 30 20 7c 7c 20 2a 28 |+pc)==0x|10 || *(|
|00001620| 6d 65 6d 6f 69 72 65 2b | 70 63 29 3d 3d 30 78 31 |memoire+|pc)==0x1|
|00001630| 31 29 0a 58 20 20 09 09 | 09 6f 70 63 6f 64 65 3d |1).X ..|.opcode=|
|00001640| 20 2a 28 6d 65 6d 6f 69 | 72 65 2b 70 63 29 2a 32 | *(memoi|re+pc)*2|
|00001650| 35 36 2b 2a 28 6d 65 6d | 6f 69 72 65 2b 70 63 2b |56+*(mem|oire+pc+|
|00001660| 31 29 3b 0a 58 2a 2a 2a | 20 64 5f 69 6e 64 65 78 |1);.X***| d_index|
|00001670| 65 64 2e 63 2e 6f 72 69 | 67 09 4d 6f 6e 20 53 65 |ed.c.ori|g.Mon Se|
|00001680| 70 20 32 31 20 30 39 3a | 30 37 3a 35 39 20 31 39 |p 21 09:|07:59 19|
|00001690| 39 32 0a 58 2d 2d 2d 20 | 64 5f 69 6e 64 65 78 65 |92.X--- |d_indexe|
|000016a0| 64 2e 63 09 4d 6f 6e 20 | 4e 6f 76 20 31 36 20 31 |d.c.Mon |Nov 16 1|
|000016b0| 36 3a 35 33 3a 30 38 20 | 31 39 39 32 0a 58 2a 2a |6:53:08 |1992.X**|
|000016c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|000016d0| 2a 2a 20 31 2c 31 35 20 | 2a 2a 2a 2a 0a 58 20 20 |** 1,15 |****.X |
|000016e0| 23 69 6e 63 6c 75 64 65 | 20 22 6d 61 69 6e 2e 68 |#include| "main.h|
|000016f0| 22 0a 58 21 20 23 69 6e | 63 6c 75 64 65 20 22 64 |".X! #in|clude "d|
|00001700| 69 73 61 2e 68 22 0a 58 | 21 20 23 64 65 66 69 6e |isa.h".X|! #defin|
|00001710| 65 20 46 41 4c 53 45 20 | 30 0a 58 21 20 23 64 65 |e FALSE |0.X! #de|
|00001720| 66 69 6e 65 20 54 52 55 | 45 20 31 0a 58 20 20 2f |fine TRU|E 1.X /|
|00001730| 2a 0a 58 20 20 09 44 69 | 73 61 73 73 65 6d 62 6c |*.X .Di|sassembl|
|00001740| 65 20 69 6e 20 49 4e 44 | 45 58 45 44 20 6d 6f 64 |e in IND|EXED mod|
|00001750| 65 0a 58 20 20 2a 2f 0a | 58 20 20 0a 58 21 20 69 |e.X */.|X .X! i|
|00001760| 6e 74 20 64 69 73 61 5f | 69 6e 64 65 78 65 64 28 |nt disa_|indexed(|
|00001770| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 20 70 63 29 |unsigned| int pc)|
|00001780| 0a 58 20 20 7b 0a 58 20 | 20 09 69 6e 74 20 65 72 |.X {.X | .int er|
|00001790| 72 66 6c 61 67 3d 54 52 | 55 45 3b 0a 58 21 20 09 |rflag=TR|UE;.X! .|
|000017a0| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 20 6f 70 63 |unsigned| int opc|
|000017b0| 6f 64 65 2c 74 6d 70 3b | 0a 58 20 20 0a 58 20 20 |ode,tmp;|.X .X |
|000017c0| 09 09 69 66 20 28 2a 28 | 6d 65 6d 6f 69 72 65 2b |..if (*(|memoire+|
|000017d0| 70 63 29 3d 3d 30 78 31 | 30 20 7c 7c 20 2a 28 6d |pc)==0x1|0 || *(m|
|000017e0| 65 6d 6f 69 72 65 2b 70 | 63 29 3d 3d 30 78 31 31 |emoire+p|c)==0x11|
|000017f0| 29 0a 58 20 20 09 09 09 | 6f 70 63 6f 64 65 3d 20 |).X ...|opcode= |
|00001800| 2a 28 6d 65 6d 6f 69 72 | 65 2b 70 63 29 2a 32 35 |*(memoir|e+pc)*25|
|00001810| 36 2b 2a 28 6d 65 6d 6f | 69 72 65 2b 70 63 2b 31 |6+*(memo|ire+pc+1|
|00001820| 29 3b 0a 58 2d 2d 2d 20 | 31 2c 31 33 20 2d 2d 2d |);.X--- |1,13 ---|
|00001830| 2d 0a 58 20 20 23 69 6e | 63 6c 75 64 65 20 22 6d |-.X #in|clude "m|
|00001840| 61 69 6e 2e 68 22 0a 58 | 21 20 0a 58 20 20 2f 2a |ain.h".X|! .X /*|
|00001850| 0a 58 20 20 09 44 69 73 | 61 73 73 65 6d 62 6c 65 |.X .Dis|assemble|
|00001860| 20 69 6e 20 49 4e 44 45 | 58 45 44 20 6d 6f 64 65 | in INDE|XED mode|
|00001870| 0a 58 20 20 2a 2f 0a 58 | 20 20 0a 58 21 20 69 6e |.X */.X| .X! in|
|00001880| 74 20 64 69 73 61 5f 69 | 6e 64 65 78 65 64 28 75 |t disa_i|ndexed(u|
|00001890| 6e 73 69 67 6e 65 64 20 | 70 63 29 0a 58 20 20 7b |nsigned |pc).X {|
|000018a0| 0a 58 20 20 09 69 6e 74 | 20 65 72 72 66 6c 61 67 |.X .int| errflag|
|000018b0| 3d 54 52 55 45 3b 0a 58 | 21 20 09 75 6e 73 69 67 |=TRUE;.X|! .unsig|
|000018c0| 6e 65 64 20 6f 70 63 6f | 64 65 2c 74 6d 70 3b 0a |ned opco|de,tmp;.|
|000018d0| 58 20 20 0a 58 20 20 09 | 09 69 66 20 28 2a 28 6d |X .X .|.if (*(m|
|000018e0| 65 6d 6f 69 72 65 2b 70 | 63 29 3d 3d 30 78 31 30 |emoire+p|c)==0x10|
|000018f0| 20 7c 7c 20 2a 28 6d 65 | 6d 6f 69 72 65 2b 70 63 | || *(me|moire+pc|
|00001900| 29 3d 3d 30 78 31 31 29 | 0a 58 20 20 09 09 09 6f |)==0x11)|.X ...o|
|00001910| 70 63 6f 64 65 3d 20 2a | 28 6d 65 6d 6f 69 72 65 |pcode= *|(memoire|
|00001920| 2b 70 63 29 2a 32 35 36 | 2b 2a 28 6d 65 6d 6f 69 |+pc)*256|+*(memoi|
|00001930| 72 65 2b 70 63 2b 31 29 | 3b 0a 58 2a 2a 2a 20 64 |re+pc+1)|;.X*** d|
|00001940| 5f 69 6e 68 65 72 65 6e | 74 2e 63 2e 6f 72 69 67 |_inheren|t.c.orig|
|00001950| 09 4d 6f 6e 20 53 65 70 | 20 32 31 20 30 39 3a 31 |.Mon Sep| 21 09:1|
|00001960| 30 3a 33 34 20 31 39 39 | 32 0a 58 2d 2d 2d 20 64 |0:34 199|2.X--- d|
|00001970| 5f 69 6e 68 65 72 65 6e | 74 2e 63 09 4d 6f 6e 20 |_inheren|t.c.Mon |
|00001980| 4e 6f 76 20 31 36 20 31 | 36 3a 35 33 3a 31 35 20 |Nov 16 1|6:53:15 |
|00001990| 31 39 39 32 0a 58 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |1992.X**|********|
|000019a0| 2a 2a 2a 2a 2a 0a 58 2a | 2a 2a 20 31 2c 31 36 20 |*****.X*|** 1,16 |
|000019b0| 2a 2a 2a 2a 0a 58 20 20 | 23 69 6e 63 6c 75 64 65 |****.X |#include|
|000019c0| 20 22 6d 61 69 6e 2e 68 | 22 0a 58 21 20 23 64 65 | "main.h|".X! #de|
|000019d0| 66 69 6e 65 20 46 41 4c | 53 45 20 30 0a 58 21 20 |fine FAL|SE 0.X! |
|000019e0| 23 64 65 66 69 6e 65 20 | 54 52 55 45 20 31 0a 58 |#define |TRUE 1.X|
|000019f0| 20 20 2f 2a 0a 58 20 20 | 09 43 68 65 72 63 68 65 | /*.X |.Cherche|
|00001a00| 20 75 6e 65 20 69 6e 73 | 74 72 75 63 74 69 6f 6e | une ins|truction|
|00001a10| 20 65 6e 20 6d 6f 64 65 | 20 49 4e 48 45 52 45 4e | en mode| INHEREN|
|00001a20| 54 0a 58 20 20 2a 2f 0a | 58 20 20 0a 58 21 20 69 |T.X */.|X .X! i|
|00001a30| 6e 74 20 64 69 73 61 5f | 69 6e 68 65 72 65 6e 74 |nt disa_|inherent|
|00001a40| 28 70 63 29 0a 58 21 20 | 0a 58 21 20 09 75 6e 73 |(pc).X! |.X! .uns|
|00001a50| 69 67 6e 65 64 20 69 6e | 74 20 70 63 3b 0a 58 20 |igned in|t pc;.X |
|00001a60| 20 7b 0a 58 20 20 09 69 | 6e 74 20 65 72 72 66 6c | {.X .i|nt errfl|
|00001a70| 61 67 3d 54 52 55 45 3b | 0a 58 21 20 09 75 6e 73 |ag=TRUE;|.X! .uns|
|00001a80| 69 67 6e 65 64 20 69 6e | 74 20 6f 70 63 6f 64 65 |igned in|t opcode|
|00001a90| 2c 74 6d 70 2c 6d 61 73 | 6b 3b 0a 58 20 20 0a 58 |,tmp,mas|k;.X .X|
|00001aa0| 20 20 09 09 69 66 20 28 | 2a 28 6d 65 6d 6f 69 72 | ..if (|*(memoir|
|00001ab0| 65 2b 70 63 29 3d 3d 30 | 78 31 31 7c 7c 2a 28 6d |e+pc)==0|x11||*(m|
|00001ac0| 65 6d 6f 69 72 65 2b 70 | 63 29 3d 3d 30 78 31 30 |emoire+p|c)==0x10|
|00001ad0| 29 0a 58 20 20 09 09 09 | 6f 70 63 6f 64 65 3d 20 |).X ...|opcode= |
|00001ae0| 2a 28 6d 65 6d 6f 69 72 | 65 2b 70 63 29 2a 32 35 |*(memoir|e+pc)*25|
|00001af0| 36 2b 2a 28 6d 65 6d 6f | 69 72 65 2b 70 63 2b 31 |6+*(memo|ire+pc+1|
|00001b00| 29 3b 0a 58 2d 2d 2d 20 | 31 2c 31 33 20 2d 2d 2d |);.X--- |1,13 ---|
|00001b10| 2d 0a 58 20 20 23 69 6e | 63 6c 75 64 65 20 22 6d |-.X #in|clude "m|
|00001b20| 61 69 6e 2e 68 22 0a 58 | 21 20 0a 58 20 20 2f 2a |ain.h".X|! .X /*|
|00001b30| 0a 58 20 20 09 43 68 65 | 72 63 68 65 20 75 6e 65 |.X .Che|rche une|
|00001b40| 20 69 6e 73 74 72 75 63 | 74 69 6f 6e 20 65 6e 20 | instruc|tion en |
|00001b50| 6d 6f 64 65 20 49 4e 48 | 45 52 45 4e 54 0a 58 20 |mode INH|ERENT.X |
|00001b60| 20 2a 2f 0a 58 20 20 0a | 58 21 20 69 6e 74 20 64 | */.X .|X! int d|
|00001b70| 69 73 61 5f 69 6e 68 65 | 72 65 6e 74 28 75 6e 73 |isa_inhe|rent(uns|
|00001b80| 69 67 6e 65 64 20 70 63 | 29 0a 58 20 20 7b 0a 58 |igned pc|).X {.X|
|00001b90| 20 20 09 69 6e 74 20 65 | 72 72 66 6c 61 67 3d 54 | .int e|rrflag=T|
|00001ba0| 52 55 45 3b 0a 58 21 20 | 09 75 6e 73 69 67 6e 65 |RUE;.X! |.unsigne|
|00001bb0| 64 20 6f 70 63 6f 64 65 | 2c 74 6d 70 2c 6d 61 73 |d opcode|,tmp,mas|
|00001bc0| 6b 3b 0a 58 20 20 0a 58 | 20 20 09 09 69 66 20 28 |k;.X .X| ..if (|
|00001bd0| 2a 28 6d 65 6d 6f 69 72 | 65 2b 70 63 29 3d 3d 30 |*(memoir|e+pc)==0|
|00001be0| 78 31 31 7c 7c 2a 28 6d | 65 6d 6f 69 72 65 2b 70 |x11||*(m|emoire+p|
|00001bf0| 63 29 3d 3d 30 78 31 30 | 29 0a 58 20 20 09 09 09 |c)==0x10|).X ...|
|00001c00| 6f 70 63 6f 64 65 3d 20 | 2a 28 6d 65 6d 6f 69 72 |opcode= |*(memoir|
|00001c10| 65 2b 70 63 29 2a 32 35 | 36 2b 2a 28 6d 65 6d 6f |e+pc)*25|6+*(memo|
|00001c20| 69 72 65 2b 70 63 2b 31 | 29 3b 0a 58 2a 2a 2a 20 |ire+pc+1|);.X*** |
|00001c30| 64 5f 72 65 6c 61 74 69 | 76 65 2e 63 2e 6f 72 69 |d_relati|ve.c.ori|
|00001c40| 67 09 4d 6f 6e 20 53 65 | 70 20 32 31 20 30 39 3a |g.Mon Se|p 21 09:|
|00001c50| 31 30 3a 35 36 20 31 39 | 39 32 0a 58 2d 2d 2d 20 |10:56 19|92.X--- |
|00001c60| 64 5f 72 65 6c 61 74 69 | 76 65 2e 63 09 4d 6f 6e |d_relati|ve.c.Mon|
|00001c70| 20 4e 6f 76 20 31 36 20 | 31 36 3a 35 33 3a 32 32 | Nov 16 |16:53:22|
|00001c80| 20 31 39 39 32 0a 58 2a | 2a 2a 2a 2a 2a 2a 2a 2a | 1992.X*|********|
|00001c90| 2a 2a 2a 2a 2a 2a 0a 58 | 2a 2a 2a 20 31 2c 31 36 |******.X|*** 1,16|
|00001ca0| 20 2a 2a 2a 2a 0a 58 20 | 20 23 69 6e 63 6c 75 64 | ****.X | #includ|
|00001cb0| 65 20 22 6d 61 69 6e 2e | 68 22 0a 58 2d 20 23 69 |e "main.|h".X- #i|
|00001cc0| 6e 63 6c 75 64 65 20 22 | 64 69 73 61 2e 68 22 0a |nclude "|disa.h".|
|00001cd0| 58 20 20 23 69 6e 63 6c | 75 64 65 20 22 6f 70 65 |X #incl|ude "ope|
|00001ce0| 72 61 6e 64 2e 68 22 0a | 58 21 20 23 64 65 66 69 |rand.h".|X! #defi|
|00001cf0| 6e 65 20 46 41 4c 53 45 | 20 30 0a 58 21 20 23 64 |ne FALSE| 0.X! #d|
|00001d00| 65 66 69 6e 65 20 54 52 | 55 45 20 31 0a 58 20 20 |efine TR|UE 1.X |
|00001d10| 2f 2a 0a 58 20 20 09 43 | 68 65 72 63 68 65 20 75 |/*.X .C|herche u|
|00001d20| 6e 65 20 69 6e 73 74 72 | 75 63 74 69 6f 6e 20 65 |ne instr|uction e|
|00001d30| 6e 20 6d 6f 64 65 20 52 | 45 4c 41 54 49 56 45 0a |n mode R|ELATIVE.|
|00001d40| 58 20 20 2a 2f 0a 58 20 | 20 0a 58 21 20 69 6e 74 |X */.X | .X! int|
|00001d50| 20 64 69 73 61 5f 72 65 | 6c 61 74 69 76 65 28 75 | disa_re|lative(u|
|00001d60| 6e 73 69 67 6e 65 64 20 | 69 6e 74 20 70 63 29 0a |nsigned |int pc).|
|00001d70| 58 20 20 7b 0a 58 20 20 | 09 69 6e 74 20 65 72 72 |X {.X |.int err|
|00001d80| 66 6c 61 67 3d 54 52 55 | 45 3b 0a 58 21 20 09 75 |flag=TRU|E;.X! .u|
|00001d90| 6e 73 69 67 6e 65 64 20 | 69 6e 74 20 6f 70 63 6f |nsigned |int opco|
|00001da0| 64 65 3b 0a 58 20 20 0a | 58 20 20 09 09 69 66 20 |de;.X .|X ..if |
|00001db0| 28 2a 28 6d 65 6d 6f 69 | 72 65 2b 70 63 29 3d 3d |(*(memoi|re+pc)==|
|00001dc0| 30 78 31 30 29 0a 58 20 | 20 09 09 09 6f 70 63 6f |0x10).X | ...opco|
|00001dd0| 64 65 3d 20 2a 28 6d 65 | 6d 6f 69 72 65 2b 70 63 |de= *(me|moire+pc|
|00001de0| 29 2a 32 35 36 2b 2a 28 | 6d 65 6d 6f 69 72 65 2b |)*256+*(|memoire+|
|00001df0| 70 63 2b 31 29 3b 0a 58 | 2d 2d 2d 20 31 2c 31 34 |pc+1);.X|--- 1,14|
|00001e00| 20 2d 2d 2d 2d 0a 58 20 | 20 23 69 6e 63 6c 75 64 | ----.X | #includ|
|00001e10| 65 20 22 6d 61 69 6e 2e | 68 22 0a 58 20 20 23 69 |e "main.|h".X #i|
|00001e20| 6e 63 6c 75 64 65 20 22 | 6f 70 65 72 61 6e 64 2e |nclude "|operand.|
|00001e30| 68 22 0a 58 21 20 0a 58 | 20 20 2f 2a 0a 58 20 20 |h".X! .X| /*.X |
|00001e40| 09 43 68 65 72 63 68 65 | 20 75 6e 65 20 69 6e 73 |.Cherche| une ins|
|00001e50| 74 72 75 63 74 69 6f 6e | 20 65 6e 20 6d 6f 64 65 |truction| en mode|
|00001e60| 20 52 45 4c 41 54 49 56 | 45 0a 58 20 20 2a 2f 0a | RELATIV|E.X */.|
|00001e70| 58 20 20 0a 58 21 20 69 | 6e 74 20 64 69 73 61 5f |X .X! i|nt disa_|
|00001e80| 72 65 6c 61 74 69 76 65 | 28 75 6e 73 69 67 6e 65 |relative|(unsigne|
|00001e90| 64 20 70 63 29 0a 58 20 | 20 7b 0a 58 20 20 09 69 |d pc).X | {.X .i|
|00001ea0| 6e 74 20 65 72 72 66 6c | 61 67 3d 54 52 55 45 3b |nt errfl|ag=TRUE;|
|00001eb0| 0a 58 21 20 09 75 6e 73 | 69 67 6e 65 64 20 6f 70 |.X! .uns|igned op|
|00001ec0| 63 6f 64 65 3b 0a 58 20 | 20 0a 58 20 20 09 09 69 |code;.X | .X ..i|
|00001ed0| 66 20 28 2a 28 6d 65 6d | 6f 69 72 65 2b 70 63 29 |f (*(mem|oire+pc)|
|00001ee0| 3d 3d 30 78 31 30 29 0a | 58 20 20 09 09 09 6f 70 |==0x10).|X ...op|
|00001ef0| 63 6f 64 65 3d 20 2a 28 | 6d 65 6d 6f 69 72 65 2b |code= *(|memoire+|
|00001f00| 70 63 29 2a 32 35 36 2b | 2a 28 6d 65 6d 6f 69 72 |pc)*256+|*(memoir|
|00001f10| 65 2b 70 63 2b 31 29 3b | 0a 58 2a 2a 2a 20 65 78 |e+pc+1);|.X*** ex|
|00001f20| 65 63 75 74 65 2e 63 2e | 6f 72 69 67 09 57 65 64 |ecute.c.|orig.Wed|
|00001f30| 20 4e 6f 76 20 20 34 20 | 31 33 3a 34 39 3a 34 30 | Nov 4 |13:49:40|
|00001f40| 20 31 39 39 32 0a 58 2d | 2d 2d 20 65 78 65 63 75 | 1992.X-|-- execu|
|00001f50| 74 65 2e 63 09 4d 6f 6e | 20 4e 6f 76 20 31 36 20 |te.c.Mon| Nov 16 |
|00001f60| 31 30 3a 30 35 3a 31 37 | 20 31 39 39 32 0a 58 2a |10:05:17| 1992.X*|
|00001f70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 58 |********|******.X|
|00001f80| 2a 2a 2a 20 32 2c 39 20 | 2a 2a 2a 2a 0a 58 20 20 |*** 2,9 |****.X |
|00001f90| 23 69 6e 63 6c 75 64 65 | 20 22 6d 61 69 6e 2e 68 |#include| "main.h|
|00001fa0| 22 0a 58 20 20 23 69 6e | 63 6c 75 64 65 20 22 6d |".X #in|clude "m|
|00001fb0| 6f 64 65 2e 68 22 0a 58 | 20 20 0a 58 2d 20 65 78 |ode.h".X| .X- ex|
|00001fc0| 74 65 72 6e 20 57 49 4e | 44 4f 57 20 2a 64 69 73 |tern WIN|DOW *dis|
|00001fd0| 70 6c 61 79 77 69 6e 3b | 0a 58 2d 20 65 78 74 65 |playwin;|.X- exte|
|00001fe0| 72 6e 20 57 49 4e 44 4f | 57 20 2a 72 65 67 77 69 |rn WINDO|W *regwi|
|00001ff0| 6e 3b 0a 58 20 20 69 6e | 74 20 6c 69 6e 65 3d 31 |n;.X in|t line=1|
|00002000| 3b 0a 58 20 20 0a 58 20 | 20 2f 2a 0a 58 2d 2d 2d |;.X .X | /*.X---|
|00002010| 20 32 2c 37 20 2d 2d 2d | 2d 0a 58 2a 2a 2a 2a 2a | 2,7 ---|-.X*****|
|00002020| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00002030| 31 34 35 2c 31 35 31 20 | 2a 2a 2a 2a 0a 58 20 20 |145,151 |****.X |
|00002040| 7b 0a 58 20 20 09 57 49 | 4e 44 4f 57 20 2a 73 74 |{.X .WI|NDOW *st|
|00002050| 61 72 74 77 69 6e 3b 0a | 58 20 20 09 63 68 61 72 |artwin;.|X .char|
|00002060| 20 73 74 61 72 74 5b 31 | 36 5d 3b 0a 58 2d 20 09 | start[1|6];.X- .|
|00002070| 65 78 74 65 72 6e 20 57 | 49 4e 44 4f 57 20 2a 64 |extern W|INDOW *d|
|00002080| 69 73 70 6c 61 79 77 69 | 6e 2c 20 2a 72 65 67 77 |isplaywi|n, *regw|
|00002090| 69 6e 3b 0a 58 20 20 09 | 69 6e 74 20 74 6d 70 3b |in;.X .|int tmp;|
|000020a0| 0a 58 20 20 0a 58 20 20 | 09 65 63 68 6f 28 29 3b |.X .X |.echo();|
|000020b0| 0a 58 2d 2d 2d 20 31 34 | 33 2c 31 34 38 20 2d 2d |.X--- 14|3,148 --|
|000020c0| 2d 2d 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |--.X****|********|
|000020d0| 2a 2a 2a 0a 58 2a 2a 2a | 20 32 30 32 2c 32 31 34 |***.X***| 202,214|
|000020e0| 20 2a 2a 2a 2a 0a 58 20 | 20 0a 58 20 20 69 6e 74 | ****.X | .X int|
|000020f0| 20 63 70 75 28 29 0a 58 | 20 20 7b 0a 58 2d 20 09 | cpu().X| {.X- .|
|00002100| 65 78 74 65 72 6e 20 69 | 6e 74 20 73 69 6d 75 6c |extern i|nt simul|
|00002110| 61 74 65 5f 69 6d 6d 65 | 64 69 61 74 28 29 3b 0a |ate_imme|diat();.|
|00002120| 58 2d 20 09 65 78 74 65 | 72 6e 20 69 6e 74 20 73 |X- .exte|rn int s|
|00002130| 69 6d 75 6c 61 74 65 5f | 64 69 72 65 63 74 28 29 |imulate_|direct()|
|00002140| 3b 0a 58 2d 20 09 65 78 | 74 65 72 6e 20 69 6e 74 |;.X- .ex|tern int|
|00002150| 20 73 69 6d 75 6c 61 74 | 65 5f 69 6e 64 65 78 65 | simulat|e_indexe|
|00002160| 64 28 29 3b 0a 58 2d 20 | 09 65 78 74 65 72 6e 20 |d();.X- |.extern |
|00002170| 69 6e 74 20 73 69 6d 75 | 6c 61 74 65 5f 65 78 74 |int simu|late_ext|
|00002180| 65 6e 64 65 64 28 29 3b | 0a 58 2d 20 09 65 78 74 |ended();|.X- .ext|
|00002190| 65 72 6e 20 69 6e 74 20 | 73 69 6d 75 6c 61 74 65 |ern int |simulate|
|000021a0| 5f 69 6e 68 65 72 65 6e | 74 28 29 3b 0a 58 2d 20 |_inheren|t();.X- |
|000021b0| 09 65 78 74 65 72 6e 20 | 69 6e 74 20 73 69 6d 75 |.extern |int simu|
|000021c0| 6c 61 74 65 5f 72 65 6c | 61 74 69 76 65 28 29 3b |late_rel|ative();|
|000021d0| 0a 58 2d 20 0a 58 20 20 | 09 69 66 28 73 69 6d 75 |.X- .X |.if(simu|
|000021e0| 6c 61 74 65 5f 69 6e 64 | 65 78 65 64 28 29 3d 3d |late_ind|exed()==|
|000021f0| 54 52 55 45 29 0a 58 20 | 20 09 09 72 65 74 75 72 |TRUE).X | ..retur|
|00002200| 6e 28 54 52 55 45 29 3b | 0a 58 20 20 0a 58 2d 2d |n(TRUE);|.X .X--|
|00002210| 2d 20 31 39 39 2c 32 30 | 34 20 2d 2d 2d 2d 0a 58 |- 199,20|4 ----.X|
|00002220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00002230| 58 2a 2a 2a 20 32 33 37 | 2c 32 34 33 20 2a 2a 2a |X*** 237|,243 ***|
|00002240| 2a 0a 58 20 20 64 69 73 | 70 6c 61 79 5f 72 65 67 |*.X dis|play_reg|
|00002250| 69 73 74 65 72 73 28 29 | 0a 58 20 20 7b 0a 58 20 |isters()|.X {.X |
|00002260| 20 09 63 68 61 72 20 74 | 6d 70 5b 38 30 5d 3b 0a | .char t|mp[80];.|
|00002270| 58 21 20 09 69 6e 74 20 | 69 2c 20 74 65 6d 70 3b |X! .int |i, temp;|
|00002280| 0a 58 20 20 0a 58 20 20 | 09 73 70 72 69 6e 74 66 |.X .X |.sprintf|
|00002290| 28 74 6d 70 2c 22 41 3d | 25 30 32 58 20 20 42 3d |(tmp,"A=|%02X B=|
|000022a0| 25 30 32 58 20 20 44 50 | 3d 25 30 32 58 20 20 43 |%02X DP|=%02X C|
|000022b0| 43 3d 25 30 32 58 20 20 | 58 3d 25 30 34 58 20 20 |C=%02X |X=%04X |
|000022c0| 59 3d 25 30 34 58 20 20 | 55 3d 25 30 34 58 20 20 |Y=%04X |U=%04X |
|000022d0| 53 3d 25 30 34 58 20 20 | 50 43 3d 25 30 34 58 20 |S=%04X |PC=%04X |
|000022e0| 20 45 46 48 49 4e 5a 56 | 43 20 20 20 20 22 2c 20 | EFHINZV|C ", |
|000022f0| 61 63 63 61 2c 61 63 63 | 62 2c 64 70 72 2c 63 63 |acca,acc|b,dpr,cc|
|00002300| 72 2c 78 72 65 67 2c 79 | 72 65 67 2c 75 72 65 67 |r,xreg,y|reg,ureg|
|00002310| 2c 73 72 65 67 2c 70 63 | 72 29 3b 0a 58 20 20 0a |,sreg,pc|r);.X .|
|00002320| 58 2d 2d 2d 20 32 32 37 | 2c 32 33 33 20 2d 2d 2d |X--- 227|,233 ---|
|00002330| 2d 0a 58 20 20 64 69 73 | 70 6c 61 79 5f 72 65 67 |-.X dis|play_reg|
|00002340| 69 73 74 65 72 73 28 29 | 0a 58 20 20 7b 0a 58 20 |isters()|.X {.X |
|00002350| 20 09 63 68 61 72 20 74 | 6d 70 5b 38 30 5d 3b 0a | .char t|mp[80];.|
|00002360| 58 21 20 09 75 6e 73 69 | 67 6e 65 64 20 69 2c 20 |X! .unsi|gned i, |
|00002370| 74 65 6d 70 3b 0a 58 20 | 20 0a 58 20 20 09 73 70 |temp;.X | .X .sp|
|00002380| 72 69 6e 74 66 28 74 6d | 70 2c 22 41 3d 25 30 32 |rintf(tm|p,"A=%02|
|00002390| 58 20 20 42 3d 25 30 32 | 58 20 20 44 50 3d 25 30 |X B=%02|X DP=%0|
|000023a0| 32 58 20 20 43 43 3d 25 | 30 32 58 20 20 58 3d 25 |2X CC=%|02X X=%|
|000023b0| 30 34 58 20 20 59 3d 25 | 30 34 58 20 20 55 3d 25 |04X Y=%|04X U=%|
|000023c0| 30 34 58 20 20 53 3d 25 | 30 34 58 20 20 50 43 3d |04X S=%|04X PC=|
|000023d0| 25 30 34 58 20 20 45 46 | 48 49 4e 5a 56 43 20 20 |%04X EF|HINZVC |
|000023e0| 20 20 22 2c 20 61 63 63 | 61 2c 61 63 63 62 2c 64 | ", acc|a,accb,d|
|000023f0| 70 72 2c 63 63 72 2c 78 | 72 65 67 2c 79 72 65 67 |pr,ccr,x|reg,yreg|
|00002400| 2c 75 72 65 67 2c 73 72 | 65 67 2c 70 63 72 29 3b |,ureg,sr|eg,pcr);|
|00002410| 0a 58 20 20 0a 58 2a 2a | 2a 20 66 69 6c 65 2e 63 |.X .X**|* file.c|
|00002420| 2e 6f 72 69 67 09 54 75 | 65 20 53 65 70 20 31 35 |.orig.Tu|e Sep 15|
|00002430| 20 31 37 3a 30 31 3a 34 | 35 20 31 39 39 32 0a 58 | 17:01:4|5 1992.X|
|00002440| 2d 2d 2d 20 66 69 6c 65 | 2e 63 09 4d 6f 6e 20 4e |--- file|.c.Mon N|
|00002450| 6f 76 20 31 36 20 30 39 | 3a 31 35 3a 31 39 20 31 |ov 16 09|:15:19 1|
|00002460| 39 39 32 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |992.X***|********|
|00002470| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 31 2c 36 20 2a 2a |****.X**|* 1,6 **|
|00002480| 2a 2a 0a 58 20 20 23 69 | 6e 63 6c 75 64 65 20 3c |**.X #i|nclude <|
|00002490| 63 75 72 73 65 73 2e 68 | 3e 0a 58 20 20 23 69 6e |curses.h|>.X #in|
|000024a0| 63 6c 75 64 65 20 22 6d | 61 69 6e 2e 68 22 0a 58 |clude "m|ain.h".X|
|000024b0| 2d 20 23 69 6e 63 6c 75 | 64 65 20 22 6d 65 6e 75 |- #inclu|de "menu|
|000024c0| 2e 68 22 0a 58 20 20 0a | 58 20 20 63 6f 6e 73 74 |.h".X .|X const|
|000024d0| 20 63 68 61 72 20 2a 66 | 69 6c 65 6d 65 6e 75 5b | char *f|ilemenu[|
|000024e0| 35 5d 3d 7b 22 4c 6f 61 | 64 20 61 20 70 72 6f 67 |5]={"Loa|d a prog|
|000024f0| 72 61 6d 20 20 20 20 20 | 20 20 22 2c 0a 58 20 20 |ram | ",.X |
|00002500| 09 09 09 20 22 53 61 76 | 65 20 61 20 70 72 6f 67 |... "Sav|e a prog|
|00002510| 72 61 6d 20 20 20 20 20 | 20 20 22 2c 0a 58 2d 2d |ram | ",.X--|
|00002520| 2d 20 31 2c 35 20 2d 2d | 2d 2d 0a 58 2a 2a 2a 2a |- 1,5 --|--.X****|
|00002530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00002540| 20 35 36 2c 36 32 20 2a | 2a 2a 2a 0a 58 20 20 09 | 56,62 *|***.X .|
|00002550| 57 49 4e 44 4f 57 20 2a | 6c 6f 61 64 77 69 6e 2c |WINDOW *|loadwin,|
|00002560| 2a 61 64 64 77 69 6e 3b | 0a 58 20 20 09 63 68 61 |*addwin;|.X .cha|
|00002570| 72 20 66 69 6c 65 6e 61 | 6d 65 5b 38 30 5d 2c 73 |r filena|me[80],s|
|00002580| 74 61 72 74 5b 38 5d 3b | 0a 58 20 20 09 69 6e 74 |tart[8];|.X .int|
|00002590| 20 63 3b 0a 58 21 20 09 | 75 6e 73 69 67 6e 65 64 | c;.X! .|unsigned|
|000025a0| 20 69 6e 74 20 61 64 72 | 65 73 73 65 3b 0a 58 20 | int adr|esse;.X |
|000025b0| 20 09 46 49 4c 45 20 2a | 66 70 2c 20 2a 66 6f 70 | .FILE *|fp, *fop|
|000025c0| 65 6e 28 29 3b 0a 58 20 | 20 0a 58 20 20 09 6c 6f |en();.X | .X .lo|
|000025d0| 61 64 77 69 6e 3d 6e 65 | 77 77 69 6e 28 34 2c 32 |adwin=ne|wwin(4,2|
|000025e0| 39 2c 35 2c 34 29 3b 0a | 58 2d 2d 2d 20 35 35 2c |9,5,4);.|X--- 55,|
|000025f0| 36 31 20 2d 2d 2d 2d 0a | 58 20 20 09 57 49 4e 44 |61 ----.|X .WIND|
|00002600| 4f 57 20 2a 6c 6f 61 64 | 77 69 6e 2c 2a 61 64 64 |OW *load|win,*add|
|00002610| 77 69 6e 3b 0a 58 20 20 | 09 63 68 61 72 20 66 69 |win;.X |.char fi|
|00002620| 6c 65 6e 61 6d 65 5b 38 | 30 5d 2c 73 74 61 72 74 |lename[8|0],start|
|00002630| 5b 38 5d 3b 0a 58 20 20 | 09 69 6e 74 20 63 3b 0a |[8];.X |.int c;.|
|00002640| 58 21 20 09 75 6e 73 69 | 67 6e 65 64 20 61 64 72 |X! .unsi|gned adr|
|00002650| 65 73 73 65 3b 0a 58 20 | 20 09 46 49 4c 45 20 2a |esse;.X | .FILE *|
|00002660| 66 70 2c 20 2a 66 6f 70 | 65 6e 28 29 3b 0a 58 20 |fp, *fop|en();.X |
|00002670| 20 0a 58 20 20 09 6c 6f | 61 64 77 69 6e 3d 6e 65 | .X .lo|adwin=ne|
|00002680| 77 77 69 6e 28 34 2c 32 | 39 2c 35 2c 34 29 3b 0a |wwin(4,2|9,5,4);.|
|00002690| 58 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X*******|********|
|000026a0| 0a 58 2a 2a 2a 20 31 33 | 39 2c 31 34 35 20 2a 2a |.X*** 13|9,145 **|
|000026b0| 2a 2a 0a 58 20 20 7b 0a | 58 20 20 09 57 49 4e 44 |**.X {.|X .WIND|
|000026c0| 4f 57 20 2a 73 61 76 65 | 77 69 6e 2c 20 2a 61 73 |OW *save|win, *as|
|000026d0| 6b 77 69 6e 3b 0a 58 20 | 20 09 63 68 61 72 20 73 |kwin;.X | .char s|
|000026e0| 74 61 72 74 5b 38 5d 2c | 20 65 6e 64 5b 38 5d 2c |tart[8],| end[8],|
|000026f0| 20 66 69 6c 65 6e 61 6d | 65 5b 33 32 5d 2c 20 74 | filenam|e[32], t|
|00002700| 6d 70 5b 33 32 5d 3b 0a | 58 21 20 09 75 6e 73 69 |mp[32];.|X! .unsi|
|00002710| 67 6e 65 64 20 69 6e 74 | 20 64 65 62 75 74 2c 20 |gned int| debut, |
|00002720| 66 69 6e 2c 20 6e 3b 0a | 58 20 20 09 46 49 4c 45 |fin, n;.|X .FILE|
|00002730| 20 2a 66 70 2c 20 2a 66 | 6f 70 65 6e 28 29 3b 0a | *fp, *f|open();.|
|00002740| 58 20 20 0a 58 20 20 09 | 73 61 76 65 77 69 6e 3d |X .X .|savewin=|
|00002750| 6e 65 77 77 69 6e 28 34 | 2c 32 39 2c 35 2c 34 29 |newwin(4|,29,5,4)|
|00002760| 3b 0a 58 2d 2d 2d 20 31 | 33 38 2c 31 34 34 20 2d |;.X--- 1|38,144 -|
|00002770| 2d 2d 2d 0a 58 20 20 7b | 0a 58 20 20 09 57 49 4e |---.X {|.X .WIN|
|00002780| 44 4f 57 20 2a 73 61 76 | 65 77 69 6e 2c 20 2a 61 |DOW *sav|ewin, *a|
|00002790| 73 6b 77 69 6e 3b 0a 58 | 20 20 09 63 68 61 72 20 |skwin;.X| .char |
|000027a0| 73 74 61 72 74 5b 38 5d | 2c 20 65 6e 64 5b 38 5d |start[8]|, end[8]|
|000027b0| 2c 20 66 69 6c 65 6e 61 | 6d 65 5b 33 32 5d 2c 20 |, filena|me[32], |
|000027c0| 74 6d 70 5b 33 32 5d 3b | 0a 58 21 20 09 75 6e 73 |tmp[32];|.X! .uns|
|000027d0| 69 67 6e 65 64 20 64 65 | 62 75 74 2c 20 66 69 6e |igned de|but, fin|
|000027e0| 2c 20 6e 3b 0a 58 20 20 | 09 46 49 4c 45 20 2a 66 |, n;.X |.FILE *f|
|000027f0| 70 2c 20 2a 66 6f 70 65 | 6e 28 29 3b 0a 58 20 20 |p, *fope|n();.X |
|00002800| 0a 58 20 20 09 73 61 76 | 65 77 69 6e 3d 6e 65 77 |.X .sav|ewin=new|
|00002810| 77 69 6e 28 34 2c 32 39 | 2c 35 2c 34 29 3b 0a 58 |win(4,29|,5,4);.X|
|00002820| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00002830| 58 2a 2a 2a 20 32 37 32 | 2c 32 39 36 20 2a 2a 2a |X*** 272|,296 ***|
|00002840| 2a 0a 58 20 20 09 77 67 | 65 74 73 74 72 28 72 65 |*.X .wg|etstr(re|
|00002850| 73 74 6f 72 65 77 69 6e | 2c 66 69 6c 65 6e 61 6d |storewin|,filenam|
|00002860| 65 29 3b 0a 58 20 20 0a | 58 20 20 09 69 66 28 28 |e);.X .|X .if((|
|00002870| 66 70 3d 66 6f 70 65 6e | 28 66 69 6c 65 6e 61 6d |fp=fopen|(filenam|
|00002880| 65 2c 22 72 22 29 29 20 | 21 3d 20 4e 55 4c 4c 29 |e,"r")) |!= NULL)|
|00002890| 20 7b 0a 58 21 20 09 09 | 63 63 72 3d 20 28 75 6e | {.X! ..|ccr= (un|
|000028a0| 73 69 67 6e 65 64 20 69 | 6e 74 29 20 66 67 65 74 |signed i|nt) fget|
|000028b0| 63 28 66 70 29 3b 0a 58 | 21 20 09 09 61 63 63 61 |c(fp);.X|! ..acca|
|000028c0| 3d 28 75 6e 73 69 67 6e | 65 64 20 69 6e 74 29 20 |=(unsign|ed int) |
|000028d0| 66 67 65 74 63 28 66 70 | 29 3b 0a 58 21 20 09 09 |fgetc(fp|);.X! ..|
|000028e0| 61 63 63 62 3d 28 75 6e | 73 69 67 6e 65 64 20 69 |accb=(un|signed i|
|000028f0| 6e 74 29 20 66 67 65 74 | 63 28 66 70 29 3b 0a 58 |nt) fget|c(fp);.X|
|00002900| 21 20 09 09 64 70 72 3d | 20 28 75 6e 73 69 67 6e |! ..dpr=| (unsign|
|00002910| 65 64 20 69 6e 74 29 20 | 66 67 65 74 63 28 66 70 |ed int) |fgetc(fp|
|00002920| 29 3b 0a 58 21 20 09 09 | 78 72 65 67 3d 28 75 6e |);.X! ..|xreg=(un|
|00002930| 73 69 67 6e 65 64 20 69 | 6e 74 29 20 66 67 65 74 |signed i|nt) fget|
|00002940| 63 28 66 70 29 3b 0a 58 | 20 20 09 09 78 72 65 67 |c(fp);.X| ..xreg|
|00002950| 3c 3c 3d 38 3b 0a 58 21 | 20 09 09 78 72 65 67 2b |<<=8;.X!| ..xreg+|
|00002960| 3d 28 75 6e 73 69 67 6e | 65 64 20 69 6e 74 29 20 |=(unsign|ed int) |
|00002970| 66 67 65 74 63 28 66 70 | 29 3b 0a 58 21 20 09 09 |fgetc(fp|);.X! ..|
|00002980| 79 72 65 67 3d 28 75 6e | 73 69 67 6e 65 64 20 69 |yreg=(un|signed i|
|00002990| 6e 74 29 20 66 67 65 74 | 63 28 66 70 29 3b 0a 58 |nt) fget|c(fp);.X|
|000029a0| 20 20 09 09 79 72 65 67 | 3c 3c 3d 38 3b 0a 58 21 | ..yreg|<<=8;.X!|
|000029b0| 20 09 09 79 72 65 67 2b | 3d 28 75 6e 73 69 67 6e | ..yreg+|=(unsign|
|000029c0| 65 64 20 69 6e 74 29 20 | 66 67 65 74 63 28 66 70 |ed int) |fgetc(fp|
|000029d0| 29 3b 0a 58 21 20 09 09 | 75 72 65 67 3d 28 75 6e |);.X! ..|ureg=(un|
|000029e0| 73 69 67 6e 65 64 20 69 | 6e 74 29 20 66 67 65 74 |signed i|nt) fget|
|000029f0| 63 28 66 70 29 3b 0a 58 | 20 20 09 09 75 72 65 67 |c(fp);.X| ..ureg|
|00002a00| 3c 3c 3d 38 3b 0a 58 21 | 20 09 09 75 72 65 67 2b |<<=8;.X!| ..ureg+|
|00002a10| 3d 28 75 6e 73 69 67 6e | 65 64 20 69 6e 74 29 20 |=(unsign|ed int) |
|00002a20| 66 67 65 74 63 28 66 70 | 29 3b 0a 58 21 20 09 09 |fgetc(fp|);.X! ..|
|00002a30| 73 72 65 67 3d 28 75 6e | 73 69 67 6e 65 64 20 69 |sreg=(un|signed i|
|00002a40| 6e 74 29 20 66 67 65 74 | 63 28 66 70 29 3b 0a 58 |nt) fget|c(fp);.X|
|00002a50| 20 20 09 09 73 72 65 67 | 3c 3c 3d 38 3b 0a 58 21 | ..sreg|<<=8;.X!|
|00002a60| 20 09 09 73 72 65 67 2b | 3d 28 75 6e 73 69 67 6e | ..sreg+|=(unsign|
|00002a70| 65 64 20 69 6e 74 29 20 | 66 67 65 74 63 28 66 70 |ed int) |fgetc(fp|
|00002a80| 29 3b 0a 58 21 20 09 09 | 70 63 72 3d 28 75 6e 73 |);.X! ..|pcr=(uns|
|00002a90| 69 67 6e 65 64 20 69 6e | 74 29 20 66 67 65 74 63 |igned in|t) fgetc|
|00002aa0| 28 66 70 29 3b 0a 58 20 | 20 09 09 70 63 72 3c 3c |(fp);.X | ..pcr<<|
|00002ab0| 3d 38 3b 0a 58 21 20 09 | 09 70 63 72 2b 3d 28 75 |=8;.X! .|.pcr+=(u|
|00002ac0| 6e 73 69 67 6e 65 64 20 | 69 6e 74 29 20 66 67 65 |nsigned |int) fge|
|00002ad0| 74 63 28 66 70 29 3b 0a | 58 20 20 09 09 66 63 6c |tc(fp);.|X ..fcl|
|00002ae0| 6f 73 65 28 66 70 29 3b | 0a 58 20 20 09 7d 0a 58 |ose(fp);|.X .}.X|
|00002af0| 20 20 0a 58 2d 2d 2d 20 | 32 37 31 2c 32 39 35 20 | .X--- |271,295 |
|00002b00| 2d 2d 2d 2d 0a 58 20 20 | 09 77 67 65 74 73 74 72 |----.X |.wgetstr|
|00002b10| 28 72 65 73 74 6f 72 65 | 77 69 6e 2c 66 69 6c 65 |(restore|win,file|
|00002b20| 6e 61 6d 65 29 3b 0a 58 | 20 20 0a 58 20 20 09 69 |name);.X| .X .i|
|00002b30| 66 28 28 66 70 3d 66 6f | 70 65 6e 28 66 69 6c 65 |f((fp=fo|pen(file|
|00002b40| 6e 61 6d 65 2c 22 72 22 | 29 29 20 21 3d 20 4e 55 |name,"r"|)) != NU|
|00002b50| 4c 4c 29 20 7b 0a 58 21 | 20 09 09 63 63 72 3d 20 |LL) {.X!| ..ccr= |
|00002b60| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002b70| 28 66 70 29 3b 0a 58 21 | 20 09 09 61 63 63 61 3d |(fp);.X!| ..acca=|
|00002b80| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002b90| 28 66 70 29 3b 0a 58 21 | 20 09 09 61 63 63 62 3d |(fp);.X!| ..accb=|
|00002ba0| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002bb0| 28 66 70 29 3b 0a 58 21 | 20 09 09 64 70 72 3d 20 |(fp);.X!| ..dpr= |
|00002bc0| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002bd0| 28 66 70 29 3b 0a 58 21 | 20 09 09 78 72 65 67 3d |(fp);.X!| ..xreg=|
|00002be0| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002bf0| 28 66 70 29 3b 0a 58 20 | 20 09 09 78 72 65 67 3c |(fp);.X | ..xreg<|
|00002c00| 3c 3d 38 3b 0a 58 21 20 | 09 09 78 72 65 67 2b 3d |<=8;.X! |..xreg+=|
|00002c10| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002c20| 28 66 70 29 3b 0a 58 21 | 20 09 09 79 72 65 67 3d |(fp);.X!| ..yreg=|
|00002c30| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002c40| 28 66 70 29 3b 0a 58 20 | 20 09 09 79 72 65 67 3c |(fp);.X | ..yreg<|
|00002c50| 3c 3d 38 3b 0a 58 21 20 | 09 09 79 72 65 67 2b 3d |<=8;.X! |..yreg+=|
|00002c60| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002c70| 28 66 70 29 3b 0a 58 21 | 20 09 09 75 72 65 67 3d |(fp);.X!| ..ureg=|
|00002c80| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002c90| 28 66 70 29 3b 0a 58 20 | 20 09 09 75 72 65 67 3c |(fp);.X | ..ureg<|
|00002ca0| 3c 3d 38 3b 0a 58 21 20 | 09 09 75 72 65 67 2b 3d |<=8;.X! |..ureg+=|
|00002cb0| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002cc0| 28 66 70 29 3b 0a 58 21 | 20 09 09 73 72 65 67 3d |(fp);.X!| ..sreg=|
|00002cd0| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002ce0| 28 66 70 29 3b 0a 58 20 | 20 09 09 73 72 65 67 3c |(fp);.X | ..sreg<|
|00002cf0| 3c 3d 38 3b 0a 58 21 20 | 09 09 73 72 65 67 2b 3d |<=8;.X! |..sreg+=|
|00002d00| 28 75 6e 73 69 67 6e 65 | 64 29 20 66 67 65 74 63 |(unsigne|d) fgetc|
|00002d10| 28 66 70 29 3b 0a 58 21 | 20 09 09 70 63 72 3d 28 |(fp);.X!| ..pcr=(|
|00002d20| 75 6e 73 69 67 6e 65 64 | 29 20 66 67 65 74 63 28 |unsigned|) fgetc(|
|00002d30| 66 70 29 3b 0a 58 20 20 | 09 09 70 63 72 3c 3c 3d |fp);.X |..pcr<<=|
|00002d40| 38 3b 0a 58 21 20 09 09 | 70 63 72 2b 3d 28 75 6e |8;.X! ..|pcr+=(un|
|00002d50| 73 69 67 6e 65 64 29 20 | 66 67 65 74 63 28 66 70 |signed) |fgetc(fp|
|00002d60| 29 3b 0a 58 20 20 09 09 | 66 63 6c 6f 73 65 28 66 |);.X ..|fclose(f|
|00002d70| 70 29 3b 0a 58 20 20 09 | 7d 0a 58 20 20 0a 58 2a |p);.X .|}.X .X*|
|00002d80| 2a 2a 20 6d 61 69 6e 2e | 63 2e 6f 72 69 67 09 4d |** main.|c.orig.M|
|00002d90| 6f 6e 20 53 65 70 20 32 | 38 20 30 39 3a 33 39 3a |on Sep 2|8 09:39:|
|00002da0| 31 35 20 31 39 39 32 0a | 58 2d 2d 2d 20 6d 61 69 |15 1992.|X--- mai|
|00002db0| 6e 2e 63 09 4d 6f 6e 20 | 4e 6f 76 20 31 36 20 30 |n.c.Mon |Nov 16 0|
|00002dc0| 39 3a 33 33 3a 33 39 20 | 31 39 39 32 0a 58 2a 2a |9:33:39 |1992.X**|
|00002dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|00002de0| 2a 2a 20 35 2c 31 32 20 | 2a 2a 2a 2a 0a 58 2d 2d |** 5,12 |****.X--|
|00002df0| 2d 20 35 2c 31 35 20 2d | 2d 2d 2d 0a 58 20 20 09 |- 5,15 -|---.X .|
|00002e00| 09 09 28 43 29 6f 70 79 | 72 69 67 68 74 20 4a 75 |..(C)opy|right Ju|
|00002e10| 6c 79 20 31 39 39 32 0a | 58 20 20 2a 2f 0a 58 20 |ly 1992.|X */.X |
|00002e20| 20 0a 58 2b 20 23 64 65 | 66 69 6e 65 20 4d 41 49 | .X+ #de|fine MAI|
|00002e30| 4e 5f 43 0a 58 2b 20 0a | 58 20 20 23 69 6e 63 6c |N_C.X+ .|X #incl|
|00002e40| 75 64 65 20 3c 73 74 64 | 69 6f 2e 68 3e 0a 58 20 |ude <std|io.h>.X |
|00002e50| 20 23 69 6e 63 6c 75 64 | 65 20 3c 63 75 72 73 65 | #includ|e <curse|
|00002e60| 73 2e 68 3e 0a 58 2b 20 | 23 69 6e 63 6c 75 64 65 |s.h>.X+ |#include|
|00002e70| 20 22 6d 61 69 6e 2e 68 | 22 0a 58 20 20 23 69 6e | "main.h|".X #in|
|00002e80| 63 6c 75 64 65 20 22 6d | 6f 64 65 2e 68 22 0a 58 |clude "m|ode.h".X|
|00002e90| 20 20 0a 58 20 20 57 49 | 4e 44 4f 57 20 2a 74 6f | .X WI|NDOW *to|
|00002ea0| 70 77 69 6e 3b 0a 58 2a | 2a 2a 2a 2a 2a 2a 2a 2a |pwin;.X*|********|
|00002eb0| 2a 2a 2a 2a 2a 2a 0a 58 | 2a 2a 2a 20 31 34 2c 32 |******.X|*** 14,2|
|00002ec0| 30 20 2a 2a 2a 2a 0a 58 | 20 20 57 49 4e 44 4f 57 |0 ****.X| WINDOW|
|00002ed0| 20 2a 72 65 67 77 69 6e | 3b 0a 58 20 20 0a 58 20 | *regwin|;.X .X |
|00002ee0| 20 2f 2a 20 4d 43 36 38 | 30 39 20 69 6e 74 65 72 | /* MC68|09 inter|
|00002ef0| 6e 61 6c 20 72 65 67 69 | 73 74 65 72 73 20 2a 2f |nal regi|sters */|
|00002f00| 0a 58 21 20 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |.X! unsi|gned sho|
|00002f10| 72 74 20 69 6e 74 20 63 | 63 72 3d 30 2c 0a 58 20 |rt int c|cr=0,.X |
|00002f20| 20 09 20 20 20 20 20 20 | 20 20 20 20 20 61 63 63 | . | acc|
|00002f30| 61 3d 30 2c 0a 58 20 20 | 09 20 20 20 20 20 20 20 |a=0,.X |. |
|00002f40| 20 20 20 20 61 63 63 62 | 3d 30 2c 0a 58 20 20 20 | accb|=0,.X |
|00002f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f60| 20 20 64 70 72 3d 30 2c | 0a 58 2d 2d 2d 20 31 37 | dpr=0,|.X--- 17|
|00002f70| 2c 32 33 20 2d 2d 2d 2d | 0a 58 20 20 57 49 4e 44 |,23 ----|.X WIND|
|00002f80| 4f 57 20 2a 72 65 67 77 | 69 6e 3b 0a 58 20 20 0a |OW *regw|in;.X .|
|00002f90| 58 20 20 2f 2a 20 4d 43 | 36 38 30 39 20 69 6e 74 |X /* MC|6809 int|
|00002fa0| 65 72 6e 61 6c 20 72 65 | 67 69 73 74 65 72 73 20 |ernal re|gisters |
|00002fb0| 2a 2f 0a 58 21 20 75 6e | 73 69 67 6e 65 64 20 73 |*/.X! un|signed s|
|00002fc0| 68 6f 72 74 20 20 20 20 | 20 63 63 72 3d 30 2c 0a |hort | ccr=0,.|
|00002fd0| 58 20 20 09 20 20 20 20 | 20 20 20 20 20 20 20 61 |X . | a|
|00002fe0| 63 63 61 3d 30 2c 0a 58 | 20 20 09 20 20 20 20 20 |cca=0,.X| . |
|00002ff0| 20 20 20 20 20 20 61 63 | 63 62 3d 30 2c 0a 58 20 | ac|cb=0,.X |
|00003000| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003010| 20 20 20 20 64 70 72 3d | 30 2c 0a 58 2a 2a 2a 2a | dpr=|0,.X****|
|00003020| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00003030| 20 32 35 2c 33 31 20 2a | 2a 2a 2a 0a 58 20 20 20 | 25,31 *|***.X |
|00003040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003050| 20 20 70 63 72 3d 30 3b | 0a 58 20 20 0a 58 20 20 | pcr=0;|.X .X |
|00003060| 0a 58 21 20 63 68 61 72 | 20 2a 6d 65 6d 6f 69 72 |.X! char| *memoir|
|00003070| 65 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e; | |
|00003080| 20 20 20 20 2f 2a 20 4d | 43 36 38 30 39 20 36 34 | /* M|C6809 64|
|00003090| 4b 20 4d 65 6d 6f 72 79 | 20 73 70 61 63 65 20 70 |K Memory| space p|
|000030a0| 6f 69 6e 74 65 72 20 2a | 2f 0a 58 20 20 69 6e 74 |ointer *|/.X int|
|000030b0| 20 6c 65 6e 67 74 68 3b | 09 09 09 2f 2a 20 63 75 | length;|.../* cu|
|000030c0| 72 72 65 6e 74 20 69 6e | 73 74 72 75 63 74 69 6f |rrent in|structio|
|000030d0| 6e 20 6c 65 6e 67 74 68 | 20 2a 2f 0a 58 20 20 63 |n length| */.X c|
|000030e0| 68 61 72 20 63 6f 64 65 | 5b 33 32 5d 2c 09 09 09 |har code|[32],...|
|000030f0| 2f 2a 20 49 6e 73 74 72 | 75 63 74 69 6f 6e 20 63 |/* Instr|uction c|
|00003100| 6f 64 65 73 20 2a 2f 0a | 58 20 20 20 20 20 20 20 |odes */.|X |
|00003110| 6d 6e 65 6d 6f 6e 69 71 | 75 65 5b 38 5d 2c 09 09 |mnemoniq|ue[8],..|
|00003120| 2f 2a 20 4d 6e 65 6d 6f | 6e 69 63 20 2a 2f 0a 58 |/* Mnemo|nic */.X|
|00003130| 2d 2d 2d 20 32 38 2c 33 | 34 20 2d 2d 2d 2d 0a 58 |--- 28,3|4 ----.X|
|00003140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003150| 20 20 20 20 20 70 63 72 | 3d 30 3b 0a 58 20 20 0a | pcr|=0;.X .|
|00003160| 58 20 20 0a 58 21 20 75 | 6e 73 69 67 6e 65 64 20 |X .X! u|nsigned |
|00003170| 63 68 61 72 20 2a 6d 65 | 6d 6f 69 72 65 3b 20 20 |char *me|moire; |
|00003180| 20 20 20 20 20 20 20 2f | 2a 20 4d 43 36 38 30 39 | /|* MC6809|
|00003190| 20 36 34 4b 20 4d 65 6d | 6f 72 79 20 73 70 61 63 | 64K Mem|ory spac|
|000031a0| 65 20 70 6f 69 6e 74 65 | 72 20 2a 2f 0a 58 20 20 |e pointe|r */.X |
|000031b0| 69 6e 74 20 6c 65 6e 67 | 74 68 3b 09 09 09 2f 2a |int leng|th;.../*|
|000031c0| 20 63 75 72 72 65 6e 74 | 20 69 6e 73 74 72 75 63 | current| instruc|
|000031d0| 74 69 6f 6e 20 6c 65 6e | 67 74 68 20 2a 2f 0a 58 |tion len|gth */.X|
|000031e0| 20 20 63 68 61 72 20 63 | 6f 64 65 5b 33 32 5d 2c | char c|ode[32],|
|000031f0| 09 09 09 2f 2a 20 49 6e | 73 74 72 75 63 74 69 6f |.../* In|structio|
|00003200| 6e 20 63 6f 64 65 73 20 | 2a 2f 0a 58 20 20 20 20 |n codes |*/.X |
|00003210| 20 20 20 6d 6e 65 6d 6f | 6e 69 71 75 65 5b 38 5d | mnemo|nique[8]|
|00003220| 2c 09 09 2f 2a 20 4d 6e | 65 6d 6f 6e 69 63 20 2a |,../* Mn|emonic *|
|00003230| 2f 0a 58 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/.X*****|********|
|00003240| 2a 2a 0a 58 2a 2a 2a 20 | 33 37 2c 34 39 20 2a 2a |**.X*** |37,49 **|
|00003250| 2a 2a 0a 58 20 20 69 6e | 74 20 6d 6f 64 65 3d 53 |**.X in|t mode=S|
|00003260| 54 45 50 3b 09 09 09 2f | 2a 20 53 69 6d 75 6c 61 |TEP;.../|* Simula|
|00003270| 74 6f 72 20 6d 6f 64 65 | 73 20 2a 2f 0a 58 20 20 |tor mode|s */.X |
|00003280| 0a 58 20 20 69 6e 74 20 | 62 72 65 61 6b 6e 75 6d |.X int |breaknum|
|00003290| 3d 30 3b 09 09 09 2f 2a | 20 4e 75 6d 62 65 72 20 |=0;.../*| Number |
|000032a0| 6f 66 20 62 72 65 61 6b | 70 6f 69 6e 74 73 20 2a |of break|points *|
|000032b0| 2f 0a 58 21 20 75 6e 73 | 69 67 6e 65 64 20 69 6e |/.X! uns|igned in|
|000032c0| 74 20 62 72 65 61 6b 6c | 69 73 74 5b 38 5d 3b 09 |t breakl|ist[8];.|
|000032d0| 2f 2a 20 42 72 65 61 6b | 70 6f 69 6e 74 73 20 6c |/* Break|points l|
|000032e0| 69 73 74 20 2a 2f 0a 58 | 20 20 0a 58 21 20 75 6e |ist */.X| .X! un|
|000032f0| 73 69 67 6e 65 64 20 69 | 6e 74 20 63 6f 75 6c 65 |signed i|nt coule|
|00003300| 75 72 3d 41 5f 4e 4f 52 | 4d 41 4c 3b 20 09 2f 2a |ur=A_NOR|MAL; ./*|
|00003310| 20 43 6f 6c 6f 72 73 20 | 2a 2f 0a 58 21 20 75 6e | Colors |*/.X! un|
|00003320| 73 69 67 6e 65 64 20 69 | 6e 74 20 69 6e 76 65 72 |signed i|nt inver|
|00003330| 73 65 3d 41 5f 52 45 56 | 45 52 53 45 3b 09 2f 2a |se=A_REV|ERSE;./*|
|00003340| 20 52 65 76 65 72 73 65 | 20 2a 2f 0a 58 20 20 0a | Reverse| */.X .|
|00003350| 58 21 20 75 6e 73 69 67 | 6e 65 64 20 69 6e 74 20 |X! unsig|ned int |
|00003360| 6b 65 79 62 6f 61 72 64 | 3d 30 3b 09 09 09 2f 2a |keyboard|=0;.../*|
|00003370| 20 4b 65 79 62 6f 61 72 | 64 20 2a 2f 0a 58 21 20 | Keyboar|d */.X! |
|00003380| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 20 6b 65 79 |unsigned| int key|
|00003390| 73 74 61 74 3d 30 3b 09 | 09 09 09 2f 2a 20 4b 65 |stat=0;.|.../* Ke|
|000033a0| 79 62 6f 61 72 64 20 53 | 54 41 54 55 53 20 2a 2f |yboard S|TATUS */|
|000033b0| 0a 58 20 20 0a 58 20 20 | 0a 58 20 20 0a 58 2d 2d |.X .X |.X .X--|
|000033c0| 2d 20 34 30 2c 35 32 20 | 2d 2d 2d 2d 0a 58 20 20 |- 40,52 |----.X |
|000033d0| 69 6e 74 20 6d 6f 64 65 | 3d 53 54 45 50 3b 09 09 |int mode|=STEP;..|
|000033e0| 09 2f 2a 20 53 69 6d 75 | 6c 61 74 6f 72 20 6d 6f |./* Simu|lator mo|
|000033f0| 64 65 73 20 2a 2f 0a 58 | 20 20 0a 58 20 20 69 6e |des */.X| .X in|
|00003400| 74 20 62 72 65 61 6b 6e | 75 6d 3d 30 3b 09 09 09 |t breakn|um=0;...|
|00003410| 2f 2a 20 4e 75 6d 62 65 | 72 20 6f 66 20 62 72 65 |/* Numbe|r of bre|
|00003420| 61 6b 70 6f 69 6e 74 73 | 20 2a 2f 0a 58 21 20 75 |akpoints| */.X! u|
|00003430| 6e 73 69 67 6e 65 64 20 | 62 72 65 61 6b 6c 69 73 |nsigned |breaklis|
|00003440| 74 5b 38 5d 3b 09 09 2f | 2a 20 42 72 65 61 6b 70 |t[8];../|* Breakp|
|00003450| 6f 69 6e 74 73 20 6c 69 | 73 74 20 2a 2f 0a 58 20 |oints li|st */.X |
|00003460| 20 0a 58 21 20 75 6e 73 | 69 67 6e 65 64 20 63 6f | .X! uns|igned co|
|00003470| 75 6c 65 75 72 3d 41 5f | 4e 4f 52 4d 41 4c 3b 20 |uleur=A_|NORMAL; |
|00003480| 09 2f 2a 20 43 6f 6c 6f | 72 73 20 2a 2f 0a 58 21 |./* Colo|rs */.X!|
|00003490| 20 75 6e 73 69 67 6e 65 | 64 20 69 6e 76 65 72 73 | unsigne|d invers|
|000034a0| 65 3d 41 5f 52 45 56 45 | 52 53 45 3b 09 2f 2a 20 |e=A_REVE|RSE;./* |
|000034b0| 52 65 76 65 72 73 65 20 | 2a 2f 0a 58 20 20 0a 58 |Reverse |*/.X .X|
|000034c0| 21 20 75 6e 73 69 67 6e | 65 64 20 6b 65 79 62 6f |! unsign|ed keybo|
|000034d0| 61 72 64 3d 30 3b 09 09 | 2f 2a 20 4b 65 79 62 6f |ard=0;..|/* Keybo|
|000034e0| 61 72 64 20 2a 2f 0a 58 | 21 20 75 6e 73 69 67 6e |ard */.X|! unsign|
|000034f0| 65 64 20 6b 65 79 73 74 | 61 74 3d 30 3b 09 09 2f |ed keyst|at=0;../|
|00003500| 2a 20 4b 65 79 62 6f 61 | 72 64 20 53 54 41 54 55 |* Keyboa|rd STATU|
|00003510| 53 20 2a 2f 0a 58 20 20 | 0a 58 20 20 0a 58 20 20 |S */.X |.X .X |
|00003520| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|00003530| 2a 0a 58 2a 2a 2a 20 35 | 32 2c 36 38 20 2a 2a 2a |*.X*** 5|2,68 ***|
|00003540| 2a 0a 58 20 20 2a 2f 0a | 58 20 20 6d 61 69 6e 28 |*.X */.|X main(|
|00003550| 29 0a 58 20 20 7b 0a 58 | 2d 20 09 65 78 74 65 72 |).X {.X|- .exter|
|00003560| 6e 20 76 6f 69 64 20 77 | 65 6c 63 6f 6d 65 28 29 |n void w|elcome()|
|00003570| 3b 0a 58 2d 20 09 65 78 | 74 65 72 6e 20 69 6e 74 |;.X- .ex|tern int|
|00003580| 20 6d 61 69 6e 6d 65 6e | 75 28 29 3b 0a 58 2d 20 | mainmen|u();.X- |
|00003590| 09 65 78 74 65 72 6e 20 | 76 6f 69 64 20 66 69 63 |.extern |void fic|
|000035a0| 68 69 65 72 28 29 3b 0a | 58 2d 20 09 65 78 74 65 |hier();.|X- .exte|
|000035b0| 72 6e 20 76 6f 69 64 20 | 6d 6f 64 65 73 28 29 3b |rn void |modes();|
|000035c0| 0a 58 2d 20 09 65 78 74 | 65 72 6e 20 76 6f 69 64 |.X- .ext|ern void|
|000035d0| 20 6d 6f 6e 69 74 6f 72 | 28 29 3b 0a 58 2d 20 09 | monitor|();.X- .|
|000035e0| 65 78 74 65 72 6e 20 76 | 6f 69 64 20 62 72 65 61 |extern v|oid brea|
|000035f0| 6b 70 6f 69 6e 74 28 29 | 3b 0a 58 2d 20 09 65 78 |kpoint()|;.X- .ex|
|00003600| 74 65 72 6e 20 76 6f 69 | 64 20 63 73 68 65 6c 6c |tern voi|d cshell|
|00003610| 28 29 3b 0a 58 2d 20 09 | 65 78 74 65 72 6e 20 76 |();.X- .|extern v|
|00003620| 6f 69 64 20 64 69 73 70 | 6c 61 79 5f 72 65 67 69 |oid disp|lay_regi|
|00003630| 73 74 65 72 73 28 29 3b | 0a 58 20 20 09 69 6e 74 |sters();|.X .int|
|00003640| 20 63 68 6f 69 78 3b 0a | 58 20 20 0a 58 21 20 09 | choix;.|X .X! .|
|00003650| 69 66 28 28 6d 65 6d 6f | 69 72 65 3d 28 63 68 61 |if((memo|ire=(cha|
|00003660| 72 20 2a 29 6d 61 6c 6c | 6f 63 28 36 35 35 33 36 |r *)mall|oc(65536|
|00003670| 29 29 3d 3d 4e 55 4c 4c | 29 20 7b 0a 58 20 20 09 |))==NULL|) {.X .|
|00003680| 09 09 09 09 20 2f 2a 20 | 52 65 73 65 72 76 65 20 |.... /* |Reserve |
|00003690| 36 34 4b 20 66 6f 72 20 | 43 50 55 20 2a 2f 20 0a |64K for |CPU */ .|
|000036a0| 58 20 20 09 09 65 6e 64 | 77 69 6e 28 29 3b 0a 58 |X ..end|win();.X|
|000036b0| 20 20 09 09 66 70 72 69 | 6e 74 66 28 73 74 64 65 | ..fpri|ntf(stde|
|000036c0| 72 72 2c 22 2d 2d 20 4f | 75 74 20 6f 66 20 6d 65 |rr,"-- O|ut of me|
|000036d0| 6d 6f 72 79 2e 5c 6e 22 | 29 3b 0a 58 2d 2d 2d 20 |mory.\n"|);.X--- |
|000036e0| 35 35 2c 36 33 20 2d 2d | 2d 2d 0a 58 20 20 2a 2f |55,63 --|--.X */|
|000036f0| 0a 58 20 20 6d 61 69 6e | 28 29 0a 58 20 20 7b 0a |.X main|().X {.|
|00003700| 58 20 20 09 69 6e 74 20 | 63 68 6f 69 78 3b 0a 58 |X .int |choix;.X|
|00003710| 20 20 0a 58 21 20 09 69 | 66 28 28 6d 65 6d 6f 69 | .X! .i|f((memoi|
|00003720| 72 65 3d 28 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |re=(unsi|gned cha|
|00003730| 72 20 2a 29 6d 61 6c 6c | 6f 63 28 36 35 35 33 36 |r *)mall|oc(65536|
|00003740| 29 29 3d 3d 4e 55 4c 4c | 29 20 7b 0a 58 20 20 09 |))==NULL|) {.X .|
|00003750| 09 09 09 09 20 2f 2a 20 | 52 65 73 65 72 76 65 20 |.... /* |Reserve |
|00003760| 36 34 4b 20 66 6f 72 20 | 43 50 55 20 2a 2f 20 0a |64K for |CPU */ .|
|00003770| 58 20 20 09 09 65 6e 64 | 77 69 6e 28 29 3b 0a 58 |X ..end|win();.X|
|00003780| 20 20 09 09 66 70 72 69 | 6e 74 66 28 73 74 64 65 | ..fpri|ntf(stde|
|00003790| 72 72 2c 22 2d 2d 20 4f | 75 74 20 6f 66 20 6d 65 |rr,"-- O|ut of me|
|000037a0| 6d 6f 72 79 2e 5c 6e 22 | 29 3b 0a 58 2a 2a 2a 2a |mory.\n"|);.X****|
|000037b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|000037c0| 20 37 36 2c 38 32 20 2a | 2a 2a 2a 0a 58 20 20 09 | 76,82 *|***.X .|
|000037d0| 73 65 74 73 63 72 72 65 | 67 28 30 2c 32 33 29 3b |setscrre|g(0,23);|
|000037e0| 0a 58 20 20 0a 58 20 20 | 09 74 6f 70 77 69 6e 3d |.X .X |.topwin=|
|000037f0| 6e 65 77 77 69 6e 28 33 | 2c 38 30 2c 30 2c 30 29 |newwin(3|,80,0,0)|
|00003800| 3b 09 09 2f 2a 20 44 65 | 66 69 6e 65 20 54 4f 50 |;../* De|fine TOP|
|00003810| 20 77 69 6e 64 6f 77 20 | 20 20 20 20 20 20 2a 2f | window | */|
|00003820| 0a 58 21 20 09 64 69 73 | 70 6c 61 79 77 69 6e 3d |.X! .dis|playwin=|
|00003830| 6e 65 77 77 69 6e 28 31 | 38 2c 38 30 2c 33 2c 30 |newwin(1|8,80,3,0|
|00003840| 29 3b 09 09 2f 2a 20 44 | 65 66 69 6e 65 20 44 49 |);../* D|efine DI|
|00003850| 53 50 4c 41 59 20 77 69 | 6e 64 6f 77 20 20 20 2a |SPLAY wi|ndow *|
|00003860| 2f 0a 58 20 20 09 77 61 | 74 74 72 73 65 74 28 64 |/.X .wa|ttrset(d|
|00003870| 69 73 70 6c 61 79 77 69 | 6e 2c 63 6f 75 6c 65 75 |isplaywi|n,couleu|
|00003880| 72 29 3b 0a 58 20 20 09 | 77 65 72 61 73 65 28 64 |r);.X .|werase(d|
|00003890| 69 73 70 6c 61 79 77 69 | 6e 29 3b 0a 58 20 20 09 |isplaywi|n);.X .|
|000038a0| 69 64 6c 6f 6b 28 64 69 | 73 70 6c 61 79 77 69 6e |idlok(di|splaywin|
|000038b0| 2c 54 52 55 45 29 3b 0a | 58 2d 2d 2d 20 37 31 2c |,TRUE);.|X--- 71,|
|000038c0| 37 37 20 2d 2d 2d 2d 0a | 58 20 20 09 73 65 74 73 |77 ----.|X .sets|
|000038d0| 63 72 72 65 67 28 30 2c | 32 33 29 3b 0a 58 20 20 |crreg(0,|23);.X |
|000038e0| 0a 58 20 20 09 74 6f 70 | 77 69 6e 3d 6e 65 77 77 |.X .top|win=neww|
|000038f0| 69 6e 28 33 2c 38 30 2c | 30 2c 30 29 3b 09 09 2f |in(3,80,|0,0);../|
|00003900| 2a 20 44 65 66 69 6e 65 | 20 54 4f 50 20 77 69 6e |* Define| TOP win|
|00003910| 64 6f 77 20 20 20 20 20 | 20 20 2a 2f 0a 58 21 20 |dow | */.X! |
|00003920| 09 64 69 73 70 6c 61 79 | 77 69 6e 3d 6e 65 77 77 |.display|win=neww|
|00003930| 69 6e 28 31 39 2c 38 30 | 2c 33 2c 30 29 3b 09 09 |in(19,80|,3,0);..|
|00003940| 2f 2a 20 44 65 66 69 6e | 65 20 44 49 53 50 4c 41 |/* Defin|e DISPLA|
|00003950| 59 20 77 69 6e 64 6f 77 | 20 20 20 2a 2f 0a 58 20 |Y window| */.X |
|00003960| 20 09 77 61 74 74 72 73 | 65 74 28 64 69 73 70 6c | .wattrs|et(displ|
|00003970| 61 79 77 69 6e 2c 63 6f | 75 6c 65 75 72 29 3b 0a |aywin,co|uleur);.|
|00003980| 58 20 20 09 77 65 72 61 | 73 65 28 64 69 73 70 6c |X .wera|se(displ|
|00003990| 61 79 77 69 6e 29 3b 0a | 58 20 20 09 69 64 6c 6f |aywin);.|X .idlo|
|000039a0| 6b 28 64 69 73 70 6c 61 | 79 77 69 6e 2c 54 52 55 |k(displa|ywin,TRU|
|000039b0| 45 29 3b 0a 58 2a 2a 2a | 20 6d 61 69 6e 2e 68 2e |E);.X***| main.h.|
|000039c0| 6f 72 69 67 09 54 68 75 | 20 4e 6f 76 20 20 35 20 |orig.Thu| Nov 5 |
|000039d0| 31 36 3a 34 33 3a 32 30 | 20 31 39 39 32 0a 58 2d |16:43:20| 1992.X-|
|000039e0| 2d 2d 20 6d 61 69 6e 2e | 68 09 4d 6f 6e 20 4e 6f |-- main.|h.Mon No|
|000039f0| 76 20 31 36 20 31 36 3a | 33 39 3a 33 34 20 31 39 |v 16 16:|39:34 19|
|00003a00| 39 32 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |92.X****|********|
|00003a10| 2a 2a 2a 0a 58 2a 2a 2a | 20 32 2c 31 39 20 2a 2a |***.X***| 2,19 **|
|00003a20| 2a 2a 0a 58 20 20 09 4d | 41 49 4e 20 67 6c 6f 62 |**.X .M|AIN glob|
|00003a30| 61 6c 20 76 61 72 69 61 | 62 6c 65 73 0a 58 20 20 |al varia|bles.X |
|00003a40| 2a 2f 0a 58 20 20 0a 58 | 20 20 65 78 74 65 72 6e |*/.X .X| extern|
|00003a50| 20 69 6e 74 20 6d 6f 64 | 65 3b 0a 58 20 20 65 78 | int mod|e;.X ex|
|00003a60| 74 65 72 6e 20 69 6e 74 | 20 6c 65 6e 67 74 68 2c |tern int| length,|
|00003a70| 20 63 79 63 6c 65 73 3b | 0a 58 20 20 65 78 74 65 | cycles;|.X exte|
|00003a80| 72 6e 20 63 68 61 72 20 | 63 6f 64 65 5b 5d 2c 20 |rn char |code[], |
|00003a90| 6d 6e 65 6d 6f 6e 69 71 | 75 65 5b 5d 2c 20 6f 70 |mnemoniq|ue[], op|
|00003aa0| 65 72 61 6e 64 5b 5d 2c | 20 63 79 63 6c 65 5b 5d |erand[],| cycle[]|
|00003ab0| 3b 0a 58 21 20 65 78 74 | 65 72 6e 20 75 6e 73 69 |;.X! ext|ern unsi|
|00003ac0| 67 6e 65 64 20 69 6e 74 | 20 63 6f 75 6c 65 75 72 |gned int| couleur|
|00003ad0| 3b 0a 58 21 20 65 78 74 | 65 72 6e 20 75 6e 73 69 |;.X! ext|ern unsi|
|00003ae0| 67 6e 65 64 20 69 6e 74 | 20 69 6e 76 65 72 73 65 |gned int| inverse|
|00003af0| 3b 0a 58 21 20 65 78 74 | 65 72 6e 20 63 68 61 72 |;.X! ext|ern char|
|00003b00| 20 2a 6d 65 6d 6f 69 72 | 65 3b 0a 58 21 20 65 78 | *memoir|e;.X! ex|
|00003b10| 74 65 72 6e 20 75 6e 73 | 69 67 6e 65 64 20 73 68 |tern uns|igned sh|
|00003b20| 6f 72 74 20 69 6e 74 20 | 61 63 63 61 2c 61 63 63 |ort int |acca,acc|
|00003b30| 62 2c 78 72 65 67 2c 79 | 72 65 67 2c 75 72 65 67 |b,xreg,y|reg,ureg|
|00003b40| 2c 73 72 65 67 2c 70 63 | 72 2c 63 63 72 2c 64 70 |,sreg,pc|r,ccr,dp|
|00003b50| 72 3b 0a 58 20 20 65 78 | 74 65 72 6e 20 6c 6f 6e |r;.X ex|tern lon|
|00003b60| 67 20 63 63 6f 75 6e 74 | 65 72 3b 0a 58 20 20 65 |g ccount|er;.X e|
|00003b70| 78 74 65 72 6e 20 69 6e | 74 20 62 72 65 61 6b 6e |xtern in|t breakn|
|00003b80| 75 6d 3b 0a 58 21 20 65 | 78 74 65 72 6e 20 75 6e |um;.X! e|xtern un|
|00003b90| 73 69 67 6e 65 64 20 69 | 6e 74 20 62 72 65 61 6b |signed i|nt break|
|00003ba0| 6c 69 73 74 5b 5d 3b 0a | 58 21 20 65 78 74 65 72 |list[];.|X! exter|
|00003bb0| 6e 20 75 6e 73 69 67 6e | 65 64 20 69 6e 74 20 6b |n unsign|ed int k|
|00003bc0| 65 79 62 6f 61 72 64 3b | 0a 58 21 20 65 78 74 65 |eyboard;|.X! exte|
|00003bd0| 72 6e 20 75 6e 73 69 67 | 6e 65 64 20 69 6e 74 20 |rn unsig|ned int |
|00003be0| 6b 65 79 73 74 61 74 3b | 0a 58 20 20 0a 58 20 20 |keystat;|.X .X |
|00003bf0| 23 64 65 66 69 6e 65 20 | 45 53 43 20 20 20 30 78 |#define |ESC 0x|
|00003c00| 30 36 0a 58 20 20 0a 58 | 2d 2d 2d 20 32 2c 31 34 |06.X .X|--- 2,14|
|00003c10| 35 20 2d 2d 2d 2d 0a 58 | 20 20 09 4d 41 49 4e 20 |5 ----.X| .MAIN |
|00003c20| 67 6c 6f 62 61 6c 20 76 | 61 72 69 61 62 6c 65 73 |global v|ariables|
|00003c30| 0a 58 20 20 2a 2f 0a 58 | 20 20 0a 58 2b 20 23 69 |.X */.X| .X+ #i|
|00003c40| 6e 63 6c 75 64 65 20 3c | 63 75 72 73 65 73 2e 68 |nclude <|curses.h|
|00003c50| 3e 0a 58 2b 20 0a 58 2b | 20 23 69 66 6e 64 65 66 |>.X+ .X+| #ifndef|
|00003c60| 20 4d 41 49 4e 5f 43 0a | 58 2b 20 0a 58 2b 20 65 | MAIN_C.|X+ .X+ e|
|00003c70| 78 74 65 72 6e 20 57 49 | 4e 44 4f 57 20 2a 74 6f |xtern WI|NDOW *to|
|00003c80| 70 77 69 6e 3b 0a 58 2b | 20 65 78 74 65 72 6e 20 |pwin;.X+| extern |
|00003c90| 57 49 4e 44 4f 57 20 2a | 64 69 73 70 6c 61 79 77 |WINDOW *|displayw|
|00003ca0| 69 6e 3b 0a 58 2b 20 65 | 78 74 65 72 6e 20 57 49 |in;.X+ e|xtern WI|
|00003cb0| 4e 44 4f 57 20 2a 72 65 | 67 77 69 6e 3b 0a 58 2b |NDOW *re|gwin;.X+|
|00003cc0| 20 0a 58 20 20 65 78 74 | 65 72 6e 20 69 6e 74 20 | .X ext|ern int |
|00003cd0| 6d 6f 64 65 3b 0a 58 20 | 20 65 78 74 65 72 6e 20 |mode;.X | extern |
|00003ce0| 69 6e 74 20 6c 65 6e 67 | 74 68 2c 20 63 79 63 6c |int leng|th, cycl|
|00003cf0| 65 73 3b 0a 58 20 20 65 | 78 74 65 72 6e 20 63 68 |es;.X e|xtern ch|
|00003d00| 61 72 20 63 6f 64 65 5b | 5d 2c 20 6d 6e 65 6d 6f |ar code[|], mnemo|
|00003d10| 6e 69 71 75 65 5b 5d 2c | 20 6f 70 65 72 61 6e 64 |nique[],| operand|
|00003d20| 5b 5d 2c 20 63 79 63 6c | 65 5b 5d 3b 0a 58 21 20 |[], cycl|e[];.X! |
|00003d30| 65 78 74 65 72 6e 20 75 | 6e 73 69 67 6e 65 64 20 |extern u|nsigned |
|00003d40| 63 6f 75 6c 65 75 72 3b | 0a 58 21 20 65 78 74 65 |couleur;|.X! exte|
|00003d50| 72 6e 20 75 6e 73 69 67 | 6e 65 64 20 69 6e 76 65 |rn unsig|ned inve|
|00003d60| 72 73 65 3b 0a 58 21 20 | 65 78 74 65 72 6e 20 75 |rse;.X! |extern u|
|00003d70| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 2a 6d 65 |nsigned |char *me|
|00003d80| 6d 6f 69 72 65 3b 0a 58 | 21 20 65 78 74 65 72 6e |moire;.X|! extern|
|00003d90| 20 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 20 | unsigne|d short |
|00003da0| 61 63 63 61 2c 61 63 63 | 62 2c 78 72 65 67 2c 79 |acca,acc|b,xreg,y|
|00003db0| 72 65 67 2c 75 72 65 67 | 2c 73 72 65 67 2c 70 63 |reg,ureg|,sreg,pc|
|00003dc0| 72 2c 63 63 72 2c 64 70 | 72 3b 0a 58 20 20 65 78 |r,ccr,dp|r;.X ex|
|00003dd0| 74 65 72 6e 20 6c 6f 6e | 67 20 63 63 6f 75 6e 74 |tern lon|g ccount|
|00003de0| 65 72 3b 0a 58 20 20 65 | 78 74 65 72 6e 20 69 6e |er;.X e|xtern in|
|00003df0| 74 20 62 72 65 61 6b 6e | 75 6d 3b 0a 58 21 20 65 |t breakn|um;.X! e|
|00003e00| 78 74 65 72 6e 20 75 6e | 73 69 67 6e 65 64 20 62 |xtern un|signed b|
|00003e10| 72 65 61 6b 6c 69 73 74 | 5b 5d 3b 0a 58 21 20 65 |reaklist|[];.X! e|
|00003e20| 78 74 65 72 6e 20 75 6e | 73 69 67 6e 65 64 20 6b |xtern un|signed k|
|00003e30| 65 79 62 6f 61 72 64 3b | 0a 58 21 20 65 78 74 65 |eyboard;|.X! exte|
|00003e40| 72 6e 20 75 6e 73 69 67 | 6e 65 64 20 6b 65 79 73 |rn unsig|ned keys|
|00003e50| 74 61 74 3b 0a 58 20 20 | 0a 58 2b 20 23 65 6e 64 |tat;.X |.X+ #end|
|00003e60| 69 66 20 4d 41 49 4e 5f | 43 0a 58 2b 20 0a 58 20 |if MAIN_|C.X+ .X |
|00003e70| 20 23 64 65 66 69 6e 65 | 20 45 53 43 20 20 20 30 | #define| ESC 0|
|00003e80| 78 30 36 0a 58 20 20 0a | 58 2b 20 2f 2a 20 50 52 |x06.X .|X+ /* PR|
|00003e90| 4f 54 4f 54 59 50 45 53 | 20 2a 2f 0a 58 2b 20 0a |OTOTYPES| */.X+ .|
|00003ea0| 58 2b 20 2f 2a 20 61 6c | 75 2e 63 20 2a 2f 0a 58 |X+ /* al|u.c */.X|
|00003eb0| 2b 20 75 6e 73 69 67 6e | 65 64 20 61 6c 75 28 69 |+ unsign|ed alu(i|
|00003ec0| 6e 74 20 6f 70 65 72 61 | 74 69 6f 6e 2c 20 75 6e |nt opera|tion, un|
|00003ed0| 73 69 67 6e 65 64 20 64 | 30 2c 20 75 6e 73 69 67 |signed d|0, unsig|
|00003ee0| 6e 65 64 20 64 31 29 3b | 0a 58 2b 20 75 6e 73 69 |ned d1);|.X+ unsi|
|00003ef0| 67 6e 65 64 20 61 6c 75 | 31 36 28 69 6e 74 20 6f |gned alu|16(int o|
|00003f00| 70 65 72 61 74 69 6f 6e | 2c 20 75 6e 73 69 67 6e |peration|, unsign|
|00003f10| 65 64 20 74 30 2c 20 75 | 6e 73 69 67 6e 65 64 20 |ed t0, u|nsigned |
|00003f20| 74 31 29 3b 0a 58 2b 20 | 0a 58 2b 20 2f 2a 20 62 |t1);.X+ |.X+ /* b|
|00003f30| 72 65 61 6b 70 6f 69 6e | 74 2e 63 20 2a 2f 0a 58 |reakpoin|t.c */.X|
|00003f40| 2b 20 69 6e 74 20 62 72 | 65 61 6b 70 6f 69 6e 74 |+ int br|eakpoint|
|00003f50| 28 76 6f 69 64 29 3b 0a | 58 2b 20 69 6e 74 20 61 |(void);.|X+ int a|
|00003f60| 64 64 5f 62 72 65 61 6b | 70 6f 69 6e 74 28 76 6f |dd_break|point(vo|
|00003f70| 69 64 29 3b 0a 58 2b 20 | 69 6e 74 20 64 65 6c 65 |id);.X+ |int dele|
|00003f80| 74 65 5f 62 72 65 61 6b | 70 6f 69 6e 74 28 76 6f |te_break|point(vo|
|00003f90| 69 64 29 3b 0a 58 2b 20 | 69 6e 74 20 63 6c 65 61 |id);.X+ |int clea|
|00003fa0| 72 5f 62 72 65 61 6b 70 | 6f 69 6e 74 28 76 6f 69 |r_breakp|oint(voi|
|00003fb0| 64 29 3b 0a 58 2b 20 69 | 6e 74 20 73 68 6f 77 5f |d);.X+ i|nt show_|
|00003fc0| 62 72 65 61 6b 70 6f 69 | 6e 74 28 76 6f 69 64 29 |breakpoi|nt(void)|
|00003fd0| 3b 0a 58 2b 20 0a 58 2b | 20 2f 2a 20 63 73 68 65 |;.X+ .X+| /* cshe|
|00003fe0| 6c 6c 2e 63 20 2a 2f 0a | 58 2b 20 69 6e 74 20 63 |ll.c */.|X+ int c|
|00003ff0| 73 68 65 6c 6c 28 76 6f | 69 64 29 3b 0a 58 2b 20 |shell(vo|id);.X+ |
|00004000| 0a 58 2b 20 2f 2a 20 64 | 5f 64 69 72 65 63 74 2e |.X+ /* d|_direct.|
|00004010| 63 20 2a 2f 0a 58 2b 20 | 69 6e 74 20 64 69 73 61 |c */.X+ |int disa|
|00004020| 5f 64 69 72 65 63 74 28 | 75 6e 73 69 67 6e 65 64 |_direct(|unsigned|
|00004030| 20 70 63 29 3b 0a 58 2b | 20 0a 58 2b 20 2f 2a 20 | pc);.X+| .X+ /* |
|00004040| 64 5f 65 78 74 65 6e 64 | 65 64 2e 63 20 2a 2f 0a |d_extend|ed.c */.|
|00004050| 58 2b 20 69 6e 74 20 64 | 69 73 61 5f 65 78 74 65 |X+ int d|isa_exte|
|00004060| 6e 64 65 64 28 75 6e 73 | 69 67 6e 65 64 20 70 63 |nded(uns|igned pc|
|00004070| 29 3b 0a 58 2b 20 0a 58 | 2b 20 2f 2a 20 64 5f 69 |);.X+ .X|+ /* d_i|
|00004080| 6d 6d 65 64 69 61 74 2e | 63 20 2a 2f 0a 58 2b 20 |mmediat.|c */.X+ |
|00004090| 69 6e 74 20 64 69 73 61 | 5f 69 6d 6d 65 64 69 61 |int disa|_immedia|
|000040a0| 74 28 75 6e 73 69 67 6e | 65 64 20 70 63 29 3b 0a |t(unsign|ed pc);.|
|000040b0| 58 2b 20 0a 58 2b 20 2f | 2a 20 64 5f 69 6e 64 65 |X+ .X+ /|* d_inde|
|000040c0| 78 65 64 2e 63 20 2a 2f | 0a 58 2b 20 69 6e 74 20 |xed.c */|.X+ int |
|000040d0| 64 69 73 61 5f 69 6e 64 | 65 78 65 64 28 75 6e 73 |disa_ind|exed(uns|
|000040e0| 69 67 6e 65 64 20 70 63 | 29 3b 0a 58 2b 20 0a 58 |igned pc|);.X+ .X|
|000040f0| 2b 20 2f 2a 20 64 5f 69 | 6e 68 65 72 65 6e 74 2e |+ /* d_i|nherent.|
|00004100| 63 20 2a 2f 0a 58 2b 20 | 69 6e 74 20 64 69 73 61 |c */.X+ |int disa|
|00004110| 5f 69 6e 68 65 72 65 6e | 74 28 75 6e 73 69 67 6e |_inheren|t(unsign|
|00004120| 65 64 20 70 63 29 3b 0a | 58 2b 20 0a 58 2b 20 2f |ed pc);.|X+ .X+ /|
|00004130| 2a 20 64 5f 72 65 6c 61 | 74 69 76 65 2e 63 20 2a |* d_rela|tive.c *|
|00004140| 2f 0a 58 2b 20 69 6e 74 | 20 64 69 73 61 5f 72 65 |/.X+ int| disa_re|
|00004150| 6c 61 74 69 76 65 28 75 | 6e 73 69 67 6e 65 64 20 |lative(u|nsigned |
|00004160| 70 63 29 3b 0a 58 2b 20 | 0a 58 2b 20 2f 2a 20 65 |pc);.X+ |.X+ /* e|
|00004170| 78 65 63 75 74 65 2e 63 | 20 2a 2f 0a 58 2b 20 69 |xecute.c| */.X+ i|
|00004180| 6e 74 20 65 78 65 63 75 | 74 65 5f 73 74 65 70 28 |nt execu|te_step(|
|00004190| 76 6f 69 64 29 3b 0a 58 | 2b 20 69 6e 74 20 65 78 |void);.X|+ int ex|
|000041a0| 65 63 75 74 65 5f 74 72 | 61 63 65 28 76 6f 69 64 |ecute_tr|ace(void|
|000041b0| 29 3b 0a 58 2b 20 69 6e | 74 20 65 78 65 63 75 74 |);.X+ in|t execut|
|000041c0| 65 5f 72 75 6e 28 76 6f | 69 64 29 3b 0a 58 2b 20 |e_run(vo|id);.X+ |
|000041d0| 69 6e 74 20 65 78 65 63 | 75 74 65 5f 64 69 73 6b |int exec|ute_disk|
|000041e0| 28 76 6f 69 64 29 3b 0a | 58 2b 20 69 6e 74 20 63 |(void);.|X+ int c|
|000041f0| 70 75 28 76 6f 69 64 29 | 3b 0a 58 2b 20 69 6e 74 |pu(void)|;.X+ int|
|00004200| 20 64 69 73 70 6c 61 79 | 5f 72 65 67 69 73 74 65 | display|_registe|
|00004210| 72 73 28 76 6f 69 64 29 | 3b 0a 58 2b 20 0a 58 2b |rs(void)|;.X+ .X+|
|00004220| 20 2f 2a 20 66 69 6c 65 | 2e 63 20 2a 2f 0a 58 2b | /* file|.c */.X+|
|00004230| 20 69 6e 74 20 66 69 63 | 68 69 65 72 28 76 6f 69 | int fic|hier(voi|
|00004240| 64 29 3b 0a 58 2b 20 69 | 6e 74 20 6c 6f 61 64 70 |d);.X+ i|nt loadp|
|00004250| 28 76 6f 69 64 29 3b 0a | 58 2b 20 69 6e 74 20 63 |(void);.|X+ int c|
|00004260| 68 61 6e 67 65 64 69 72 | 28 76 6f 69 64 29 3b 0a |hangedir|(void);.|
|00004270| 58 2b 20 69 6e 74 20 73 | 61 76 65 70 28 76 6f 69 |X+ int s|avep(voi|
|00004280| 64 29 3b 0a 58 2b 20 69 | 6e 74 20 73 61 76 65 73 |d);.X+ i|nt saves|
|00004290| 74 61 74 65 28 76 6f 69 | 64 29 3b 0a 58 2b 20 69 |tate(voi|d);.X+ i|
|000042a0| 6e 74 20 72 65 73 74 6f | 72 65 73 74 61 74 65 28 |nt resto|restate(|
|000042b0| 76 6f 69 64 29 3b 0a 58 | 2b 20 0a 58 2b 20 2f 2a |void);.X|+ .X+ /*|
|000042c0| 20 6d 61 69 6e 2e 63 20 | 2a 2f 0a 58 2b 20 69 6e | main.c |*/.X+ in|
|000042d0| 74 20 6d 61 69 6e 28 76 | 6f 69 64 29 3b 0a 58 2b |t main(v|oid);.X+|
|000042e0| 20 0a 58 2b 20 2f 2a 20 | 6d 61 69 6e 6d 65 6e 75 | .X+ /* |mainmenu|
|000042f0| 2e 63 20 2a 2f 0a 58 2b | 20 69 6e 74 20 6d 61 69 |.c */.X+| int mai|
|00004300| 6e 6d 65 6e 75 28 76 6f | 69 64 29 3b 0a 58 2b 20 |nmenu(vo|id);.X+ |
|00004310| 0a 58 2b 20 2f 2a 20 6d | 65 6e 75 2e 63 20 2a 2f |.X+ /* m|enu.c */|
|00004320| 0a 58 2b 20 69 6e 74 20 | 6d 65 6e 75 28 69 6e 74 |.X+ int |menu(int|
|00004330| 20 6e 2c 20 63 6f 6e 73 | 74 20 63 68 61 72 20 2a | n, cons|t char *|
|00004340| 69 74 65 6d 73 5b 5d 2c | 20 69 6e 74 20 79 2c 20 |items[],| int y, |
|00004350| 69 6e 74 20 78 29 3b 0a | 58 2b 20 69 6e 74 20 77 |int x);.|X+ int w|
|00004360| 6d 65 6e 75 28 73 74 72 | 75 63 74 20 5f 77 69 6e |menu(str|uct _win|
|00004370| 5f 73 74 20 2a 6d 77 69 | 6e 2c 20 69 6e 74 20 6e |_st *mwi|n, int n|
|00004380| 2c 20 63 6f 6e 73 74 20 | 63 68 61 72 20 2a 69 74 |, const |char *it|
|00004390| 65 6d 73 5b 5d 2c 20 69 | 6e 74 20 70 6f 73 69 74 |ems[], i|nt posit|
|000043a0| 69 6f 6e 29 3b 0a 58 2b | 20 0a 58 2b 20 2f 2a 20 |ion);.X+| .X+ /* |
|000043b0| 6d 69 73 63 2e 63 20 2a | 2f 0a 58 2b 20 75 6e 73 |misc.c *|/.X+ uns|
|000043c0| 69 67 6e 65 64 20 64 70 | 63 61 6c 63 28 75 6e 73 |igned dp|calc(uns|
|000043d0| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 70 63 29 3b |igned sh|ort pc);|
|000043e0| 0a 58 2b 20 75 6e 73 69 | 67 6e 65 64 20 65 78 74 |.X+ unsi|gned ext|
|000043f0| 65 6e 64 63 61 6c 63 28 | 75 6e 73 69 67 6e 65 64 |endcalc(|unsigned|
|00004400| 20 73 68 6f 72 74 20 70 | 63 29 3b 0a 58 2b 20 75 | short p|c);.X+ u|
|00004410| 6e 73 69 67 6e 65 64 20 | 72 65 61 64 62 75 73 28 |nsigned |readbus(|
|00004420| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 70 |unsigned| short p|
|00004430| 63 29 3b 0a 58 2b 20 76 | 6f 69 64 20 77 72 69 74 |c);.X+ v|oid writ|
|00004440| 65 62 75 73 28 75 6e 73 | 69 67 6e 65 64 20 73 68 |ebus(uns|igned sh|
|00004450| 6f 72 74 20 70 63 2c 20 | 75 6e 73 69 67 6e 65 64 |ort pc, |unsigned|
|00004460| 20 63 68 61 72 20 64 61 | 74 61 29 3b 0a 58 2b 20 | char da|ta);.X+ |
|00004470| 69 6e 74 20 78 74 6f 69 | 28 63 68 61 72 20 2a 69 |int xtoi|(char *i|
|00004480| 6e 70 75 74 29 3b 0a 58 | 2b 20 75 6e 73 69 67 6e |nput);.X|+ unsign|
|00004490| 65 64 20 67 65 74 72 65 | 67 76 61 6c 28 69 6e 74 |ed getre|gval(int|
|000044a0| 20 72 65 67 6e 75 6d 29 | 3b 0a 58 2b 20 76 6f 69 | regnum)|;.X+ voi|
|000044b0| 64 20 70 75 74 72 65 67 | 76 61 6c 28 69 6e 74 20 |d putreg|val(int |
|000044c0| 72 65 67 6e 75 6d 2c 20 | 75 6e 73 69 67 6e 65 64 |regnum, |unsigned|
|000044d0| 20 72 65 67 76 61 6c 29 | 3b 0a 58 2b 20 75 6e 73 | regval)|;.X+ uns|
|000044e0| 69 67 6e 65 64 20 67 65 | 74 70 75 73 68 72 65 67 |igned ge|tpushreg|
|000044f0| 76 61 6c 28 69 6e 74 20 | 73 74 61 63 6b 2c 20 75 |val(int |stack, u|
|00004500| 6e 73 69 67 6e 65 64 20 | 72 65 67 62 69 74 29 3b |nsigned |regbit);|
|00004510| 0a 58 2b 20 76 6f 69 64 | 20 70 75 74 70 75 6c 6c |.X+ void| putpull|
|00004520| 72 65 67 76 61 6c 28 69 | 6e 74 20 73 74 61 63 6b |regval(i|nt stack|
|00004530| 2c 20 75 6e 73 69 67 6e | 65 64 20 72 65 67 62 69 |, unsign|ed regbi|
|00004540| 74 2c 20 75 6e 73 69 67 | 6e 65 64 20 72 65 67 76 |t, unsig|ned regv|
|00004550| 61 6c 29 3b 0a 58 2b 20 | 75 6e 73 69 67 6e 65 64 |al);.X+ |unsigned|
|00004560| 20 69 6e 64 65 78 63 61 | 6c 63 28 76 6f 69 64 29 | indexca|lc(void)|
|00004570| 3b 0a 58 2b 20 0a 58 2b | 20 2f 2a 20 6d 6f 64 65 |;.X+ .X+| /* mode|
|00004580| 2e 63 20 2a 2f 0a 58 2b | 20 69 6e 74 20 6d 6f 64 |.c */.X+| int mod|
|00004590| 65 73 28 76 6f 69 64 29 | 3b 0a 58 2b 20 0a 58 2b |es(void)|;.X+ .X+|
|000045a0| 20 2f 2a 20 6d 6f 6e 69 | 74 6f 72 2e 63 20 2a 2f | /* moni|tor.c */|
|000045b0| 0a 58 2b 20 69 6e 74 20 | 6d 6f 6e 69 74 6f 72 28 |.X+ int |monitor(|
|000045c0| 76 6f 69 64 29 3b 0a 58 | 2b 20 69 6e 74 20 73 74 |void);.X|+ int st|
|000045d0| 61 72 74 5f 65 78 65 63 | 75 74 69 6f 6e 28 76 6f |art_exec|ution(vo|
|000045e0| 69 64 29 3b 0a 58 2b 20 | 69 6e 74 20 64 75 6d 70 |id);.X+ |int dump|
|000045f0| 28 76 6f 69 64 29 3b 0a | 58 2b 20 69 6e 74 20 66 |(void);.|X+ int f|
|00004600| 69 6c 6c 28 76 6f 69 64 | 29 3b 0a 58 2b 20 69 6e |ill(void|);.X+ in|
|00004610| 74 20 64 69 73 61 28 76 | 6f 69 64 29 3b 0a 58 2b |t disa(v|oid);.X+|
|00004620| 20 69 6e 74 20 64 69 73 | 61 73 73 65 6d 62 6c 65 | int dis|assemble|
|00004630| 28 75 6e 73 69 67 6e 65 | 64 20 70 63 29 3b 0a 58 |(unsigne|d pc);.X|
|00004640| 2b 20 69 6e 74 20 6d 72 | 65 67 69 73 74 65 72 28 |+ int mr|egister(|
|00004650| 76 6f 69 64 29 3b 0a 58 | 2b 20 69 6e 74 20 6d 63 |void);.X|+ int mc|
|00004660| 79 63 6c 65 28 76 6f 69 | 64 29 3b 0a 58 2b 20 69 |ycle(voi|d);.X+ i|
|00004670| 6e 74 20 73 68 6f 77 5f | 76 65 63 74 6f 72 73 28 |nt show_|vectors(|
|00004680| 76 6f 69 64 29 3b 0a 58 | 2b 20 69 6e 74 20 6d 6f |void);.X|+ int mo|
|00004690| 64 69 66 79 28 76 6f 69 | 64 29 3b 0a 58 2b 20 69 |dify(voi|d);.X+ i|
|000046a0| 6e 74 20 72 65 66 72 65 | 73 68 5f 70 61 6e 65 6c |nt refre|sh_panel|
|000046b0| 28 73 74 72 75 63 74 20 | 5f 77 69 6e 5f 73 74 20 |(struct |_win_st |
|000046c0| 2a 77 69 6e 2c 20 75 6e | 73 69 67 6e 65 64 20 73 |*win, un|signed s|
|000046d0| 68 6f 72 74 20 6d 65 6d | 6f 72 79 29 3b 0a 58 2b |hort mem|ory);.X+|
|000046e0| 20 0a 58 2b 20 2f 2a 20 | 6f 70 65 72 61 6e 64 2e | .X+ /* |operand.|
|000046f0| 63 20 2a 2f 0a 58 2b 20 | 69 6e 74 20 69 6d 6d 65 |c */.X+ |int imme|
|00004700| 64 69 61 74 28 69 6e 74 | 20 74 79 70 65 2c 20 75 |diat(int| type, u|
|00004710| 6e 73 69 67 6e 65 64 20 | 70 63 29 3b 0a 58 2b 20 |nsigned |pc);.X+ |
|00004720| 69 6e 74 20 64 69 72 65 | 63 74 28 75 6e 73 69 67 |int dire|ct(unsig|
|00004730| 6e 65 64 20 70 63 29 3b | 0a 58 2b 20 69 6e 74 20 |ned pc);|.X+ int |
|00004740| 65 78 74 65 6e 64 65 64 | 28 75 6e 73 69 67 6e 65 |extended|(unsigne|
|00004750| 64 20 70 63 29 3b 0a 58 | 2b 20 69 6e 74 20 72 65 |d pc);.X|+ int re|
|00004760| 6c 61 74 69 76 65 28 69 | 6e 74 20 74 79 70 65 2c |lative(i|nt type,|
|00004770| 20 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 20 | unsigne|d short |
|00004780| 70 63 29 3b 0a 58 2b 20 | 69 6e 74 20 69 6e 64 65 |pc);.X+ |int inde|
|00004790| 78 65 64 28 75 6e 73 69 | 67 6e 65 64 20 70 63 29 |xed(unsi|gned pc)|
|000047a0| 3b 0a 58 2b 20 0a 58 2b | 20 2f 2a 20 73 5f 64 69 |;.X+ .X+| /* s_di|
|000047b0| 72 65 63 74 2e 63 20 2a | 2f 0a 58 2b 20 69 6e 74 |rect.c *|/.X+ int|
|000047c0| 20 73 69 6d 75 6c 61 74 | 65 5f 64 69 72 65 63 74 | simulat|e_direct|
|000047d0| 28 76 6f 69 64 29 3b 0a | 58 2b 20 0a 58 2b 20 2f |(void);.|X+ .X+ /|
|000047e0| 2a 20 73 5f 65 78 74 65 | 6e 64 65 64 2e 63 20 2a |* s_exte|nded.c *|
|000047f0| 2f 0a 58 2b 20 69 6e 74 | 20 73 69 6d 75 6c 61 74 |/.X+ int| simulat|
|00004800| 65 5f 65 78 74 65 6e 64 | 65 64 28 76 6f 69 64 29 |e_extend|ed(void)|
|00004810| 3b 0a 58 2b 20 0a 58 2b | 20 2f 2a 20 73 5f 69 6d |;.X+ .X+| /* s_im|
|00004820| 6d 65 64 69 61 74 2e 63 | 20 2a 2f 0a 58 2b 20 69 |mediat.c| */.X+ i|
|00004830| 6e 74 20 73 69 6d 75 6c | 61 74 65 5f 69 6d 6d 65 |nt simul|ate_imme|
|00004840| 64 69 61 74 28 76 6f 69 | 64 29 3b 0a 58 2b 20 0a |diat(voi|d);.X+ .|
|00004850| 58 2b 20 2f 2a 20 73 5f | 69 6e 64 65 78 65 64 2e |X+ /* s_|indexed.|
|00004860| 63 20 2a 2f 0a 58 2b 20 | 69 6e 74 20 73 69 6d 75 |c */.X+ |int simu|
|00004870| 6c 61 74 65 5f 69 6e 64 | 65 78 65 64 28 76 6f 69 |late_ind|exed(voi|
|00004880| 64 29 3b 0a 58 2b 20 0a | 58 2b 20 2f 2a 20 73 5f |d);.X+ .|X+ /* s_|
|00004890| 69 6e 68 65 72 65 6e 74 | 2e 63 20 2a 2f 0a 58 2b |inherent|.c */.X+|
|000048a0| 20 69 6e 74 20 73 69 6d | 75 6c 61 74 65 5f 69 6e | int sim|ulate_in|
|000048b0| 68 65 72 65 6e 74 28 76 | 6f 69 64 29 3b 0a 58 2b |herent(v|oid);.X+|
|000048c0| 20 0a 58 2b 20 2f 2a 20 | 73 5f 72 65 6c 61 74 69 | .X+ /* |s_relati|
|000048d0| 76 65 2e 63 20 2a 2f 0a | 58 2b 20 69 6e 74 20 73 |ve.c */.|X+ int s|
|000048e0| 69 6d 75 6c 61 74 65 5f | 72 65 6c 61 74 69 76 65 |imulate_|relative|
|000048f0| 28 76 6f 69 64 29 3b 0a | 58 2b 20 0a 58 2b 20 2f |(void);.|X+ .X+ /|
|00004900| 2a 20 77 65 6c 63 6f 6d | 65 2e 63 20 2a 2f 0a 58 |* welcom|e.c */.X|
|00004910| 2b 20 69 6e 74 20 77 65 | 6c 63 6f 6d 65 28 76 6f |+ int we|lcome(vo|
|00004920| 69 64 29 3b 0a 58 2a 2a | 2a 20 6d 61 69 6e 6d 65 |id);.X**|* mainme|
|00004930| 6e 75 2e 63 2e 6f 72 69 | 67 09 54 68 75 20 4f 63 |nu.c.ori|g.Thu Oc|
|00004940| 74 20 20 31 20 31 31 3a | 34 30 3a 32 34 20 31 39 |t 1 11:|40:24 19|
|00004950| 39 32 0a 58 2d 2d 2d 20 | 6d 61 69 6e 6d 65 6e 75 |92.X--- |mainmenu|
|00004960| 2e 63 09 4d 6f 6e 20 4e | 6f 76 20 31 36 20 30 39 |.c.Mon N|ov 16 09|
|00004970| 3a 34 37 3a 33 34 20 31 | 39 39 32 0a 58 2a 2a 2a |:47:34 1|992.X***|
|00004980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|00004990| 2a 20 31 35 2c 32 31 20 | 2a 2a 2a 2a 0a 58 20 20 |* 15,21 |****.X |
|000049a0| 0a 58 20 20 69 6e 74 20 | 6d 61 69 6e 6d 65 6e 75 |.X int |mainmenu|
|000049b0| 28 29 0a 58 20 20 7b 0a | 58 2d 20 09 65 78 74 65 |().X {.|X- .exte|
|000049c0| 72 6e 20 57 49 4e 44 4f | 57 20 2a 74 6f 70 77 69 |rn WINDO|W *topwi|
|000049d0| 6e 3b 0a 58 20 20 09 73 | 74 61 74 69 63 20 63 68 |n;.X .s|tatic ch|
|000049e0| 61 72 20 2a 74 6f 70 6d | 65 6e 75 5b 36 5d 3d 20 |ar *topm|enu[6]= |
|000049f0| 7b 22 46 69 6c 65 22 2c | 22 52 75 6e 22 2c 22 4d |{"File",|"Run","M|
|00004a00| 6f 6e 69 74 6f 72 22 2c | 22 42 72 65 61 6b 70 6f |onitor",|"Breakpo|
|00004a10| 69 6e 74 22 2c 0a 58 20 | 20 09 09 09 09 20 20 22 |int",.X | .... "|
|00004a20| 53 68 65 6c 6c 22 2c 22 | 51 75 69 74 22 7d 3b 0a |Shell","|Quit"};.|
|00004a30| 58 20 20 09 69 6e 74 20 | 69 3b 0a 58 2d 2d 2d 20 |X .int |i;.X--- |
|00004a40| 31 35 2c 32 30 20 2d 2d | 2d 2d 0a 58 2a 2a 2a 20 |15,20 --|--.X*** |
|00004a50| 6d 65 6e 75 2e 63 2e 6f | 72 69 67 09 54 68 75 20 |menu.c.o|rig.Thu |
|00004a60| 53 65 70 20 31 37 20 31 | 32 3a 33 32 3a 34 36 20 |Sep 17 1|2:32:46 |
|00004a70| 31 39 39 32 0a 58 2d 2d | 2d 20 6d 65 6e 75 2e 63 |1992.X--|- menu.c|
|00004a80| 09 4d 6f 6e 20 4e 6f 76 | 20 31 36 20 30 39 3a 33 |.Mon Nov| 16 09:3|
|00004a90| 32 3a 34 38 20 31 39 39 | 32 0a 58 2a 2a 2a 2a 2a |2:48 199|2.X*****|
|00004aa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00004ab0| 35 2c 31 31 20 2a 2a 2a | 2a 0a 58 20 20 2f 2a 0a |5,11 ***|*.X /*.|
|00004ac0| 58 20 20 09 41 66 66 69 | 63 68 65 20 75 6e 20 4d |X .Affi|che un M|
|00004ad0| 45 4e 55 20 64 65 20 6e | 20 69 74 65 6d 73 20 61 |ENU de n| items a|
|00004ae0| 20 78 2c 79 0a 58 20 20 | 2a 2f 0a 58 21 20 69 6e | x,y.X |*/.X! in|
|00004af0| 74 20 6d 65 6e 75 28 69 | 6e 74 20 6e 2c 63 68 61 |t menu(i|nt n,cha|
|00004b00| 72 2a 69 74 65 6d 73 5b | 5d 2c 69 6e 74 20 79 2c |r*items[|],int y,|
|00004b10| 69 6e 74 20 78 29 0a 58 | 20 20 7b 0a 58 20 20 09 |int x).X| {.X .|
|00004b20| 57 49 4e 44 4f 57 20 2a | 6d 77 69 6e 3b 0a 58 20 |WINDOW *|mwin;.X |
|00004b30| 20 09 69 6e 74 20 69 2c | 6c 73 2c 70 6f 73 69 74 | .int i,|ls,posit|
|00004b40| 69 6f 6e 3d 30 3b 0a 58 | 2d 2d 2d 20 35 2c 31 31 |ion=0;.X|--- 5,11|
|00004b50| 20 2d 2d 2d 2d 0a 58 20 | 20 2f 2a 0a 58 20 20 09 | ----.X | /*.X .|
|00004b60| 41 66 66 69 63 68 65 20 | 75 6e 20 4d 45 4e 55 20 |Affiche |un MENU |
|00004b70| 64 65 20 6e 20 69 74 65 | 6d 73 20 61 20 78 2c 79 |de n ite|ms a x,y|
|00004b80| 0a 58 20 20 2a 2f 0a 58 | 21 20 69 6e 74 20 6d 65 |.X */.X|! int me|
|00004b90| 6e 75 28 69 6e 74 20 6e | 2c 63 6f 6e 73 74 20 63 |nu(int n|,const c|
|00004ba0| 68 61 72 2a 69 74 65 6d | 73 5b 5d 2c 69 6e 74 20 |har*item|s[],int |
|00004bb0| 79 2c 69 6e 74 20 78 29 | 0a 58 20 20 7b 0a 58 20 |y,int x)|.X {.X |
|00004bc0| 20 09 57 49 4e 44 4f 57 | 20 2a 6d 77 69 6e 3b 0a | .WINDOW| *mwin;.|
|00004bd0| 58 20 20 09 69 6e 74 20 | 69 2c 6c 73 2c 70 6f 73 |X .int |i,ls,pos|
|00004be0| 69 74 69 6f 6e 3d 30 3b | 0a 58 2a 2a 2a 2a 2a 2a |ition=0;|.X******|
|00004bf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 37 |********|*.X*** 7|
|00004c00| 35 2c 38 31 20 2a 2a 2a | 2a 0a 58 20 20 2f 2a 0a |5,81 ***|*.X /*.|
|00004c10| 58 20 20 09 41 66 66 69 | 63 68 65 20 75 6e 20 4d |X .Affi|che un M|
|00004c20| 45 4e 55 20 64 65 20 6e | 20 69 74 65 6d 73 20 0a |ENU de n| items .|
|00004c30| 58 20 20 2a 2f 0a 58 21 | 20 69 6e 74 20 77 6d 65 |X */.X!| int wme|
|00004c40| 6e 75 28 57 49 4e 44 4f | 57 20 2a 6d 77 69 6e 2c |nu(WINDO|W *mwin,|
|00004c50| 69 6e 74 20 6e 2c 63 68 | 61 72 2a 69 74 65 6d 73 |int n,ch|ar*items|
|00004c60| 5b 5d 2c 69 6e 74 20 70 | 6f 73 69 74 69 6f 6e 29 |[],int p|osition)|
|00004c70| 0a 58 20 20 7b 0a 58 20 | 20 09 69 6e 74 20 69 3b |.X {.X | .int i;|
|00004c80| 0a 58 20 20 0a 58 2d 2d | 2d 20 37 36 2c 38 32 20 |.X .X--|- 76,82 |
|00004c90| 2d 2d 2d 2d 0a 58 20 20 | 2f 2a 0a 58 20 20 09 41 |----.X |/*.X .A|
|00004ca0| 66 66 69 63 68 65 20 75 | 6e 20 4d 45 4e 55 20 64 |ffiche u|n MENU d|
|00004cb0| 65 20 6e 20 69 74 65 6d | 73 20 0a 58 20 20 2a 2f |e n item|s .X */|
|00004cc0| 0a 58 21 20 69 6e 74 20 | 77 6d 65 6e 75 28 57 49 |.X! int |wmenu(WI|
|00004cd0| 4e 44 4f 57 20 2a 6d 77 | 69 6e 2c 69 6e 74 20 6e |NDOW *mw|in,int n|
|00004ce0| 2c 63 6f 6e 73 74 20 63 | 68 61 72 2a 69 74 65 6d |,const c|har*item|
|00004cf0| 73 5b 5d 2c 69 6e 74 20 | 70 6f 73 69 74 69 6f 6e |s[],int |position|
|00004d00| 29 0a 58 20 20 7b 0a 58 | 20 20 09 69 6e 74 20 69 |).X {.X| .int i|
|00004d10| 3b 0a 58 20 20 0a 58 2a | 2a 2a 20 6d 69 73 63 2e |;.X .X*|** misc.|
|00004d20| 63 2e 6f 72 69 67 09 54 | 68 75 20 4e 6f 76 20 20 |c.orig.T|hu Nov |
|00004d30| 35 20 31 36 3a 35 38 3a | 35 34 20 31 39 39 32 0a |5 16:58:|54 1992.|
|00004d40| 58 2d 2d 2d 20 6d 69 73 | 63 2e 63 09 4d 6f 6e 20 |X--- mis|c.c.Mon |
|00004d50| 4e 6f 76 20 31 36 20 31 | 30 3a 30 34 3a 34 38 20 |Nov 16 1|0:04:48 |
|00004d60| 31 39 39 32 0a 58 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |1992.X**|********|
|00004d70| 2a 2a 2a 2a 2a 0a 58 2a | 2a 2a 20 37 2c 31 34 20 |*****.X*|** 7,14 |
|00004d80| 2a 2a 2a 2a 0a 58 20 20 | 2f 2a 0a 58 20 20 09 44 |****.X |/*.X .D|
|00004d90| 50 20 61 64 64 72 65 73 | 73 20 63 61 6c 63 75 6c |P addres|s calcul|
|00004da0| 61 74 69 6f 6e 0a 58 20 | 20 2a 2f 0a 58 21 20 69 |ation.X | */.X! i|
|00004db0| 6e 74 20 64 70 63 61 6c | 63 28 70 63 29 0a 58 21 |nt dpcal|c(pc).X!|
|00004dc0| 20 09 75 6e 73 69 67 6e | 65 64 20 73 68 6f 72 74 | .unsign|ed short|
|00004dd0| 20 69 6e 74 20 70 63 3b | 0a 58 20 20 7b 0a 58 20 | int pc;|.X {.X |
|00004de0| 20 09 72 65 74 75 72 6e | 28 32 35 36 2a 64 70 72 | .return|(256*dpr|
|00004df0| 2b 2a 28 6d 65 6d 6f 69 | 72 65 2b 70 63 29 29 3b |+*(memoi|re+pc));|
|00004e00| 0a 58 20 20 7d 0a 58 2d | 2d 2d 20 37 2c 31 33 20 |.X }.X-|-- 7,13 |
|00004e10| 2d 2d 2d 2d 0a 58 20 20 | 2f 2a 0a 58 20 20 09 44 |----.X |/*.X .D|
|00004e20| 50 20 61 64 64 72 65 73 | 73 20 63 61 6c 63 75 6c |P addres|s calcul|
|00004e30| 61 74 69 6f 6e 0a 58 20 | 20 2a 2f 0a 58 21 20 75 |ation.X | */.X! u|
|00004e40| 6e 73 69 67 6e 65 64 20 | 64 70 63 61 6c 63 28 75 |nsigned |dpcalc(u|
|00004e50| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 70 63 |nsigned |short pc|
|00004e60| 29 0a 58 20 20 7b 0a 58 | 20 20 09 72 65 74 75 72 |).X {.X| .retur|
|00004e70| 6e 28 32 35 36 2a 64 70 | 72 2b 2a 28 6d 65 6d 6f |n(256*dp|r+*(memo|
|00004e80| 69 72 65 2b 70 63 29 29 | 3b 0a 58 20 20 7d 0a 58 |ire+pc))|;.X }.X|
|00004e90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00004ea0| 58 2a 2a 2a 20 31 37 2c | 32 34 20 2a 2a 2a 2a 0a |X*** 17,|24 ****.|
|00004eb0| 58 20 20 2f 2a 0a 58 20 | 20 09 45 58 54 45 4e 44 |X /*.X | .EXTEND|
|00004ec0| 45 44 20 61 64 64 72 65 | 73 73 20 63 61 6c 63 75 |ED addre|ss calcu|
|00004ed0| 6c 61 74 69 6f 6e 0a 58 | 20 20 2a 2f 0a 58 21 20 |lation.X| */.X! |
|00004ee0| 69 6e 74 20 65 78 74 65 | 6e 64 63 61 6c 63 28 70 |int exte|ndcalc(p|
|00004ef0| 63 29 0a 58 21 20 09 75 | 6e 73 69 67 6e 65 64 20 |c).X! .u|nsigned |
|00004f00| 73 68 6f 72 74 20 69 6e | 74 20 70 63 3b 0a 58 20 |short in|t pc;.X |
|00004f10| 20 7b 0a 58 20 20 09 72 | 65 74 75 72 6e 28 72 65 | {.X .r|eturn(re|
|00004f20| 61 64 62 75 73 28 70 63 | 29 2a 32 35 36 2b 72 65 |adbus(pc|)*256+re|
|00004f30| 61 64 62 75 73 28 70 63 | 2b 31 29 29 3b 0a 58 20 |adbus(pc|+1));.X |
|00004f40| 20 7d 0a 58 2d 2d 2d 20 | 31 36 2c 32 32 20 2d 2d | }.X--- |16,22 --|
|00004f50| 2d 2d 0a 58 20 20 2f 2a | 0a 58 20 20 09 45 58 54 |--.X /*|.X .EXT|
|00004f60| 45 4e 44 45 44 20 61 64 | 64 72 65 73 73 20 63 61 |ENDED ad|dress ca|
|00004f70| 6c 63 75 6c 61 74 69 6f | 6e 0a 58 20 20 2a 2f 0a |lculatio|n.X */.|
|00004f80| 58 21 20 75 6e 73 69 67 | 6e 65 64 20 65 78 74 65 |X! unsig|ned exte|
|00004f90| 6e 64 63 61 6c 63 28 75 | 6e 73 69 67 6e 65 64 20 |ndcalc(u|nsigned |
|00004fa0| 73 68 6f 72 74 20 70 63 | 29 0a 58 20 20 7b 0a 58 |short pc|).X {.X|
|00004fb0| 20 20 09 72 65 74 75 72 | 6e 28 72 65 61 64 62 75 | .retur|n(readbu|
|00004fc0| 73 28 70 63 29 2a 32 35 | 36 2b 72 65 61 64 62 75 |s(pc)*25|6+readbu|
|00004fd0| 73 28 70 63 2b 31 29 29 | 3b 0a 58 20 20 7d 0a 58 |s(pc+1))|;.X }.X|
|00004fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00004ff0| 58 2a 2a 2a 20 32 37 2c | 33 33 20 2a 2a 2a 2a 0a |X*** 27,|33 ****.|
|00005000| 58 20 20 2f 2a 0a 58 20 | 20 09 47 65 74 20 44 41 |X /*.X | .Get DA|
|00005010| 54 41 20 66 72 6f 6d 20 | 41 64 64 72 65 73 73 20 |TA from |Address |
|00005020| 62 75 73 0a 58 20 20 2a | 2f 0a 58 21 20 73 68 6f |bus.X *|/.X! sho|
|00005030| 72 74 20 69 6e 74 20 72 | 65 61 64 62 75 73 28 75 |rt int r|eadbus(u|
|00005040| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 20 69 6e |nsigned |short in|
|00005050| 74 20 70 63 29 0a 58 20 | 20 7b 0a 58 20 20 0a 58 |t pc).X | {.X .X|
|00005060| 20 20 09 73 77 69 74 63 | 68 28 70 63 29 20 7b 0a | .switc|h(pc) {.|
|00005070| 58 2d 2d 2d 20 32 35 2c | 33 31 20 2d 2d 2d 2d 0a |X--- 25,|31 ----.|
|00005080| 58 20 20 2f 2a 0a 58 20 | 20 09 47 65 74 20 44 41 |X /*.X | .Get DA|
|00005090| 54 41 20 66 72 6f 6d 20 | 41 64 64 72 65 73 73 20 |TA from |Address |
|000050a0| 62 75 73 0a 58 20 20 2a | 2f 0a 58 21 20 75 6e 73 |bus.X *|/.X! uns|
|000050b0| 69 67 6e 65 64 20 72 65 | 61 64 62 75 73 28 75 6e |igned re|adbus(un|
|000050c0| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 70 63 29 |signed s|hort pc)|
|000050d0| 0a 58 20 20 7b 0a 58 20 | 20 0a 58 20 20 09 73 77 |.X {.X | .X .sw|
|000050e0| 69 74 63 68 28 70 63 29 | 20 7b 0a 58 2a 2a 2a 2a |itch(pc)| {.X****|
|000050f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00005100| 20 37 32 2c 39 33 20 2a | 2a 2a 2a 0a 58 20 20 09 | 72,93 *|***.X .|
|00005110| 48 65 78 61 64 65 63 69 | 6d 61 6c 20 28 41 53 43 |Hexadeci|mal (ASC|
|00005120| 49 49 29 20 74 6f 20 49 | 6e 74 65 67 65 72 20 28 |II) to I|nteger (|
|00005130| 69 6e 74 29 0a 58 20 20 | 2a 2f 0a 58 20 20 0a 58 |int).X |*/.X .X|
|00005140| 21 20 73 68 6f 72 74 20 | 69 6e 74 20 78 74 6f 69 |! short |int xtoi|
|00005150| 28 69 6e 70 75 74 29 0a | 58 21 20 09 63 68 61 72 |(input).|X! .char|
|00005160| 20 2a 69 6e 70 75 74 3b | 0a 58 21 20 7b 0a 58 21 | *input;|.X! {.X!|
|00005170| 20 09 69 6e 74 20 6e 2c | 72 3d 30 3b 0a 58 21 20 | .int n,|r=0;.X! |
|00005180| 0a 58 21 20 09 77 68 69 | 6c 65 28 2a 69 6e 70 75 |.X! .whi|le(*inpu|
|00005190| 74 21 3d 27 5c 30 27 29 | 20 7b 0a 58 21 20 09 09 |t!='\0')| {.X! ..|
|000051a0| 69 66 28 28 6e 3d 63 6f | 6e 76 65 72 74 28 2a 69 |if((n=co|nvert(*i|
|000051b0| 6e 70 75 74 29 29 21 3d | 2d 31 29 20 7b 0a 58 21 |nput))!=|-1) {.X!|
|000051c0| 20 09 09 09 72 3c 3c 3d | 34 3b 0a 58 21 20 09 09 | ...r<<=|4;.X! ..|
|000051d0| 09 72 7c 3d 6e 3b 0a 58 | 21 20 09 09 7d 0a 58 21 |.r|=n;.X|! ..}.X!|
|000051e0| 20 09 09 2b 2b 69 6e 70 | 75 74 3b 0a 58 21 20 09 | ..++inp|ut;.X! .|
|000051f0| 7d 0a 58 21 20 09 72 65 | 74 75 72 6e 28 72 29 3b |}.X! .re|turn(r);|
|00005200| 0a 58 21 20 7d 0a 58 21 | 20 0a 58 21 20 69 6e 74 |.X! }.X!| .X! int|
|00005210| 20 63 6f 6e 76 65 72 74 | 28 63 29 0a 58 20 20 09 | convert|(c).X .|
|00005220| 63 68 61 72 20 63 3b 0a | 58 20 20 7b 0a 58 20 20 |char c;.|X {.X |
|00005230| 09 73 77 69 74 63 68 28 | 63 29 20 7b 0a 58 2d 2d |.switch(|c) {.X--|
|00005240| 2d 20 37 31 2c 37 37 20 | 2d 2d 2d 2d 0a 58 20 20 |- 71,77 |----.X |
|00005250| 09 48 65 78 61 64 65 63 | 69 6d 61 6c 20 28 41 53 |.Hexadec|imal (AS|
|00005260| 43 49 49 29 20 74 6f 20 | 49 6e 74 65 67 65 72 20 |CII) to |Integer |
|00005270| 28 69 6e 74 29 0a 58 20 | 20 2a 2f 0a 58 20 20 0a |(int).X | */.X .|
|00005280| 58 21 20 73 74 61 74 69 | 63 20 69 6e 74 20 63 6f |X! stati|c int co|
|00005290| 6e 76 65 72 74 28 63 29 | 0a 58 20 20 09 63 68 61 |nvert(c)|.X .cha|
|000052a0| 72 20 63 3b 0a 58 20 20 | 7b 0a 58 20 20 09 73 77 |r c;.X |{.X .sw|
|000052b0| 69 74 63 68 28 63 29 20 | 7b 0a 58 2a 2a 2a 2a 2a |itch(c) |{.X*****|
|000052c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|000052d0| 31 32 35 2c 31 33 36 20 | 2a 2a 2a 2a 0a 58 20 20 |125,136 |****.X |
|000052e0| 09 72 65 74 75 72 6e 28 | 63 29 3b 0a 58 20 20 7d |.return(|c);.X }|
|000052f0| 0a 58 20 20 0a 58 20 20 | 0a 58 20 20 2f 2a 0a 58 |.X .X |.X /*.X|
|00005300| 20 20 09 53 69 6d 75 6c | 61 74 65 20 54 46 52 20 | .Simul|ate TFR |
|00005310| 26 20 45 58 47 20 69 6e | 73 74 72 75 63 74 69 6f |& EXG in|structio|
|00005320| 6e 73 0a 58 20 20 2a 2f | 0a 58 21 20 69 6e 74 20 |ns.X */|.X! int |
|00005330| 67 65 74 72 65 67 76 61 | 6c 28 72 65 67 6e 75 6d |getregva|l(regnum|
|00005340| 29 0a 58 21 20 09 69 6e | 74 20 72 65 67 6e 75 6d |).X! .in|t regnum|
|00005350| 3b 0a 58 20 20 7b 0a 58 | 20 20 09 75 6e 73 69 67 |;.X {.X| .unsig|
|00005360| 6e 65 64 20 72 65 67 76 | 61 6c 3d 30 3b 0a 58 20 |ned regv|al=0;.X |
|00005370| 20 0a 58 2d 2d 2d 20 31 | 30 39 2c 31 33 33 20 2d | .X--- 1|09,133 -|
|00005380| 2d 2d 2d 0a 58 20 20 09 | 72 65 74 75 72 6e 28 63 |---.X .|return(c|
|00005390| 29 3b 0a 58 20 20 7d 0a | 58 20 20 0a 58 2b 20 69 |);.X }.|X .X+ i|
|000053a0| 6e 74 20 78 74 6f 69 28 | 63 68 61 72 20 2a 69 6e |nt xtoi(|char *in|
|000053b0| 70 75 74 29 0a 58 2b 20 | 7b 0a 58 2b 20 09 69 6e |put).X+ |{.X+ .in|
|000053c0| 74 20 6e 2c 72 3d 30 3b | 0a 58 20 20 0a 58 2b 20 |t n,r=0;|.X .X+ |
|000053d0| 09 77 68 69 6c 65 28 2a | 69 6e 70 75 74 21 3d 27 |.while(*|input!='|
|000053e0| 5c 30 27 29 20 7b 0a 58 | 2b 20 09 09 69 66 28 28 |\0') {.X|+ ..if((|
|000053f0| 6e 3d 63 6f 6e 76 65 72 | 74 28 2a 69 6e 70 75 74 |n=conver|t(*input|
|00005400| 29 29 21 3d 2d 31 29 20 | 7b 0a 58 2b 20 09 09 09 |))!=-1) |{.X+ ...|
|00005410| 72 3c 3c 3d 34 3b 0a 58 | 2b 20 09 09 09 72 7c 3d |r<<=4;.X|+ ...r|=|
|00005420| 6e 3b 0a 58 2b 20 09 09 | 7d 0a 58 2b 20 09 09 2b |n;.X+ ..|}.X+ ..+|
|00005430| 2b 69 6e 70 75 74 3b 0a | 58 2b 20 09 7d 0a 58 2b |+input;.|X+ .}.X+|
|00005440| 20 09 72 65 74 75 72 6e | 28 72 29 3b 0a 58 2b 20 | .return|(r);.X+ |
|00005450| 7d 0a 58 2b 20 0a 58 2b | 20 0a 58 20 20 2f 2a 0a |}.X+ .X+| .X /*.|
|00005460| 58 20 20 09 53 69 6d 75 | 6c 61 74 65 20 54 46 52 |X .Simu|late TFR|
|00005470| 20 26 20 45 58 47 20 69 | 6e 73 74 72 75 63 74 69 | & EXG i|nstructi|
|00005480| 6f 6e 73 0a 58 20 20 2a | 2f 0a 58 21 20 75 6e 73 |ons.X *|/.X! uns|
|00005490| 69 67 6e 65 64 20 67 65 | 74 72 65 67 76 61 6c 28 |igned ge|tregval(|
|000054a0| 69 6e 74 20 72 65 67 6e | 75 6d 29 0a 58 20 20 7b |int regn|um).X {|
|000054b0| 0a 58 20 20 09 75 6e 73 | 69 67 6e 65 64 20 72 65 |.X .uns|igned re|
|000054c0| 67 76 61 6c 3d 30 3b 0a | 58 20 20 0a 58 2a 2a 2a |gval=0;.|X .X***|
|000054d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|000054e0| 2a 20 31 38 33 2c 31 39 | 31 20 2a 2a 2a 2a 0a 58 |* 183,19|1 ****.X|
|000054f0| 20 20 2f 2a 0a 58 20 20 | 09 48 61 6e 64 6c 65 20 | /*.X |.Handle |
|00005500| 54 46 52 20 26 20 45 58 | 47 20 69 6e 73 74 72 75 |TFR & EX|G instru|
|00005510| 63 74 69 6f 6e 73 0a 58 | 20 20 2a 2f 0a 58 21 20 |ctions.X| */.X! |
|00005520| 70 75 74 72 65 67 76 61 | 6c 28 72 65 67 6e 75 6d |putregva|l(regnum|
|00005530| 2c 72 65 67 76 61 6c 29 | 0a 58 21 20 09 69 6e 74 |,regval)|.X! .int|
|00005540| 20 72 65 67 6e 75 6d 3b | 0a 58 21 20 09 75 6e 73 | regnum;|.X! .uns|
|00005550| 69 67 6e 65 64 20 72 65 | 67 76 61 6c 3b 0a 58 20 |igned re|gval;.X |
|00005560| 20 7b 0a 58 20 20 0a 58 | 20 20 09 73 77 69 74 63 | {.X .X| .switc|
|00005570| 68 28 72 65 67 6e 75 6d | 29 20 7b 0a 58 2d 2d 2d |h(regnum|) {.X---|
|00005580| 20 31 38 30 2c 31 38 36 | 20 2d 2d 2d 2d 0a 58 20 | 180,186| ----.X |
|00005590| 20 2f 2a 0a 58 20 20 09 | 48 61 6e 64 6c 65 20 54 | /*.X .|Handle T|
|000055a0| 46 52 20 26 20 45 58 47 | 20 69 6e 73 74 72 75 63 |FR & EXG| instruc|
|000055b0| 74 69 6f 6e 73 0a 58 20 | 20 2a 2f 0a 58 21 20 76 |tions.X | */.X! v|
|000055c0| 6f 69 64 20 70 75 74 72 | 65 67 76 61 6c 28 69 6e |oid putr|egval(in|
|000055d0| 74 20 72 65 67 6e 75 6d | 2c 20 75 6e 73 69 67 6e |t regnum|, unsign|
|000055e0| 65 64 20 72 65 67 76 61 | 6c 29 0a 58 20 20 7b 0a |ed regva|l).X {.|
|000055f0| 58 20 20 0a 58 20 20 09 | 73 77 69 74 63 68 28 72 |X .X .|switch(r|
|00005600| 65 67 6e 75 6d 29 20 7b | 0a 58 2a 2a 2a 2a 2a 2a |egnum) {|.X******|
|00005610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 32 |********|*.X*** 2|
|00005620| 33 36 2c 32 34 36 20 2a | 2a 2a 2a 0a 58 20 20 2f |36,246 *|***.X /|
|00005630| 2a 0a 58 20 20 09 48 61 | 6e 64 6c 65 20 50 75 73 |*.X .Ha|ndle Pus|
|00005640| 68 20 26 20 50 75 6c 6c | 20 49 6e 73 74 72 75 63 |h & Pull| Instruc|
|00005650| 74 69 6f 6e 73 0a 58 20 | 20 2a 2f 0a 58 21 20 69 |tions.X | */.X! i|
|00005660| 6e 74 20 67 65 74 70 75 | 73 68 72 65 67 76 61 6c |nt getpu|shregval|
|00005670| 28 73 74 61 63 6b 2c 72 | 65 67 62 69 74 29 0a 58 |(stack,r|egbit).X|
|00005680| 21 20 09 69 6e 74 20 73 | 74 61 63 6b 3b 0a 58 21 |! .int s|tack;.X!|
|00005690| 20 09 75 6e 73 69 67 6e | 65 64 20 69 6e 74 20 72 | .unsign|ed int r|
|000056a0| 65 67 62 69 74 3b 0a 58 | 20 20 7b 0a 58 21 20 09 |egbit;.X| {.X! .|
|000056b0| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 20 72 65 67 |unsigned| int reg|
|000056c0| 76 61 6c 3b 0a 58 20 20 | 0a 58 20 20 09 73 77 69 |val;.X |.X .swi|
|000056d0| 74 63 68 28 72 65 67 62 | 69 74 29 20 7b 0a 58 20 |tch(regb|it) {.X |
|000056e0| 20 0a 58 2d 2d 2d 20 32 | 33 31 2c 32 33 39 20 2d | .X--- 2|31,239 -|
|000056f0| 2d 2d 2d 0a 58 20 20 2f | 2a 0a 58 20 20 09 48 61 |---.X /|*.X .Ha|
|00005700| 6e 64 6c 65 20 50 75 73 | 68 20 26 20 50 75 6c 6c |ndle Pus|h & Pull|
|00005710| 20 49 6e 73 74 72 75 63 | 74 69 6f 6e 73 0a 58 20 | Instruc|tions.X |
|00005720| 20 2a 2f 0a 58 21 20 75 | 6e 73 69 67 6e 65 64 20 | */.X! u|nsigned |
|00005730| 67 65 74 70 75 73 68 72 | 65 67 76 61 6c 28 69 6e |getpushr|egval(in|
|00005740| 74 20 73 74 61 63 6b 2c | 20 75 6e 73 69 67 6e 65 |t stack,| unsigne|
|00005750| 64 20 72 65 67 62 69 74 | 29 0a 58 20 20 7b 0a 58 |d regbit|).X {.X|
|00005760| 21 20 09 75 6e 73 69 67 | 6e 65 64 20 72 65 67 76 |! .unsig|ned regv|
|00005770| 61 6c 3b 0a 58 20 20 0a | 58 20 20 09 73 77 69 74 |al;.X .|X .swit|
|00005780| 63 68 28 72 65 67 62 69 | 74 29 20 7b 0a 58 20 20 |ch(regbi|t) {.X |
|00005790| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|000057a0| 2a 0a 58 2a 2a 2a 20 32 | 38 32 2c 32 39 30 20 2a |*.X*** 2|82,290 *|
|000057b0| 2a 2a 2a 0a 58 20 20 09 | 72 65 74 75 72 6e 28 72 |***.X .|return(r|
|000057c0| 65 67 76 61 6c 29 3b 0a | 58 20 20 7d 0a 58 20 20 |egval);.|X }.X |
|000057d0| 0a 58 21 20 70 75 74 70 | 75 6c 6c 72 65 67 76 61 |.X! putp|ullregva|
|000057e0| 6c 28 73 74 61 63 6b 2c | 72 65 67 62 69 74 2c 72 |l(stack,|regbit,r|
|000057f0| 65 67 76 61 6c 29 0a 58 | 21 20 09 69 6e 74 20 73 |egval).X|! .int s|
|00005800| 74 61 63 6b 3b 0a 58 21 | 20 09 75 6e 73 69 67 6e |tack;.X!| .unsign|
|00005810| 65 64 20 69 6e 74 20 72 | 65 67 62 69 74 2c 72 65 |ed int r|egbit,re|
|00005820| 67 76 61 6c 3b 0a 58 20 | 20 7b 0a 58 20 20 0a 58 |gval;.X | {.X .X|
|00005830| 20 20 09 73 77 69 74 63 | 68 28 72 65 67 62 69 74 | .switc|h(regbit|
|00005840| 29 20 7b 0a 58 2d 2d 2d | 20 32 37 35 2c 32 38 31 |) {.X---| 275,281|
|00005850| 20 2d 2d 2d 2d 0a 58 20 | 20 09 72 65 74 75 72 6e | ----.X | .return|
|00005860| 28 72 65 67 76 61 6c 29 | 3b 0a 58 20 20 7d 0a 58 |(regval)|;.X }.X|
|00005870| 20 20 0a 58 21 20 76 6f | 69 64 20 70 75 74 70 75 | .X! vo|id putpu|
|00005880| 6c 6c 72 65 67 76 61 6c | 28 69 6e 74 20 73 74 61 |llregval|(int sta|
|00005890| 63 6b 2c 20 75 6e 73 69 | 67 6e 65 64 20 72 65 67 |ck, unsi|gned reg|
|000058a0| 62 69 74 2c 20 75 6e 73 | 69 67 6e 65 64 20 72 65 |bit, uns|igned re|
|000058b0| 67 76 61 6c 29 0a 58 20 | 20 7b 0a 58 20 20 0a 58 |gval).X | {.X .X|
|000058c0| 20 20 09 73 77 69 74 63 | 68 28 72 65 67 62 69 74 | .switc|h(regbit|
|000058d0| 29 20 7b 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |) {.X***|********|
|000058e0| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 33 32 39 2c 33 33 |****.X**|* 329,33|
|000058f0| 39 20 2a 2a 2a 2a 0a 58 | 20 20 2f 2a 0a 58 20 20 |9 ****.X| /*.X |
|00005900| 09 53 69 6d 75 6c 61 74 | 65 20 49 6e 64 65 78 65 |.Simulat|e Indexe|
|00005910| 64 20 4d 4f 44 45 0a 58 | 20 20 2a 2f 0a 58 21 20 |d MODE.X| */.X! |
|00005920| 69 6e 74 20 69 6e 64 65 | 78 63 61 6c 63 28 29 0a |int inde|xcalc().|
|00005930| 58 20 20 7b 0a 58 20 20 | 09 69 6e 74 20 72 65 67 |X {.X |.int reg|
|00005940| 69 73 74 72 65 3d 30 3b | 0a 58 20 20 09 75 6e 73 |istre=0;|.X .uns|
|00005950| 69 67 6e 65 64 20 63 68 | 61 72 20 70 6f 73 74 62 |igned ch|ar postb|
|00005960| 79 74 65 3b 0a 58 21 20 | 09 75 6e 73 69 67 6e 65 |yte;.X! |.unsigne|
|00005970| 64 20 69 6e 74 20 74 6d | 70 3b 0a 58 20 20 0a 58 |d int tm|p;.X .X|
|00005980| 20 20 09 70 6f 73 74 62 | 79 74 65 3d 20 72 65 61 | .postb|yte= rea|
|00005990| 64 62 75 73 28 70 63 72 | 2d 31 29 3b 0a 58 20 20 |dbus(pcr|-1);.X |
|000059a0| 09 72 65 67 69 73 74 72 | 65 3d 20 28 70 6f 73 74 |.registr|e= (post|
|000059b0| 62 79 74 65 26 30 78 37 | 66 29 3e 3e 35 3b 0a 58 |byte&0x7|f)>>5;.X|
|000059c0| 2d 2d 2d 20 33 32 30 2c | 33 33 30 20 2d 2d 2d 2d |--- 320,|330 ----|
|000059d0| 0a 58 20 20 2f 2a 0a 58 | 20 20 09 53 69 6d 75 6c |.X /*.X| .Simul|
|000059e0| 61 74 65 20 49 6e 64 65 | 78 65 64 20 4d 4f 44 45 |ate Inde|xed MODE|
|000059f0| 0a 58 20 20 2a 2f 0a 58 | 21 20 75 6e 73 69 67 6e |.X */.X|! unsign|
|00005a00| 65 64 20 69 6e 64 65 78 | 63 61 6c 63 28 76 6f 69 |ed index|calc(voi|
|00005a10| 64 29 0a 58 20 20 7b 0a | 58 20 20 09 69 6e 74 20 |d).X {.|X .int |
|00005a20| 72 65 67 69 73 74 72 65 | 3d 30 3b 0a 58 20 20 09 |registre|=0;.X .|
|00005a30| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 70 6f |unsigned| char po|
|00005a40| 73 74 62 79 74 65 3b 0a | 58 21 20 09 75 6e 73 69 |stbyte;.|X! .unsi|
|00005a50| 67 6e 65 64 20 74 6d 70 | 3b 0a 58 20 20 0a 58 20 |gned tmp|;.X .X |
|00005a60| 20 09 70 6f 73 74 62 79 | 74 65 3d 20 72 65 61 64 | .postby|te= read|
|00005a70| 62 75 73 28 70 63 72 2d | 31 29 3b 0a 58 20 20 09 |bus(pcr-|1);.X .|
|00005a80| 72 65 67 69 73 74 72 65 | 3d 20 28 70 6f 73 74 62 |registre|= (postb|
|00005a90| 79 74 65 26 30 78 37 66 | 29 3e 3e 35 3b 0a 58 2a |yte&0x7f|)>>5;.X*|
|00005aa0| 2a 2a 20 6d 6f 64 65 2e | 63 2e 6f 72 69 67 09 4d |** mode.|c.orig.M|
|00005ab0| 6f 6e 20 4e 6f 76 20 20 | 32 20 30 39 3a 31 38 3a |on Nov |2 09:18:|
|00005ac0| 30 36 20 31 39 39 32 0a | 58 2d 2d 2d 20 6d 6f 64 |06 1992.|X--- mod|
|00005ad0| 65 2e 63 09 4d 6f 6e 20 | 4e 6f 76 20 31 36 20 30 |e.c.Mon |Nov 16 0|
|00005ae0| 39 3a 33 39 3a 33 36 20 | 31 39 39 32 0a 58 2a 2a |9:39:36 |1992.X**|
|00005af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|00005b00| 2a 2a 20 36 2c 31 35 20 | 2a 2a 2a 2a 0a 58 20 20 |** 6,15 |****.X |
|00005b10| 09 4d 6f 64 65 73 20 64 | 65 20 66 6f 6e 63 74 69 |.Modes d|e foncti|
|00005b20| 6f 6e 6e 65 6d 65 6e 74 | 20 64 75 20 53 49 4d 55 |onnement| du SIMU|
|00005b30| 4c 41 54 45 55 52 0a 58 | 20 20 2a 2f 0a 58 20 20 |LATEUR.X| */.X |
|00005b40| 0a 58 21 20 63 68 61 72 | 20 2a 6d 6f 64 65 6d 65 |.X! char| *modeme|
|00005b50| 6e 75 5b 34 5d 3d 20 7b | 22 53 74 65 70 20 22 2c |nu[4]= {|"Step ",|
|00005b60| 0a 58 21 20 09 09 20 20 | 20 20 22 54 72 61 63 65 |.X! .. | "Trace|
|00005b70| 22 2c 0a 58 21 20 09 09 | 20 20 20 20 22 44 69 73 |",.X! ..| "Dis|
|00005b80| 6b 20 22 2c 0a 58 21 20 | 09 09 20 20 20 20 22 52 |k ",.X! |.. "R|
|00005b90| 75 6e 20 20 22 20 7d 3b | 0a 58 20 20 0a 58 20 20 |un " };|.X .X |
|00005ba0| 6d 6f 64 65 73 28 29 0a | 58 20 20 7b 0a 58 2d 2d |modes().|X {.X--|
|00005bb0| 2d 20 36 2c 31 35 20 2d | 2d 2d 2d 0a 58 20 20 09 |- 6,15 -|---.X .|
|00005bc0| 4d 6f 64 65 73 20 64 65 | 20 66 6f 6e 63 74 69 6f |Modes de| fonctio|
|00005bd0| 6e 6e 65 6d 65 6e 74 20 | 64 75 20 53 49 4d 55 4c |nnement |du SIMUL|
|00005be0| 41 54 45 55 52 0a 58 20 | 20 2a 2f 0a 58 20 20 0a |ATEUR.X | */.X .|
|00005bf0| 58 21 20 63 6f 6e 73 74 | 20 63 68 61 72 20 2a 6d |X! const| char *m|
|00005c00| 6f 64 65 6d 65 6e 75 5b | 34 5d 3d 20 7b 22 53 74 |odemenu[|4]= {"St|
|00005c10| 65 70 20 22 2c 0a 58 21 | 20 09 09 09 20 20 22 54 |ep ",.X!| ... "T|
|00005c20| 72 61 63 65 22 2c 0a 58 | 21 20 09 09 09 20 20 22 |race",.X|! ... "|
|00005c30| 44 69 73 6b 20 22 2c 0a | 58 21 20 09 09 09 20 20 |Disk ",.|X! ... |
|00005c40| 22 52 75 6e 20 20 22 20 | 7d 3b 0a 58 20 20 0a 58 |"Run " |};.X .X|
|00005c50| 20 20 6d 6f 64 65 73 28 | 29 0a 58 20 20 7b 0a 58 | modes(|).X {.X|
|00005c60| 2a 2a 2a 20 6d 6f 6e 69 | 74 6f 72 2e 63 2e 6f 72 |*** moni|tor.c.or|
|00005c70| 69 67 09 54 68 75 20 4e | 6f 76 20 20 35 20 31 37 |ig.Thu N|ov 5 17|
|00005c80| 3a 33 31 3a 30 31 20 31 | 39 39 32 0a 58 2d 2d 2d |:31:01 1|992.X---|
|00005c90| 20 6d 6f 6e 69 74 6f 72 | 2e 63 09 4d 6f 6e 20 4e | monitor|.c.Mon N|
|00005ca0| 6f 76 20 31 36 20 30 39 | 3a 34 38 3a 30 32 20 31 |ov 16 09|:48:02 1|
|00005cb0| 39 39 32 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |992.X***|********|
|00005cc0| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 32 2c 38 20 2a 2a |****.X**|* 2,8 **|
|00005cd0| 2a 2a 0a 58 20 20 23 69 | 6e 63 6c 75 64 65 20 3c |**.X #i|nclude <|
|00005ce0| 73 74 72 69 6e 67 2e 68 | 3e 0a 58 20 20 23 69 6e |string.h|>.X #in|
|00005cf0| 63 6c 75 64 65 20 3c 73 | 74 64 6c 69 62 2e 68 3e |clude <s|tdlib.h>|
|00005d00| 0a 58 20 20 23 69 6e 63 | 6c 75 64 65 20 22 6d 61 |.X #inc|lude "ma|
|00005d10| 69 6e 2e 68 22 0a 58 2d | 20 23 69 6e 63 6c 75 64 |in.h".X-| #includ|
|00005d20| 65 20 22 6d 65 6e 75 2e | 68 22 0a 58 20 20 23 69 |e "menu.|h".X #i|
|00005d30| 6e 63 6c 75 64 65 20 22 | 6d 6f 64 65 2e 68 22 0a |nclude "|mode.h".|
|00005d40| 58 20 20 0a 58 20 20 63 | 6f 6e 73 74 20 63 68 61 |X .X c|onst cha|
|00005d50| 72 20 2a 76 65 63 74 6f | 72 6d 65 6e 75 5b 38 5d |r *vecto|rmenu[8]|
|00005d60| 3d 20 7b 22 52 45 53 45 | 52 56 3a 20 24 20 20 20 |= {"RESE|RV: $ |
|00005d70| 20 22 2c 0a 58 2d 2d 2d | 20 32 2c 37 20 2d 2d 2d | ",.X---| 2,7 ---|
|00005d80| 2d 0a 58 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |-.X*****|********|
|00005d90| 2a 2a 0a 58 2a 2a 2a 20 | 31 34 2c 32 30 20 2a 2a |**.X*** |14,20 **|
|00005da0| 2a 2a 0a 58 20 20 09 09 | 09 20 20 20 20 22 4e 4d |**.X ..|. "NM|
|00005db0| 49 20 20 20 3a 20 24 20 | 20 20 20 22 2c 0a 58 20 |I : $ | ",.X |
|00005dc0| 20 09 09 09 20 20 20 20 | 22 52 45 53 45 54 20 3a | ... |"RESET :|
|00005dd0| 20 24 20 20 20 20 22 20 | 7d 3b 0a 58 20 20 0a 58 | $ " |};.X .X|
|00005de0| 21 20 63 68 61 72 20 2a | 6d 6f 6e 69 74 6f 72 6d |! char *|monitorm|
|00005df0| 65 6e 75 5b 39 5d 3d 20 | 7b 20 22 45 78 65 63 75 |enu[9]= |{ "Execu|
|00005e00| 74 65 20 20 20 20 20 20 | 20 20 22 2c 0a 58 20 20 |te | ",.X |
|00005e10| 09 09 20 20 20 20 20 20 | 20 20 22 44 69 73 61 73 |.. | "Disas|
|00005e20| 73 65 6d 62 6c 65 20 20 | 20 20 22 2c 0a 58 20 20 |semble | ",.X |
|00005e30| 09 09 09 22 46 69 6c 6c | 20 6d 65 6d 6f 72 79 20 |..."Fill| memory |
|00005e40| 20 20 20 22 2c 0a 58 20 | 20 09 09 09 22 4d 6f 76 | ",.X | ..."Mov|
|00005e50| 65 20 6d 65 6d 6f 72 79 | 20 20 20 20 22 2c 0a 58 |e memory| ",.X|
|00005e60| 2d 2d 2d 20 31 33 2c 31 | 39 20 2d 2d 2d 2d 0a 58 |--- 13,1|9 ----.X|
|00005e70| 20 20 09 09 09 20 20 20 | 20 22 4e 4d 49 20 20 20 | ... | "NMI |
|00005e80| 3a 20 24 20 20 20 20 22 | 2c 0a 58 20 20 09 09 09 |: $ "|,.X ...|
|00005e90| 20 20 20 20 22 52 45 53 | 45 54 20 3a 20 24 20 20 | "RES|ET : $ |
|00005ea0| 20 20 22 20 7d 3b 0a 58 | 20 20 0a 58 21 20 63 6f | " };.X| .X! co|
|00005eb0| 6e 73 74 20 63 68 61 72 | 20 2a 6d 6f 6e 69 74 6f |nst char| *monito|
|00005ec0| 72 6d 65 6e 75 5b 39 5d | 3d 20 7b 20 22 45 78 65 |rmenu[9]|= { "Exe|
|00005ed0| 63 75 74 65 20 20 20 20 | 20 20 20 20 22 2c 0a 58 |cute | ",.X|
|00005ee0| 20 20 09 09 20 20 20 20 | 20 20 20 20 22 44 69 73 | .. | "Dis|
|00005ef0| 61 73 73 65 6d 62 6c 65 | 20 20 20 20 22 2c 0a 58 |assemble| ",.X|
|00005f00| 20 20 09 09 09 22 46 69 | 6c 6c 20 6d 65 6d 6f 72 | ..."Fi|ll memor|
|00005f10| 79 20 20 20 20 22 2c 0a | 58 20 20 09 09 09 22 4d |y ",.|X ..."M|
|00005f20| 6f 76 65 20 6d 65 6d 6f | 72 79 20 20 20 20 22 2c |ove memo|ry ",|
|00005f30| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|00005f40| 2a 0a 58 2a 2a 2a 20 32 | 36 2c 33 32 20 2a 2a 2a |*.X*** 2|6,32 ***|
|00005f50| 2a 0a 58 20 20 0a 58 20 | 20 6d 6f 6e 69 74 6f 72 |*.X .X | monitor|
|00005f60| 28 29 0a 58 20 20 7b 0a | 58 2d 20 09 65 78 74 65 |().X {.|X- .exte|
|00005f70| 72 6e 20 57 49 4e 44 4f | 57 20 2a 64 69 73 70 6c |rn WINDO|W *displ|
|00005f80| 61 79 77 69 6e 2c 2a 74 | 6f 70 77 69 6e 3b 0a 58 |aywin,*t|opwin;.X|
|00005f90| 20 20 09 69 6e 74 20 63 | 68 6f 69 78 3b 0a 58 20 | .int c|hoix;.X |
|00005fa0| 20 0a 58 20 20 09 63 68 | 6f 69 78 3d 6d 65 6e 75 | .X .ch|oix=menu|
|00005fb0| 28 39 2c 6d 6f 6e 69 74 | 6f 72 6d 65 6e 75 2c 32 |(9,monit|ormenu,2|
|00005fc0| 2c 32 33 29 3b 0a 58 2d | 2d 2d 20 32 35 2c 33 30 |,23);.X-|-- 25,30|
|00005fd0| 20 2d 2d 2d 2d 0a 58 2a | 2a 2a 2a 2a 2a 2a 2a 2a | ----.X*|********|
|00005fe0| 2a 2a 2a 2a 2a 2a 0a 58 | 2a 2a 2a 20 37 37 2c 38 |******.X|*** 77,8|
|00005ff0| 37 20 2a 2a 2a 2a 0a 58 | 20 20 2a 2f 0a 58 20 20 |7 ****.X| */.X |
|00006000| 73 74 61 72 74 5f 65 78 | 65 63 75 74 69 6f 6e 28 |start_ex|ecution(|
|00006010| 29 0a 58 20 20 7b 0a 58 | 2d 20 09 65 78 74 65 72 |).X {.X|- .exter|
|00006020| 6e 20 76 6f 69 64 20 65 | 78 65 63 75 74 65 5f 73 |n void e|xecute_s|
|00006030| 74 65 70 28 29 3b 0a 58 | 2d 20 09 65 78 74 65 72 |tep();.X|- .exter|
|00006040| 6e 20 76 6f 69 64 20 65 | 78 65 63 75 74 65 5f 74 |n void e|xecute_t|
|00006050| 72 61 63 65 28 29 3b 0a | 58 2d 20 09 65 78 74 65 |race();.|X- .exte|
|00006060| 72 6e 20 76 6f 69 64 20 | 65 78 65 63 75 74 65 5f |rn void |execute_|
|00006070| 72 75 6e 28 29 3b 0a 58 | 2d 20 09 65 78 74 65 72 |run();.X|- .exter|
|00006080| 6e 20 76 6f 69 64 20 65 | 78 65 63 75 74 65 5f 64 |n void e|xecute_d|
|00006090| 69 73 6b 28 29 3b 0a 58 | 2d 20 0a 58 20 20 09 73 |isk();.X|- .X .s|
|000060a0| 77 69 74 63 68 28 6d 6f | 64 65 29 20 7b 0a 58 20 |witch(mo|de) {.X |
|000060b0| 20 0a 58 20 20 09 09 63 | 61 73 65 20 53 54 45 50 | .X ..c|ase STEP|
|000060c0| 3a 0a 58 2d 2d 2d 20 37 | 35 2c 38 30 20 2d 2d 2d |:.X--- 7|5,80 ---|
|000060d0| 2d 0a 58 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |-.X*****|********|
|000060e0| 2a 2a 0a 58 2a 2a 2a 20 | 31 30 39 2c 31 31 35 20 |**.X*** |109,115 |
|000060f0| 2a 2a 2a 2a 0a 58 20 20 | 7b 0a 58 20 20 09 57 49 |****.X |{.X .WI|
|00006100| 4e 44 4f 57 20 2a 64 75 | 6d 70 77 69 6e 2c 20 2a |NDOW *du|mpwin, *|
|00006110| 68 65 61 64 77 69 6e 2c | 20 2a 76 69 65 77 77 69 |headwin,| *viewwi|
|00006120| 6e 3b 0a 58 20 20 09 63 | 68 61 72 20 73 74 61 72 |n;.X .c|har star|
|00006130| 74 5b 38 5d 2c 6c 69 6e | 65 5b 38 30 5d 2c 74 6d |t[8],lin|e[80],tm|
|00006140| 70 5b 38 30 5d 3b 0a 58 | 21 20 09 75 6e 73 69 67 |p[80];.X|! .unsig|
|00006150| 6e 65 64 20 69 6e 74 20 | 61 64 72 65 73 73 65 3b |ned int |adresse;|
|00006160| 0a 58 20 20 09 69 6e 74 | 20 6c 2c 62 2c 63 6c 65 |.X .int| l,b,cle|
|00006170| 3b 0a 58 20 20 0a 58 20 | 20 09 65 63 68 6f 28 29 |;.X .X | .echo()|
|00006180| 3b 0a 58 2d 2d 2d 20 31 | 30 32 2c 31 30 38 20 2d |;.X--- 1|02,108 -|
|00006190| 2d 2d 2d 0a 58 20 20 7b | 0a 58 20 20 09 57 49 4e |---.X {|.X .WIN|
|000061a0| 44 4f 57 20 2a 64 75 6d | 70 77 69 6e 2c 20 2a 68 |DOW *dum|pwin, *h|
|000061b0| 65 61 64 77 69 6e 2c 20 | 2a 76 69 65 77 77 69 6e |eadwin, |*viewwin|
|000061c0| 3b 0a 58 20 20 09 63 68 | 61 72 20 73 74 61 72 74 |;.X .ch|ar start|
|000061d0| 5b 38 5d 2c 6c 69 6e 65 | 5b 38 30 5d 2c 74 6d 70 |[8],line|[80],tmp|
|000061e0| 5b 38 30 5d 3b 0a 58 21 | 20 09 75 6e 73 69 67 6e |[80];.X!| .unsign|
|000061f0| 65 64 20 61 64 72 65 73 | 73 65 3b 0a 58 20 20 09 |ed adres|se;.X .|
|00006200| 69 6e 74 20 6c 2c 62 2c | 63 6c 65 3b 0a 58 20 20 |int l,b,|cle;.X |
|00006210| 0a 58 20 20 09 65 63 68 | 6f 28 29 3b 0a 58 2a 2a |.X .ech|o();.X**|
|00006220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|00006230| 2a 2a 20 31 38 35 2c 31 | 39 31 20 2a 2a 2a 2a 0a |** 185,1|91 ****.|
|00006240| 58 20 20 7b 0a 58 20 20 | 09 57 49 4e 44 4f 57 20 |X {.X |.WINDOW |
|00006250| 2a 66 69 6c 6c 77 69 6e | 3b 0a 58 20 20 09 63 68 |*fillwin|;.X .ch|
|00006260| 61 72 20 76 61 6c 75 65 | 5b 34 5d 2c 73 74 61 72 |ar value|[4],star|
|00006270| 74 5b 38 5d 2c 65 6e 64 | 5b 38 5d 3b 0a 58 21 20 |t[8],end|[8];.X! |
|00006280| 09 75 6e 73 69 67 6e 65 | 64 20 69 6e 74 20 76 61 |.unsigne|d int va|
|00006290| 6c 65 75 72 2c 64 65 62 | 75 74 2c 66 69 6e 3b 0a |leur,deb|ut,fin;.|
|000062a0| 58 20 20 0a 58 20 20 09 | 65 63 68 6f 28 29 3b 0a |X .X .|echo();.|
|000062b0| 58 20 20 09 63 62 72 65 | 61 6b 28 29 3b 0a 58 2d |X .cbre|ak();.X-|
|000062c0| 2d 2d 20 31 37 38 2c 31 | 38 34 20 2d 2d 2d 2d 0a |-- 178,1|84 ----.|
|000062d0| 58 20 20 7b 0a 58 20 20 | 09 57 49 4e 44 4f 57 20 |X {.X |.WINDOW |
|000062e0| 2a 66 69 6c 6c 77 69 6e | 3b 0a 58 20 20 09 63 68 |*fillwin|;.X .ch|
|000062f0| 61 72 20 76 61 6c 75 65 | 5b 34 5d 2c 73 74 61 72 |ar value|[4],star|
|00006300| 74 5b 38 5d 2c 65 6e 64 | 5b 38 5d 3b 0a 58 21 20 |t[8],end|[8];.X! |
|00006310| 09 75 6e 73 69 67 6e 65 | 64 20 76 61 6c 65 75 72 |.unsigne|d valeur|
|00006320| 2c 64 65 62 75 74 2c 66 | 69 6e 3b 0a 58 20 20 0a |,debut,f|in;.X .|
|00006330| 58 20 20 09 65 63 68 6f | 28 29 3b 0a 58 20 20 09 |X .echo|();.X .|
|00006340| 63 62 72 65 61 6b 28 29 | 3b 0a 58 2a 2a 2a 2a 2a |cbreak()|;.X*****|
|00006350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00006360| 32 33 35 2c 32 34 31 20 | 2a 2a 2a 2a 0a 58 20 20 |235,241 |****.X |
|00006370| 7b 0a 58 20 20 09 57 49 | 4e 44 4f 57 20 2a 64 69 |{.X .WI|NDOW *di|
|00006380| 73 61 77 69 6e 2c 2a 6c | 69 73 74 77 69 6e 2c 2a |sawin,*l|istwin,*|
|00006390| 61 73 6b 77 69 6e 3b 0a | 58 20 20 09 63 68 61 72 |askwin;.|X .char|
|000063a0| 20 74 6d 70 5b 31 36 5d | 2c 73 74 61 72 74 5b 31 | tmp[16]|,start[1|
|000063b0| 36 5d 3b 0a 58 21 20 09 | 75 6e 73 69 67 6e 65 64 |6];.X! .|unsigned|
|000063c0| 20 69 6e 74 20 64 65 62 | 75 74 3b 0a 58 20 20 09 | int deb|ut;.X .|
|000063d0| 69 6e 74 20 6c 2c 62 2c | 63 6c 65 3b 0a 58 20 20 |int l,b,|cle;.X |
|000063e0| 0a 58 20 20 09 61 73 6b | 77 69 6e 3d 6e 65 77 77 |.X .ask|win=neww|
|000063f0| 69 6e 28 33 2c 32 34 2c | 31 30 2c 32 38 29 3b 0a |in(3,24,|10,28);.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.