home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / softcrc / libs / soundexa.arj < prev    next >
ARJ Archive  |  1997-07-22  |  15.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: ARJ Archive (archive/arj).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert ARJ Archive (archive/arj) magic Supported
100% file ARJ archive data, v6, slash-switched, created 22 jul 1980+17, original name: SOUNDEXA.ARJ, os: MS-DOS default
99% file data default
66% TrID ARJ compressed archive (standard) default
33% TrID ARJ compressed archive default
100% dearkID deark: arj (ARJ) default
100% siegfried fmt/610 ARJ File Format default
100% lsar ARJ default
100% gt2 ARJ Archiv gefunden (Auflistung ist deaktiviert) default
100% detectItEasy Archive: ARJ(6) default
100% binwalkID ARJ archive data, header size: 133, version 6, minimum version to extract: 1, slash-switched, compression method: stored, file type: comment header, original name: "SOUNDEXA.ARJ", original file date: 1988-08-03 03:31:24, compressed file size: 586582284, uncompressed file size: 0, os: MS-DOS default
100% xdgMime application/x-arj default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 60 ea 85 00 1e 06 01 00 | 10 00 02 0c 0c 89 f6 22 |`.......|......."|
|00000010| 0c 89 f6 22 00 00 00 00 | 00 00 00 00 00 00 00 00 |..."....|........|
|00000020| 00 00 53 4f 55 4e 44 45 | 58 41 2e 41 52 4a 00 0a |..SOUNDE|XA.ARJ..|
|00000030| 20 20 20 20 41 72 63 68 | 69 76 65 20 46 72 6f 6d | Arch|ive From|
|00000040| 0a 20 48 20 41 20 43 20 | 4b 20 45 20 52 27 73 20 |. H A C |K E R's |
|00000050| 20 20 43 20 44 0a 20 20 | 20 20 20 43 72 65 61 74 | C D. | Creat|
|00000060| 65 64 20 42 79 0a 20 20 | 57 68 69 74 65 20 45 61 |ed By. |White Ea|
|00000070| 67 6c 65 20 5b 52 43 44 | 5d 0a 20 20 20 20 20 20 |gle [RCD|]. |
|00000080| 20 20 31 39 39 37 0a 0a | 00 33 d2 3f 60 00 00 60 | 1997..|.3.?`..`|
|00000090| ea 2c 00 1e 06 01 00 10 | 00 00 0c 7c 41 7c 10 45 |.,......|...|A|.E|
|000000a0| 3a 00 00 45 3a 00 00 39 | 5a be f5 00 00 20 00 00 |:..E:..9|Z.... ..|
|000000b0| 00 53 4f 55 4e 44 45 58 | 41 2e 41 53 4d 00 00 c2 |.SOUNDEX|A.ASM...|
|000000c0| c8 90 ba 00 00 54 49 54 | 4c 45 20 53 4f 55 4e 44 |.....TIT|LE SOUND|
|000000d0| 45 58 41 0d 0a 50 41 47 | 45 20 2c 31 33 32 0d 0a |EXA..PAG|E ,132..|
|000000e0| 20 0d 0a 3b 41 75 74 68 | 6f 72 20 3a 20 62 70 2d | ..;Auth|or : bp-|
|000000f0| 70 72 6f 67 72 61 6d 73 | 2c 20 4b 61 6c 61 6d 61 |programs|, Kalama|
|00000100| 7a 6f 6f 2c 20 4d 69 63 | 68 69 67 61 6e 0d 0a 3b |zoo, Mic|higan..;|
|00000110| 44 61 74 65 3a 20 4a 61 | 6e 20 38 38 2c 20 66 6f |Date: Ja|n 88, fo|
|00000120| 72 20 43 6c 69 70 70 65 | 72 20 53 75 6d 6d 65 72 |r Clippe|r Summer|
|00000130| 20 38 37 0d 0a 3b 53 6f | 75 72 63 65 20 43 6f 64 | 87..;So|urce Cod|
|00000140| 65 20 70 72 6f 74 65 63 | 74 65 64 20 62 79 20 55 |e protec|ted by U|
|00000150| 6e 69 74 65 64 20 53 74 | 61 74 65 73 20 43 6f 70 |nited St|ates Cop|
|00000160| 79 72 69 67 68 74 20 4c | 61 77 0d 0a 3b 50 65 72 |yright L|aw..;Per|
|00000170| 6d 69 73 73 69 6f 6e 20 | 67 69 76 65 6e 20 66 6f |mission |given fo|
|00000180| 72 20 63 6f 64 65 20 74 | 6f 20 62 65 20 69 6e 63 |r code t|o be inc|
|00000190| 6f 72 70 6f 72 61 74 65 | 64 20 69 6e 20 6f 74 68 |orporate|d in oth|
|000001a0| 65 72 20 70 72 6f 67 72 | 61 6d 73 20 62 79 20 61 |er progr|ams by a|
|000001b0| 75 74 68 6f 72 0d 0a 20 | 0d 0a 3b 53 79 6e 74 61 |uthor.. |..;Synta|
|000001c0| 78 3a 20 53 4f 55 4e 44 | 45 58 41 28 73 74 72 69 |x: SOUND|EXA(stri|
|000001d0| 6e 67 5b 2c 66 69 6c 6c | 65 72 5d 29 0d 0a 20 0d |ng[,fill|er]).. .|
|000001e0| 0a 3b 54 68 65 20 73 6f | 75 6e 64 65 78 20 63 6f |.;The so|undex co|
|000001f0| 64 65 20 69 73 20 75 73 | 65 66 75 6c 20 74 6f 20 |de is us|eful to |
|00000200| 6c 6f 6f 6b 20 75 70 20 | 6e 61 6d 65 73 20 77 68 |look up |names wh|
|00000210| 65 72 65 20 79 6f 75 20 | 61 72 65 6e 27 74 20 73 |ere you |aren't s|
|00000220| 75 72 65 20 6f 66 20 74 | 68 65 0d 0a 3b 73 70 65 |ure of t|he..;spe|
|00000230| 6c 6c 69 6e 67 2e 20 20 | 43 6f 64 65 73 20 66 6f |lling. |Codes fo|
|00000240| 72 20 73 69 6d 69 6c 61 | 72 20 73 6f 75 6e 64 69 |r simila|r soundi|
|00000250| 6e 67 20 6e 61 6d 65 73 | 20 61 72 65 20 67 65 6e |ng names| are gen|
|00000260| 65 72 61 6c 6c 79 20 28 | 62 75 74 20 4e 4f 54 20 |erally (|but NOT |
|00000270| 61 6c 77 61 79 73 29 0d | 0a 3b 63 6c 6f 73 65 20 |always).|.;close |
|00000280| 74 6f 67 65 74 68 65 72 | 2e 20 54 68 65 20 63 6f |together|. The co|
|00000290| 64 65 20 68 61 73 20 74 | 68 65 20 66 6f 72 6d 61 |de has t|he forma|
|000002a0| 74 20 4c 45 54 54 45 52 | 2d 44 49 47 49 54 2d 44 |t LETTER|-DIGIT-D|
|000002b0| 49 47 49 54 2d 44 49 47 | 49 54 2e 20 4c 45 54 54 |IGIT-DIG|IT. LETT|
|000002c0| 45 52 20 69 73 0d 0a 3b | 73 69 6d 70 6c 79 20 74 |ER is..;|simply t|
|000002d0| 68 65 20 75 70 70 65 72 | 20 63 61 73 65 20 66 69 |he upper| case fi|
|000002e0| 72 73 74 20 6c 65 74 74 | 65 72 20 6f 66 20 74 68 |rst lett|er of th|
|000002f0| 65 20 6e 61 6d 65 2e 20 | 44 49 47 49 54 73 20 61 |e name. |DIGITs a|
|00000300| 72 65 20 64 65 72 69 76 | 65 64 20 66 72 6f 6d 20 |re deriv|ed from |
|00000310| 74 68 65 0d 0a 3b 74 72 | 61 6e 73 6c 61 74 69 6f |the..;tr|anslatio|
|00000320| 6e 20 74 61 62 6c 65 20 | 62 65 6c 6f 77 2e 20 20 |n table |below. |
|00000330| 45 6d 70 74 79 20 70 6f | 73 69 74 69 6f 6e 73 20 |Empty po|sitions |
|00000340| 61 72 65 20 4e 4f 54 20 | 74 72 61 6e 73 6c 61 74 |are NOT |translat|
|00000350| 65 64 2e 20 20 49 66 20 | 74 68 65 72 65 20 61 72 |ed. If |there ar|
|00000360| 65 0d 0a 3b 74 77 6f 20 | 6f 72 20 6d 6f 72 65 20 |e..;two |or more |
|00000370| 6c 65 74 74 65 72 73 20 | 77 69 74 68 20 74 68 65 |letters |with the|
|00000380| 20 73 61 6d 65 20 63 6f | 64 65 20 66 6f 6c 6c 6f | same co|de follo|
|00000390| 77 69 6e 67 20 65 61 63 | 68 20 6f 74 68 65 72 20 |wing eac|h other |
|000003a0| 69 6e 20 74 68 65 20 6e | 61 6d 65 2c 20 6f 6e 6c |in the n|ame, onl|
|000003b0| 79 0d 0a 3b 4f 4e 45 20 | 63 6f 64 65 20 6e 75 6d |y..;ONE |code num|
|000003c0| 62 65 72 20 69 73 20 75 | 73 65 64 2e 20 27 53 63 |ber is u|sed. 'Sc|
|000003d0| 68 6d 69 64 74 27 20 69 | 73 20 27 53 35 33 30 27 |hmidt' i|s 'S530'|
|000003e0| 2c 20 6e 6f 74 20 27 53 | 32 35 33 27 20 6f 72 20 |, not 'S|253' or |
|000003f0| 27 53 35 33 33 27 2e 20 | 49 66 20 74 68 65 72 65 |'S533'. |If there|
|00000400| 0d 0a 3b 61 72 65 20 6d | 6f 72 65 20 74 68 61 6e |..;are m|ore than|
|00000410| 20 74 68 72 65 65 20 63 | 6f 64 65 20 6e 75 6d 62 | three c|ode numb|
|00000420| 65 72 73 2c 20 74 68 65 | 20 65 78 74 72 61 20 6f |ers, the| extra o|
|00000430| 6e 65 73 20 61 72 65 6e | 27 74 20 75 73 65 64 2e |nes aren|'t used.|
|00000440| 20 20 49 66 20 74 68 65 | 72 65 20 61 72 65 0d 0a | If the|re are..|
|00000450| 3b 66 65 77 65 72 2c 20 | 74 68 65 20 63 6f 64 65 |;fewer, |the code|
|00000460| 20 69 73 20 70 61 64 64 | 65 64 20 77 69 74 68 20 | is padd|ed with |
|00000470| 7a 65 72 6f 73 2e 20 28 | 42 75 74 20 73 65 65 20 |zeros. (|But see |
|00000480| 61 62 6f 75 74 20 46 49 | 4c 4c 45 52 20 62 65 6c |about FI|LLER bel|
|00000490| 6f 77 29 2e 0d 0a 20 0d | 0a 3b 53 6f 75 6e 64 65 |ow)... .|.;Sounde|
|000004a0| 78 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |x | |
|000004b0| 41 42 43 44 45 46 47 48 | 49 4a 4b 4c 4d 4e 4f 50 |ABCDEFGH|IJKLMNOP|
|000004c0| 51 52 53 54 55 56 57 58 | 59 5a 0d 0a 3b 54 72 61 |QRSTUVWX|YZ..;Tra|
|000004d0| 6e 73 6c 61 74 69 6f 6e | 20 54 61 62 6c 65 3a 20 |nslation| Table: |
|000004e0| 20 20 20 20 31 32 33 20 | 31 32 20 20 32 32 34 35 | 123 |12 2245|
|000004f0| 35 20 31 32 36 32 33 20 | 31 20 32 20 32 0d 0a 20 |5 12623 |1 2 2.. |
|00000500| 0d 0a 3b 53 4f 55 4e 44 | 45 58 41 20 69 73 20 61 |..;SOUND|EXA is a|
|00000510| 6e 20 61 73 73 65 6d 62 | 6c 79 20 6c 61 6e 67 75 |n assemb|ly langu|
|00000520| 61 67 65 20 69 6d 70 6c | 65 6d 65 6e 74 61 74 69 |age impl|ementati|
|00000530| 6f 6e 20 6f 66 20 74 68 | 65 20 73 6f 75 6e 64 65 |on of th|e sounde|
|00000540| 78 20 63 6f 64 65 2e 20 | 20 49 74 0d 0a 3b 66 6f |x code. | It..;fo|
|00000550| 6c 6c 6f 77 73 20 6d 79 | 20 69 6e 74 65 72 70 72 |llows my| interpr|
|00000560| 65 74 61 74 69 6f 6e 20 | 6f 66 20 74 68 65 20 61 |etation |of the a|
|00000570| 6c 67 6f 72 69 74 68 6d | 20 66 6f 75 6e 64 20 6f |lgorithm| found o|
|00000580| 6e 20 70 61 67 65 73 20 | 33 39 32 2f 33 39 33 20 |n pages |392/393 |
|00000590| 6f 66 20 4b 6e 75 74 68 | 27 73 0d 0a 3b 62 6f 6f |of Knuth|'s..;boo|
|000005a0| 6b 20 27 53 6f 72 74 69 | 6e 67 20 61 6e 64 20 53 |k 'Sorti|ng and S|
|000005b0| 65 61 72 63 68 69 6e 67 | 27 2c 20 76 6f 6c 75 6d |earching|', volum|
|000005c0| 65 20 33 20 6f 66 20 22 | 54 68 65 20 41 72 74 20 |e 3 of "|The Art |
|000005d0| 6f 66 20 43 6f 6d 70 75 | 74 65 72 20 50 72 6f 67 |of Compu|ter Prog|
|000005e0| 72 61 6d 6d 69 6e 67 22 | 2e 0d 0a 20 0d 0a 3b 49 |ramming"|... ..;I|
|000005f0| 74 20 64 6f 65 73 20 4e | 4f 54 20 72 65 74 75 72 |t does N|OT retur|
|00000600| 6e 20 74 68 65 20 73 61 | 6d 65 20 63 6f 64 65 20 |n the sa|me code |
|00000610| 61 73 20 74 68 65 20 73 | 6f 75 6e 64 65 78 20 72 |as the s|oundex r|
|00000620| 6f 75 74 69 6e 65 20 69 | 6e 20 65 78 61 6d 70 6c |outine i|n exampl|
|00000630| 65 63 2e 63 0d 0a 3b 28 | 53 4f 55 4e 44 45 58 43 |ec.c..;(|SOUNDEXC|
|00000640| 29 20 64 69 73 74 72 69 | 62 75 74 65 64 20 77 69 |) distri|buted wi|
|00000650| 74 68 20 43 6c 69 70 70 | 65 72 20 53 75 6d 6d 65 |th Clipp|er Summe|
|00000660| 72 20 38 37 20 6f 72 20 | 74 68 65 20 52 65 74 74 |r 87 or |the Rett|
|00000670| 69 67 20 73 6f 75 6e 64 | 65 78 20 72 6f 75 74 69 |ig sound|ex routi|
|00000680| 6e 65 0d 0a 3b 64 69 73 | 74 72 69 62 75 74 65 64 |ne..;dis|tributed|
|00000690| 20 77 69 74 68 20 43 6c | 69 70 70 65 72 20 41 75 | with Cl|ipper Au|
|000006a0| 74 75 6d 6e 20 38 36 20 | 69 6e 20 65 78 74 65 6e |tumn 86 |in exten|
|000006b0| 64 64 62 2e 70 72 67 20 | 28 53 4f 55 4e 44 45 58 |ddb.prg |(SOUNDEX|
|000006c0| 44 29 2e 0d 0a 3b 54 68 | 65 20 6d 61 69 6e 20 64 |D)...;Th|e main d|
|000006d0| 69 66 66 65 72 65 6e 63 | 65 73 20 61 6d 6f 6e 67 |ifferenc|es among|
|000006e0| 20 74 68 65 20 74 68 72 | 65 65 20 69 6d 70 6c 65 | the thr|ee imple|
|000006f0| 6d 65 6e 74 61 74 69 6f | 6e 73 20 61 72 65 20 6c |mentatio|ns are l|
|00000700| 69 73 74 65 64 20 62 65 | 6c 6f 77 2e 0d 0a 20 0d |isted be|low... .|
|00000710| 0a 3b 20 20 20 20 20 20 | 20 20 20 20 20 53 4f 55 |.; | SOU|
|00000720| 4e 44 45 58 41 20 20 20 | 20 20 20 20 20 20 20 20 |NDEXA | |
|00000730| 20 20 20 20 20 20 53 4f | 55 4e 44 45 58 43 20 20 | SO|UNDEXC |
|00000740| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 53 4f 55 | | SOU|
|00000750| 4e 44 45 58 44 0d 0a 3b | 20 20 20 20 20 20 20 20 |NDEXD..;| |
|00000760| 20 20 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -----|--------|
|00000770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 20 20 2d 2d 2d 2d |--------|- ----|
|00000780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000790| 2d 20 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |- -----|--------|
|000007a0| 2d 2d 2d 0d 0a 3b 46 6f | 72 6d 61 74 20 20 20 20 |---..;Fo|rmat |
|000007b0| 20 41 39 39 39 20 20 20 | 20 20 20 20 20 20 20 20 | A999 | |
|000007c0| 20 20 20 20 20 20 20 20 | 20 20 41 39 39 39 20 20 | | A999 |
|000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007e0| 20 41 39 39 39 39 0d 0a | 20 0d 0a 3b 44 75 70 65 | A9999..| ..;Dupe|
|000007f0| 73 20 20 20 20 20 20 53 | 6b 69 70 73 20 6c 74 72 |s S|kips ltr|
|00000800| 73 20 67 65 6e 65 72 61 | 74 69 6e 67 20 20 20 20 |s genera|ting |
|00000810| 53 6b 69 70 73 20 69 64 | 65 6e 74 69 63 61 6c 20 |Skips id|entical |
|00000820| 6c 74 72 73 20 20 20 53 | 6b 69 70 73 20 64 75 70 |ltrs S|kips dup|
|00000830| 6c 69 63 61 74 65 0d 0a | 3b 20 20 20 20 20 20 20 |licate..|; |
|00000840| 20 20 20 20 74 68 65 20 | 73 61 6d 65 20 63 6f 64 | the |same cod|
|00000850| 65 20 77 68 69 63 68 20 | 61 72 65 20 20 61 64 6a |e which |are adj|
|00000860| 61 63 65 6e 74 20 69 6e | 20 6f 72 69 67 69 6e 61 |acent in| origina|
|00000870| 6c 20 20 20 63 6f 64 65 | 20 6e 75 6d 62 65 72 73 |l code| numbers|
|00000880| 20 65 76 65 6e 0d 0a 3b | 20 20 20 20 20 20 20 20 | even..;| |
|00000890| 20 20 20 69 6d 6d 65 64 | 69 61 74 65 6c 79 20 61 | immed|iately a|
|000008a0| 64 6a 61 63 65 6e 74 20 | 69 6e 20 20 74 65 78 74 |djacent |in text|
|000008b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000008c0| 20 20 20 69 66 20 6e 6f | 74 20 61 64 6a 61 63 65 | if no|t adjace|
|000008d0| 6e 74 20 69 6e 0d 0a 3b | 20 20 20 20 20 20 20 20 |nt in..;| |
|000008e0| 20 20 20 6f 72 69 67 69 | 6e 61 6c 20 74 65 78 74 | origi|nal text|
|000008f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000900| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000910| 20 20 20 6f 72 69 67 69 | 6e 61 6c 20 74 65 78 74 | origi|nal text|
|00000920| 0d 0a 20 0d 0a 3b 4e 75 | 6c 6c 20 20 20 20 20 20 |.. ..;Nu|ll |
|00000930| 20 31 2e 20 4e 75 6c 6c | 20 73 74 72 69 6e 67 20 | 1. Null| string |
|00000940| 20 20 20 20 20 20 20 20 | 20 20 31 2e 20 4e 75 6c | | 1. Nul|
|00000950| 6c 20 73 74 72 69 6e 67 | 20 20 20 20 20 20 20 20 |l string| |
|00000960| 20 31 2e 20 4e 75 6c 6c | 20 73 74 72 69 6e 67 0d | 1. Null| string.|
|00000970| 0a 3b 52 65 74 75 72 6e | 73 20 20 20 20 32 2e 20 |.;Return|s 2. |
|00000980| 43 6f 6d 70 6c 65 74 65 | 6c 79 20 6e 6f 6e 2d 61 |Complete|ly non-a|
|00000990| 6c 70 68 61 20 20 32 2e | 20 4e 6f 6e 2d 61 6c 70 |lpha 2.| Non-alp|
|000009a0| 68 61 2f 6e 6f 6e 0d 0a | 3b 20 20 20 20 20 20 20 |ha/non..|; |
|000009b0| 20 20 20 20 20 20 20 73 | 74 72 69 6e 67 20 20 20 | s|tring |
|000009c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009d0| 73 70 61 63 65 20 63 68 | 61 72 61 63 74 65 72 73 |space ch|aracters|
|000009e0| 0d 0a 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..; | |
|000009f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a00| 20 20 20 20 20 20 20 20 | 20 20 65 78 63 65 70 74 | | except|
|00000a10| 20 66 69 72 73 74 20 63 | 68 61 72 0d 0a 20 0d 0a | first c|har.. ..|
|00000a20| 3b 46 61 75 6c 74 20 20 | 20 20 20 20 31 2e 20 4c |;Fault | 1. L|
|00000a30| 74 72 69 6d 73 20 6c 65 | 61 64 69 6e 67 20 6e 6f |trims le|ading no|
|00000a40| 6e 2d 20 20 20 31 2e 20 | 44 6f 65 73 20 6e 6f 74 |n- 1. |Does not|
|00000a50| 20 74 72 69 6d 2c 20 75 | 73 65 73 20 31 2e 20 44 | trim, u|ses 1. D|
|00000a60| 6f 65 73 20 6e 6f 74 20 | 74 72 69 6d 2c 0d 0a 3b |oes not |trim,..;|
|00000a70| 54 6f 6c 65 72 61 6e 63 | 65 20 20 20 20 20 61 6c |Toleranc|e al|
|00000a80| 70 68 61 20 63 68 61 72 | 61 63 74 65 72 73 20 20 |pha char|acters |
|00000a90| 20 20 20 20 20 20 20 6e | 6f 6e 2d 61 6c 70 68 61 | n|on-alpha|
|00000aa0| 20 61 73 20 6c 65 61 64 | 20 20 20 20 20 20 75 73 | as lead| us|
|00000ab0| 65 73 20 61 6e 79 20 63 | 68 61 72 0d 0a 3b 20 20 |es any c|har..; |
|00000ac0| 20 20 20 20 20 20 20 20 | 20 32 2e 20 53 6b 69 70 | | 2. Skip|
|00000ad0| 73 20 69 6e 74 65 72 6d | 65 64 69 61 74 65 20 20 |s interm|ediate |
|00000ae0| 20 20 32 2e 20 41 62 6f | 72 74 73 20 77 69 74 68 | 2. Abo|rts with|
|00000af0| 20 6e 6f 6e 2d 20 20 20 | 20 32 2e 20 53 6b 69 70 | non- | 2. Skip|
|00000b00| 73 20 69 6e 74 65 72 2d | 0d 0a 3b 20 20 20 20 20 |s inter-|..; |
|00000b10| 20 20 20 20 20 20 20 20 | 20 6e 6f 6e 2d 61 6c 70 | | non-alp|
|00000b20| 68 61 20 63 68 61 72 61 | 63 74 65 72 73 20 20 20 |ha chara|cters |
|00000b30| 20 20 61 6c 70 68 61 2f | 6e 6f 6e 2d 73 70 61 63 | alpha/|non-spac|
|00000b40| 65 20 20 20 20 20 20 20 | 20 6d 65 64 69 61 74 65 |e | mediate|
|00000b50| 20 6e 6f 6e 2d 0d 0a 3b | 20 20 20 20 20 20 20 20 | non-..;| |
|00000b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 65 | | e|
|00000b80| 78 63 65 70 74 20 66 69 | 72 73 74 20 63 68 61 72 |xcept fi|rst char|
|00000b90| 20 20 20 20 20 20 61 6c | 70 68 61 20 63 68 61 72 | al|pha char|
|00000ba0| 73 0d 0a 20 0d 0a 3b 53 | 70 65 65 64 20 20 20 20 |s.. ..;S|peed |
|00000bb0| 20 20 33 20 73 65 63 73 | 2f 35 30 30 30 20 72 65 | 3 secs|/5000 re|
|00000bc0| 70 65 61 74 73 20 20 20 | 20 20 20 39 20 73 65 63 |peats | 9 sec|
|00000bd0| 73 2f 35 30 30 30 20 72 | 65 70 65 61 74 73 20 20 |s/5000 r|epeats |
|00000be0| 20 20 39 30 20 73 65 63 | 73 2f 35 30 30 30 20 72 | 90 sec|s/5000 r|
|00000bf0| 65 70 74 73 0d 0a 3b 49 | 20 62 65 6c 69 65 76 65 |epts..;I| believe|
|00000c00| 2c 20 6f 66 20 63 6f 75 | 72 73 65 2c 20 74 68 61 |, of cou|rse, tha|
|00000c10| 74 20 53 4f 55 4e 44 45 | 58 41 20 69 73 20 74 68 |t SOUNDE|XA is th|
|00000c20| 65 20 27 62 65 73 74 27 | 20 69 6d 70 6c 65 6d 65 |e 'best'| impleme|
|00000c30| 6e 74 61 74 69 6f 6e 20 | 62 65 63 61 75 73 65 0d |ntation |because.|
|00000c40| 0a 3b 69 74 27 73 20 63 | 6c 6f 73 65 73 74 20 74 |.;it's c|losest t|
|00000c50| 6f 20 4b 6e 75 74 68 27 | 73 20 61 6c 67 6f 72 69 |o Knuth'|s algori|
|00000c60| 74 68 6d 2c 20 6d 6f 73 | 74 20 66 61 75 6c 74 20 |thm, mos|t fault |
|00000c70| 74 6f 6c 65 72 61 6e 74 | 2c 20 66 61 73 74 65 73 |tolerant|, fastes|
|00000c80| 74 20 28 61 6e 64 20 61 | 6c 73 6f 0d 0a 3b 73 6d |t (and a|lso..;sm|
|00000c90| 61 6c 6c 65 73 74 2c 20 | 62 79 20 74 68 65 20 77 |allest, |by the w|
|00000ca0| 61 79 29 20 61 6e 64 20 | 74 68 65 20 6d 6f 73 74 |ay) and |the most|
|00000cb0| 20 46 4c 45 58 49 42 4c | 45 2e 20 20 4d 6f 72 65 | FLEXIBL|E. More|
|00000cc0| 20 61 62 6f 75 74 20 74 | 68 69 73 20 62 65 6c 6f | about t|his belo|
|00000cd0| 77 2e 0d 0a 20 0d 0a 3b | 4b 6e 75 74 68 27 73 20 |w... ..;|Knuth's |
|00000ce0| 61 6c 67 6f 72 69 74 68 | 6d 20 75 73 65 73 20 30 |algorith|m uses 0|
|00000cf0| 73 20 28 63 68 61 72 61 | 63 74 65 72 20 7a 65 72 |s (chara|cter zer|
|00000d00| 6f 29 20 74 6f 20 66 69 | 6c 6c 20 74 72 61 69 6c |o) to fi|ll trail|
|00000d10| 69 6e 67 20 65 6d 70 74 | 79 20 73 6c 6f 74 73 2e |ing empt|y slots.|
|00000d20| 0d 0a 3b 54 68 69 73 20 | 6d 61 6b 65 73 20 73 65 |..;This |makes se|
|00000d30| 6e 73 65 20 77 68 65 6e | 20 79 6f 75 27 72 65 20 |nse when| you're |
|00000d40| 63 6f 6e 73 74 72 75 63 | 74 69 6e 67 20 61 6e 20 |construc|ting an |
|00000d50| 69 6e 64 65 78 2c 20 73 | 75 63 68 20 61 73 0d 0a |index, s|uch as..|
|00000d60| 20 0d 0a 3b 20 20 20 20 | 20 20 20 49 4e 44 45 58 | ..; | INDEX|
|00000d70| 20 4f 4e 20 53 4f 55 4e | 44 45 58 41 28 4c 41 53 | ON SOUN|DEXA(LAS|
|00000d80| 54 4e 41 4d 45 29 20 54 | 4f 20 4e 41 4d 58 0d 0a |TNAME) T|O NAMX..|
|00000d90| 20 0d 0a 3b 48 6f 77 65 | 76 65 72 2c 20 77 68 65 | ..;Howe|ver, whe|
|00000da0| 6e 20 79 6f 75 27 72 65 | 20 53 45 45 4b 2f 4c 4f |n you're| SEEK/LO|
|00000db0| 43 41 54 45 69 6e 67 20 | 77 69 74 68 20 53 4f 55 |CATEing |with SOU|
|00000dc0| 4e 44 45 58 20 79 6f 75 | 20 67 65 6e 65 72 61 6c |NDEX you| general|
|00000dd0| 6c 79 20 77 61 6e 74 20 | 74 6f 20 66 69 6e 64 0d |ly want |to find.|
|00000de0| 0a 3b 61 6c 6c 20 6c 69 | 6b 65 6c 79 20 63 61 6e |.;all li|kely can|
|00000df0| 64 69 64 61 74 65 73 20 | 61 6e 64 20 77 61 6e 74 |didates |and want|
|00000e00| 20 74 6f 20 6d 61 6b 65 | 20 73 75 72 65 20 74 68 | to make| sure th|
|00000e10| 61 74 20 79 6f 75 20 64 | 6f 6e 27 74 20 6d 69 73 |at you d|on't mis|
|00000e20| 73 20 61 6e 79 2e 20 20 | 59 6f 75 27 64 0d 0a 3b |s any. |You'd..;|
|00000e30| 72 61 74 68 65 72 20 66 | 69 6e 64 20 61 20 66 65 |rather f|ind a fe|
|00000e40| 77 20 77 72 6f 6e 67 20 | 6f 6e 65 73 20 74 68 61 |w wrong |ones tha|
|00000e50| 6e 20 6d 69 73 73 20 61 | 20 73 69 6e 67 6c 65 20 |n miss a| single |
|00000e60| 72 69 67 68 74 20 6f 6e | 65 2e 20 49 6e 20 74 68 |right on|e. In th|
|00000e70| 61 74 20 63 61 73 65 0d | 0a 3b 79 6f 75 20 77 61 |at case.|.;you wa|
|00000e80| 6e 74 20 74 6f 20 69 6e | 63 6c 75 64 65 20 65 76 |nt to in|clude ev|
|00000e90| 65 6e 20 70 61 72 74 69 | 61 6c 20 6d 61 74 63 68 |en parti|al match|
|00000ea0| 65 73 2c 20 73 75 63 68 | 20 61 73 0d 0a 20 0d 0a |es, such| as.. ..|
|00000eb0| 3b 20 20 20 20 20 20 20 | 4c 4f 43 41 54 45 20 41 |; |LOCATE A|
|00000ec0| 4c 4c 20 46 4f 52 20 54 | 52 49 4d 28 53 4f 55 4e |LL FOR T|RIM(SOUN|
|00000ed0| 44 45 58 41 28 50 41 52 | 54 5f 4e 41 4d 45 29 29 |DEXA(PAR|T_NAME))|
|00000ee0| 0d 0a 20 0d 0a 3b 53 4f | 55 4e 44 45 58 41 20 61 |.. ..;SO|UNDEXA a|
|00000ef0| 6c 6c 6f 77 73 20 79 6f | 75 20 74 6f 20 73 65 6c |llows yo|u to sel|
|00000f00| 65 63 74 20 62 65 74 77 | 65 65 6e 20 74 77 6f 20 |ect betw|een two |
|00000f10| 66 69 6c 6c 65 72 73 2c | 20 73 70 61 63 65 73 20 |fillers,| spaces |
|00000f20| 6f 72 20 27 30 27 2e 20 | 20 45 76 65 6e 0d 0a 3b |or '0'. | Even..;|
|00000f30| 74 68 6f 75 67 68 20 7a | 65 72 6f 73 20 61 72 65 |though z|eros are|
|00000f40| 20 27 73 74 61 6e 64 61 | 72 64 27 2c 20 49 20 66 | 'standa|rd', I f|
|00000f50| 69 6e 64 20 73 70 61 63 | 65 73 20 6d 6f 72 65 20 |ind spac|es more |
|00000f60| 66 6c 65 78 69 62 6c 65 | 20 61 6e 64 20 68 61 76 |flexible| and hav|
|00000f70| 65 20 6d 61 64 65 20 74 | 68 65 6d 0d 0a 3b 74 68 |e made t|hem..;th|
|00000f80| 65 20 64 65 66 61 75 6c | 74 2e 20 42 79 20 73 70 |e defaul|t. By sp|
|00000f90| 65 63 69 66 79 69 6e 67 | 20 61 20 73 65 63 6f 6e |ecifying| a secon|
|00000fa0| 64 20 61 72 67 75 6d 65 | 6e 74 20 53 4f 55 4e 44 |d argume|nt SOUND|
|00000fb0| 45 58 41 28 4c 41 53 54 | 4e 41 4d 45 2c 46 49 4c |EXA(LAST|NAME,FIL|
|00000fc0| 4c 45 52 29 20 6f 6e 63 | 65 2c 0d 0a 3b 79 6f 75 |LER) onc|e,..;you|
|00000fd0| 20 63 68 61 6e 67 65 20 | 74 68 65 20 73 74 61 74 | change |the stat|
|00000fe0| 65 20 6f 66 20 74 68 65 | 20 72 6f 75 74 69 6e 65 |e of the| routine|
|00000ff0| 2e 20 20 49 66 20 46 49 | 4c 4c 45 52 20 69 73 20 |. If FI|LLER is |
|00001000| 61 20 27 30 27 20 28 61 | 73 20 61 20 63 68 61 72 |a '0' (a|s a char|
|00001010| 61 63 74 65 72 2c 20 6e | 6f 74 0d 0a 3b 61 20 6e |acter, n|ot..;a n|
|00001020| 75 6d 62 65 72 29 2c 20 | 61 6c 6c 20 66 75 74 75 |umber), |all futu|
|00001030| 72 65 20 63 61 6c 6c 73 | 20 74 6f 20 53 4f 55 4e |re calls| to SOUN|
|00001040| 44 45 58 41 20 77 69 6c | 6c 20 75 73 65 20 7a 65 |DEXA wil|l use ze|
|00001050| 72 6f 73 20 66 6f 72 20 | 66 69 6c 6c 69 6e 67 2e |ros for |filling.|
|00001060| 20 20 49 66 0d 0a 3b 46 | 49 4c 4c 45 52 20 69 73 | If..;F|ILLER is|
|00001070| 20 61 6e 79 20 6f 74 68 | 65 72 20 63 68 61 72 61 | any oth|er chara|
|00001080| 63 74 65 72 20 28 6f 72 | 20 65 76 65 6e 20 61 20 |cter (or| even a |
|00001090| 6e 75 6c 6c 20 73 74 72 | 69 6e 67 29 2c 20 53 4f |null str|ing), SO|
|000010a0| 55 4e 44 45 58 41 20 77 | 69 6c 6c 20 75 73 65 0d |UNDEXA w|ill use.|
|000010b0| 0a 3b 73 70 61 63 65 73 | 20 69 6e 20 74 68 65 20 |.;spaces| in the |
|000010c0| 66 75 74 75 72 65 2e 20 | 20 49 66 20 74 68 65 72 |future. | If ther|
|000010d0| 65 20 69 73 6e 27 74 20 | 61 20 73 65 63 6f 6e 64 |e isn't |a second|
|000010e0| 20 61 72 67 75 6d 65 6e | 74 2c 20 53 4f 55 4e 44 | argumen|t, SOUND|
|000010f0| 45 58 41 20 77 69 6c 6c | 20 75 73 65 0d 0a 3b 77 |EXA will| use..;w|
|00001100| 68 61 74 20 79 6f 75 20 | 73 70 65 63 69 66 69 65 |hat you |specifie|
|00001110| 64 20 62 65 66 6f 72 65 | 20 6f 72 20 74 68 65 20 |d before| or the |
|00001120| 64 65 66 61 75 6c 74 2e | 20 49 66 20 79 6f 75 20 |default.| If you |
|00001130| 70 72 65 66 65 72 20 7a | 65 72 6f 73 20 61 73 20 |prefer z|eros as |
|00001140| 74 68 65 20 64 65 66 61 | 75 6c 74 2c 0d 0a 3b 63 |the defa|ult,..;c|
|00001150| 68 61 6e 67 65 20 74 68 | 65 20 46 49 4c 4c 45 52 |hange th|e FILLER|
|00001160| 20 44 42 20 74 6f 20 27 | 30 27 20 69 6e 20 74 68 | DB to '|0' in th|
|00001170| 65 20 44 41 54 41 53 47 | 2e 0d 0a 20 0d 0a 20 0d |e DATASG|... .. .|
|00001180| 0a 3b 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.;======|========|
|00001190| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000011b0| 3d 3d 3d 3d 3d 0d 0a 45 | 58 54 52 4e 20 20 20 5f |=====..E|XTRN _|
|000011c0| 5f 50 41 52 49 4e 46 4f | 3a 46 41 52 20 20 3b 43 |_PARINFO|:FAR ;C|
|000011d0| 6c 69 70 70 65 72 20 45 | 58 54 45 4e 44 20 72 6f |lipper E|XTEND ro|
|000011e0| 75 74 69 6e 65 2c 20 74 | 65 6c 6c 73 20 68 6f 77 |utine, t|ells how|
|000011f0| 20 6d 61 6e 79 20 61 72 | 67 75 6d 65 6e 74 73 0d | many ar|guments.|
|00001200| 0a 45 58 54 52 4e 20 20 | 20 5f 5f 50 41 52 43 3a |.EXTRN | __PARC:|
|00001210| 46 41 52 20 20 20 20 20 | 3b 43 6c 69 70 70 65 72 |FAR |;Clipper|
|00001220| 20 45 58 54 45 4e 44 20 | 72 6f 75 74 69 6e 65 2c | EXTEND |routine,|
|00001230| 20 67 65 74 73 20 61 20 | 63 68 61 72 61 63 74 65 | gets a |characte|
|00001240| 72 20 61 72 67 75 6d 65 | 6e 74 0d 0a 45 58 54 52 |r argume|nt..EXTR|
|00001250| 4e 20 20 20 5f 5f 52 45 | 54 43 3a 46 41 52 20 20 |N __RE|TC:FAR |
|00001260| 20 20 20 3b 43 6c 69 70 | 70 65 72 20 45 58 54 45 | ;Clip|per EXTE|
|00001270| 4e 44 20 72 6f 75 74 69 | 6e 65 2c 20 72 65 74 75 |ND routi|ne, retu|
|00001280| 72 6e 73 20 61 20 63 68 | 61 72 61 63 74 65 72 20 |rns a ch|aracter |
|00001290| 76 61 6c 75 65 0d 0a 20 | 0d 0a 53 58 5f 4c 45 4e |value.. |..SX_LEN|
|000012a0| 47 54 48 20 20 20 20 20 | 20 20 45 51 55 20 20 20 |GTH | EQU |
|000012b0| 20 34 20 20 20 20 20 3b | 4c 65 6e 67 74 68 20 6f | 4 ;|Length o|
|000012c0| 66 20 73 6f 75 6e 64 65 | 78 20 63 6f 64 65 0d 0a |f sounde|x code..|
|000012d0| 20 0d 0a 44 47 52 4f 55 | 50 20 20 47 52 4f 55 50 | ..DGROU|P GROUP|
|000012e0| 20 20 20 44 41 54 41 53 | 47 20 20 20 20 20 20 20 | DATAS|G |
|000012f0| 3b 54 69 65 73 20 74 68 | 69 73 20 73 65 67 6d 65 |;Ties th|is segme|
|00001300| 6e 74 20 74 6f 20 74 68 | 65 20 6f 74 68 65 72 20 |nt to th|e other |
|00001310| 64 61 74 61 20 73 65 67 | 6d 65 6e 74 73 0d 0a 20 |data seg|ments.. |
|00001320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001330| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 6f 66 20 | | ;of |
|00001340| 43 6c 69 70 70 65 72 2e | 20 20 44 53 20 70 6f 69 |Clipper.| DS poi|
|00001350| 6e 74 73 20 74 6f 20 74 | 68 69 73 20 44 47 52 4f |nts to t|his DGRO|
|00001360| 55 50 20 77 68 65 6e 0d | 0a 20 20 20 20 20 20 20 |UP when.|. |
|00001370| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001380| 20 20 20 20 20 20 3b 77 | 65 20 61 72 72 69 76 65 | ;w|e arrive|
|00001390| 20 69 6e 20 74 68 65 20 | 61 73 73 65 6d 62 6c 79 | in the |assembly|
|000013a0| 20 72 6f 75 74 69 6e 65 | 0d 0a 20 0d 0a 44 41 54 | routine|.. ..DAT|
|000013b0| 41 53 47 20 53 45 47 4d | 45 4e 54 20 57 4f 52 44 |ASG SEGM|ENT WORD|
|000013c0| 20 50 55 42 4c 49 43 20 | 27 44 41 54 41 27 20 20 | PUBLIC |'DATA' |
|000013d0| 3b 41 6c 6c 20 50 55 42 | 4c 49 43 20 73 65 67 6d |;All PUB|LIC segm|
|000013e0| 65 6e 74 73 20 77 69 74 | 68 20 74 68 65 20 6e 61 |ents wit|h the na|
|000013f0| 6d 65 20 44 41 54 41 53 | 47 0d 0a 20 20 20 20 20 |me DATAS|G.. |
|00001400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001410| 20 20 20 20 20 20 20 20 | 3b 77 69 6c 6c 20 62 65 | |;will be|
|00001420| 20 63 6f 6d 62 69 6e 65 | 64 20 62 79 20 74 68 65 | combine|d by the|
|00001430| 20 6c 69 6e 6b 65 72 2e | 20 20 41 6c 6c 20 73 65 | linker.| All se|
|00001440| 67 6d 65 6e 74 73 0d 0a | 20 20 20 20 20 20 20 20 |gments..| |
|00001450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001460| 20 20 20 20 20 3b 77 69 | 74 68 20 74 68 65 20 63 | ;wi|th the c|
|00001470| 6c 61 73 73 20 27 44 41 | 54 41 27 20 77 69 6c 6c |lass 'DA|TA' will|
|00001480| 20 62 65 20 61 64 6a 61 | 63 65 6e 74 20 74 6f 0d | be adja|cent to.|
|00001490| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000014a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 65 | | ;e|
|000014b0| 61 63 68 20 6f 74 68 65 | 72 2e 20 57 4f 52 44 20 |ach othe|r. WORD |
|000014c0| 6d 65 61 6e 73 20 74 68 | 61 74 20 74 68 65 20 73 |means th|at the s|
|000014d0| 65 67 6d 65 6e 74 0d 0a | 20 20 20 20 20 20 20 20 |egment..| |
|000014e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014f0| 20 20 20 20 20 3b 73 74 | 61 72 74 73 20 6f 6e 20 | ;st|arts on |
|00001500| 61 6e 20 65 76 65 6e 20 | 62 79 74 65 2c 20 77 68 |an even |byte, wh|
|00001510| 69 63 68 20 63 61 6e 20 | 73 6f 6d 65 74 69 6d 65 |ich can |sometime|
|00001520| 73 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s.. | |
|00001530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001540| 3b 62 65 20 6d 69 6e 75 | 74 65 6c 79 20 66 61 73 |;be minu|tely fas|
|00001550| 74 65 72 20 69 6e 20 61 | 6e 20 38 30 38 36 2f 38 |ter in a|n 8086/8|
|00001560| 30 32 38 36 20 6d 61 63 | 68 69 6e 65 2e 0d 0a 20 |0286 mac|hine... |
|00001570| 0d 0a 53 4f 55 4e 44 45 | 58 20 20 20 20 20 20 44 |..SOUNDE|X D|
|00001580| 42 20 20 20 53 58 5f 4c | 45 4e 47 54 48 20 44 55 |B SX_L|ENGTH DU|
|00001590| 50 20 28 3f 29 20 20 20 | 20 20 20 20 20 3b 20 53 |P (?) | ; S|
|000015a0| 70 61 63 65 20 66 6f 72 | 20 53 4f 55 4e 44 45 58 |pace for| SOUNDEX|
|000015b0| 20 72 65 73 75 6c 74 0d | 0a 20 20 20 20 20 20 20 | result.|. |
|000015c0| 20 20 20 20 20 20 44 42 | 20 30 30 20 20 20 20 20 | DB| 00 |
|000015d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000015e0| 20 20 20 20 3b 20 54 65 | 72 6d 69 6e 61 74 6f 72 | ; Te|rminator|
|000015f0| 20 62 79 74 65 0d 0a 20 | 20 20 20 20 20 20 20 20 | byte.. | |
|00001600| 20 20 20 20 3b 53 74 72 | 69 6e 67 73 20 69 6e 20 | ;Str|ings in |
|00001610| 43 20 61 6e 64 20 43 6c | 69 70 70 65 72 20 61 72 |C and Cl|ipper ar|
|00001620| 65 20 74 65 72 6d 69 6e | 61 74 65 64 20 62 79 20 |e termin|ated by |
|00001630| 61 20 4e 55 4c 4c 20 28 | 6f 72 20 4e 55 4c 20 6f |a NULL (|or NUL o|
|00001640| 72 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r.. | |
|00001650| 3b 4e 49 4c 2c 20 69 74 | 20 61 6c 6c 20 6d 65 61 |;NIL, it| all mea|
|00001660| 6e 73 20 74 68 65 20 73 | 61 6d 65 20 74 68 69 6e |ns the s|ame thin|
|00001670| 67 29 2e 20 20 54 68 65 | 72 65 20 69 73 20 6e 6f |g). The|re is no|
|00001680| 20 6c 65 6e 67 74 68 20 | 62 79 74 65 0d 0a 20 20 | length |byte.. |
|00001690| 20 20 20 20 20 20 20 20 | 20 20 20 3b 6f 72 20 77 | | ;or w|
|000016a0| 6f 72 64 20 61 73 20 69 | 6e 20 42 41 53 49 43 20 |ord as i|n BASIC |
|000016b0| 6f 72 20 54 75 72 62 6f | 20 50 61 73 63 61 6c 2e |or Turbo| Pascal.|
|000016c0| 0d 0a 46 49 4c 4c 45 52 | 20 20 20 20 20 20 20 44 |..FILLER| D|
|000016d0| 42 20 27 20 27 20 20 20 | 20 20 20 20 20 20 20 3b |B ' ' | ;|
|000016e0| 20 46 69 6c 6c 65 72 20 | 62 79 74 65 20 66 6f 72 | Filler |byte for|
|000016f0| 20 70 61 64 64 69 6e 67 | 20 6f 66 20 53 4f 55 4e | padding| of SOUN|
|00001700| 44 45 58 2c 20 63 61 6e | 20 62 65 0d 0a 20 20 20 |DEX, can| be.. |
|00001710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001720| 20 20 20 20 20 20 20 20 | 20 20 3b 20 73 70 61 63 | | ; spac|
|00001730| 65 20 28 64 65 66 61 75 | 6c 74 29 20 6f 72 20 27 |e (defau|lt) or '|
|00001740| 30 27 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |0'.. | |
|00001750| 20 20 20 20 3b 20 54 72 | 61 6e 73 6c 61 74 65 20 | ; Tr|anslate |
|00001760| 74 61 62 6c 65 20 66 72 | 6f 6d 20 55 43 20 6c 65 |table fr|om UC le|
|00001770| 74 74 65 72 73 20 74 6f | 20 53 4f 55 4e 44 45 58 |tters to| SOUNDEX|
|00001780| 20 63 6f 64 65 73 0d 0a | 20 20 20 20 20 20 20 20 | codes..| |
|00001790| 20 20 20 20 20 20 20 20 | 3b 20 4f 6d 69 74 74 65 | |; Omitte|
|000017a0| 64 20 6c 65 74 74 65 72 | 73 20 72 65 74 75 72 6e |d letter|s return|
|000017b0| 20 4e 55 4c 4c 0d 0a 3b | 20 20 20 20 20 20 20 20 | NULL..;| |
|000017c0| 20 20 20 20 20 20 20 27 | 41 42 43 44 45 46 47 48 | '|ABCDEFGH|
|000017d0| 49 4a 4b 4c 4d 4e 4f 50 | 51 52 53 54 55 56 57 58 |IJKLMNOP|QRSTUVWX|
|000017e0| 59 5a 27 0d 0a 3b 20 20 | 20 20 20 20 20 20 20 20 |YZ'..; | |
|000017f0| 20 20 20 20 20 27 20 31 | 32 33 20 31 32 20 20 32 | ' 1|23 12 2|
|00001800| 32 34 35 35 20 31 32 36 | 32 33 20 31 20 32 20 32 |2455 126|23 1 2 2|
|00001810| 27 0d 0a 54 52 41 4e 53 | 4c 41 54 45 20 20 20 20 |'..TRANS|LATE |
|00001820| 20 20 20 64 62 20 30 2c | 27 31 32 33 27 2c 30 2c | db 0,|'123',0,|
|00001830| 27 31 32 27 2c 30 2c 30 | 2c 27 32 32 34 35 35 27 |'12',0,0|,'22455'|
|00001840| 2c 30 2c 27 31 32 36 32 | 33 27 2c 30 2c 27 31 27 |,0,'1262|3',0,'1'|
|00001850| 2c 30 2c 27 32 27 2c 30 | 2c 27 32 27 0d 0a 20 0d |,0,'2',0|,'2'.. .|
|00001860| 0a 44 41 54 41 53 47 20 | 20 45 4e 44 53 0d 0a 3b |.DATASG | ENDS..;|
|00001870| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001880| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001890| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018a0| 3d 3d 0d 0a 20 0d 0a 20 | 0d 0a 3b 3d 3d 3d 3d 3d |==.. .. |..;=====|
|000018b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 5f |========|=====.._|
|000018e0| 50 52 4f 47 20 20 20 53 | 45 47 4d 45 4e 54 20 20 |PROG S|EGMENT |
|000018f0| 20 42 59 54 45 20 50 55 | 42 4c 49 43 20 27 43 4f | BYTE PU|BLIC 'CO|
|00001900| 44 45 27 20 20 20 20 20 | 20 3b 41 6c 6c 20 50 55 |DE' | ;All PU|
|00001910| 42 4c 49 43 20 73 65 67 | 6d 65 6e 74 73 20 77 69 |BLIC seg|ments wi|
|00001920| 74 68 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |th.. | |
|00001930| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001940| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 74 | | ;t|
|00001950| 68 65 20 6e 61 6d 65 20 | 5f 50 52 4f 47 20 77 69 |he name |_PROG wi|
|00001960| 6c 6c 20 62 65 20 63 6f | 6d 2d 0d 0a 20 20 20 20 |ll be co|m-.. |
|00001970| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001980| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001990| 20 20 20 20 20 20 3b 62 | 69 6e 65 64 2c 20 61 6c | ;b|ined, al|
|000019a0| 6c 20 73 65 67 6d 65 6e | 74 73 20 77 69 74 68 20 |l segmen|ts with |
|000019b0| 74 68 65 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |the.. | |
|000019c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000019e0| 63 6c 61 73 73 20 27 43 | 4f 44 45 27 20 77 69 6c |class 'C|ODE' wil|
|000019f0| 6c 20 62 65 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |l be.. | |
|00001a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a20| 3b 61 64 6a 61 63 65 6e | 74 2e 20 20 42 59 54 45 |;adjacen|t. BYTE|
|00001a30| 20 6d 65 61 6e 73 20 74 | 68 61 74 0d 0a 20 20 20 | means t|hat.. |
|00001a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a60| 20 20 20 20 20 20 20 3b | 74 68 65 20 73 65 67 6d | ;|the segm|
|00001a70| 65 6e 74 73 20 77 69 6c | 6c 20 62 65 20 61 6c 69 |ents wil|l be ali|
|00001a80| 67 6e 65 64 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |gned.. | |
|00001a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001aa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ab0| 3b 28 73 74 75 63 6b 20 | 74 6f 67 65 74 68 65 72 |;(stuck |together|
|00001ac0| 29 20 77 69 74 68 6f 75 | 74 20 61 6e 79 0d 0a 20 |) withou|t any.. |
|00001ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001af0| 20 20 20 20 20 20 20 20 | 20 3b 70 61 64 64 69 6e | | ;paddin|
|00001b00| 67 2e 0d 0a 20 0d 0a 41 | 53 53 55 4d 45 20 20 43 |g... ..A|SSUME C|
|00001b10| 53 3a 5f 50 52 4f 47 2c | 20 44 53 3a 44 47 52 4f |S:_PROG,| DS:DGRO|
|00001b20| 55 50 2c 20 45 53 3a 4e | 4f 54 48 49 4e 47 20 20 |UP, ES:N|OTHING |
|00001b30| 20 3b 54 68 69 73 20 69 | 73 20 74 68 65 20 77 61 | ;This i|s the wa|
|00001b40| 79 20 74 68 65 20 73 65 | 67 6d 65 6e 74 0d 0a 20 |y the se|gment.. |
|00001b50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b70| 20 20 20 20 20 20 20 20 | 20 3b 72 65 67 69 73 74 | | ;regist|
|00001b80| 65 72 73 20 61 72 65 20 | 73 65 74 20 75 70 20 77 |ers are |set up w|
|00001b90| 68 65 6e 20 77 65 0d 0a | 20 20 20 20 20 20 20 20 |hen we..| |
|00001ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bc0| 20 20 3b 61 72 72 69 76 | 65 20 68 65 72 65 20 66 | ;arriv|e here f|
|00001bd0| 72 6f 6d 20 43 6c 69 70 | 70 65 72 2e 0d 0a 50 55 |rom Clip|per...PU|
|00001be0| 42 4c 49 43 20 20 53 4f | 55 4e 44 45 58 41 20 20 |BLIC SO|UNDEXA |
|00001bf0| 20 20 20 20 20 20 3b 55 | 73 65 64 20 69 6e 20 6c | ;U|sed in l|
|00001c00| 69 6e 6b 69 6e 67 20 74 | 6f 20 43 6c 69 70 70 65 |inking t|o Clippe|
|00001c10| 72 2c 20 6c 65 74 73 20 | 43 6c 69 70 70 65 72 20 |r, lets |Clipper |
|00001c20| 6b 6e 6f 77 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |know.. | |
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 77 | | ;w|
|00001c40| 68 65 72 65 20 74 68 69 | 73 20 72 6f 75 74 69 6e |here thi|s routin|
|00001c50| 65 20 69 73 2e 0d 0a 20 | 0d 0a 53 4f 55 4e 44 45 |e is... |..SOUNDE|
|00001c60| 58 41 20 20 20 20 20 50 | 52 4f 43 20 46 41 52 20 |XA P|ROC FAR |
|00001c70| 20 20 3b 54 68 65 20 6e | 61 6d 65 20 6f 66 20 6f | ;The n|ame of o|
|00001c80| 75 72 20 72 6f 75 74 69 | 6e 65 20 28 70 72 6f 63 |ur routi|ne (proc|
|00001c90| 65 64 75 72 65 29 0d 0a | 20 0d 0a 20 20 20 20 20 |edure)..| .. |
|00001ca0| 20 20 20 20 20 20 20 20 | 50 55 53 48 20 42 50 20 | |PUSH BP |
|00001cb0| 20 20 20 20 20 20 20 20 | 3b 54 68 65 20 43 6c 69 | |;The Cli|
|00001cc0| 70 70 65 72 20 65 78 74 | 65 6e 64 20 64 6f 63 75 |pper ext|end docu|
|00001cd0| 6d 65 6e 74 61 74 69 6f | 6e 20 6f 6e 20 64 69 73 |mentatio|n on dis|
|00001ce0| 6b 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |k.. | |
|00001cf0| 50 55 53 48 20 44 49 20 | 20 20 20 20 20 20 20 20 |PUSH DI | |
|00001d00| 3b 73 61 79 73 20 74 68 | 61 74 20 77 65 20 68 61 |;says th|at we ha|
|00001d10| 76 65 20 74 6f 20 73 61 | 76 65 20 72 65 67 69 73 |ve to sa|ve regis|
|00001d20| 74 65 72 73 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ters.. | |
|00001d30| 20 20 20 50 55 53 48 20 | 53 49 20 20 20 20 20 20 | PUSH |SI |
|00001d40| 20 20 20 3b 42 50 2c 20 | 44 49 2c 20 53 49 2c 20 | ;BP, |DI, SI, |
|00001d50| 45 53 20 61 6e 64 20 44 | 53 2e 20 20 57 65 20 61 |ES and D|S. We a|
|00001d60| 72 65 20 6e 6f 74 0d 0a | 20 20 20 20 20 20 20 20 |re not..| |
|00001d70| 20 20 20 20 20 50 55 53 | 48 20 45 53 20 20 20 20 | PUS|H ES |
|00001d80| 20 20 20 20 20 3b 64 69 | 73 74 75 72 62 69 6e 67 | ;di|sturbing|
|00001d90| 20 42 50 2c 20 73 6f 20 | 77 65 20 6d 61 79 20 6e | BP, so |we may n|
|00001da0| 6f 74 20 68 61 76 65 20 | 74 6f 20 73 61 76 65 20 |ot have |to save |
|00001db0| 69 74 2e 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |it... | |
|00001dc0| 20 20 50 55 53 48 20 44 | 53 20 20 20 20 20 20 20 | PUSH D|S |
|00001dd0| 20 20 3b 42 75 74 20 74 | 68 65 20 43 6c 69 70 70 | ;But t|he Clipp|
|00001de0| 65 72 20 72 6f 75 74 69 | 6e 65 73 20 5f 5f 50 41 |er routi|nes __PA|
|00001df0| 52 49 4e 46 4f 2c 20 5f | 5f 50 41 52 43 0d 0a 20 |RINFO, _|_PARC.. |
|00001e00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 61 6e 64 | | ;and|
|00001e20| 20 5f 5f 52 45 54 43 20 | 6d 61 79 20 64 6f 20 73 | __RETC |may do s|
|00001e30| 6f 2c 20 77 65 20 64 6f | 6e 27 74 20 6b 6e 6f 77 |o, we do|n't know|
|00001e40| 2e 0d 0a 20 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |... .. | |
|00001e50| 20 20 20 3b 45 6e 73 75 | 72 65 20 6e 75 6c 6c 20 | ;Ensu|re null |
|00001e60| 73 74 72 69 6e 67 20 69 | 6e 20 63 61 73 65 20 6f |string i|n case o|
|00001e70| 66 20 6d 69 73 73 69 6e | 67 20 61 72 67 75 6d 65 |f missin|g argume|
|00001e80| 6e 74 20 6f 72 20 6e 6f | 20 6c 65 74 74 65 72 73 |nt or no| letters|
|00001e90| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b |.. | ;|
|00001ea0| 57 65 20 64 6f 20 74 68 | 69 73 20 62 79 20 6d 6f |We do th|is by mo|
|00001eb0| 76 69 6e 67 20 61 20 4e | 55 4c 4c 20 62 79 74 65 |ving a N|ULL byte|
|00001ec0| 20 69 6e 20 74 68 65 20 | 66 69 72 73 74 20 70 6c | in the |first pl|
|00001ed0| 61 63 65 20 6f 66 20 74 | 68 65 0d 0a 20 20 20 20 |ace of t|he.. |
|00001ee0| 20 20 20 20 20 20 20 20 | 20 3b 53 4f 55 4e 44 45 | | ;SOUNDE|
|00001ef0| 58 20 63 6f 64 65 2e 20 | 20 49 74 20 77 69 6c 6c |X code. | It will|
|00001f00| 20 62 65 20 6f 76 65 72 | 77 72 69 74 74 65 6e 20 | be over|written |
|00001f10| 69 66 20 74 68 65 72 65 | 27 73 20 6e 6f 20 65 72 |if there|'s no er|
|00001f20| 72 6f 72 2e 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |ror... | |
|00001f30| 20 20 20 4d 4f 56 20 42 | 59 54 45 20 50 54 52 20 | MOV B|YTE PTR |
|00001f40| 44 47 52 4f 55 50 3a 5b | 53 4f 55 4e 44 45 58 5d |DGROUP:[|SOUNDEX]|
|00001f50| 2c 20 30 0d 0a 20 0d 0a | 20 20 20 20 20 20 20 20 |, 0.. ..| |
|00001f60| 20 20 20 20 20 53 55 42 | 20 41 58 2c 20 41 58 20 | SUB| AX, AX |
|00001f70| 20 20 20 20 20 3b 46 61 | 73 74 65 72 20 61 6e 64 | ;Fa|ster and|
|00001f80| 20 73 6d 61 6c 6c 65 72 | 20 74 68 61 6e 20 4d 4f | smaller| than MO|
|00001f90| 56 20 41 58 2c 20 30 0d | 0a 20 20 20 20 20 20 20 |V AX, 0.|. |
|00001fa0| 20 20 20 20 20 20 50 55 | 53 48 20 41 58 0d 0a 20 | PU|SH AX.. |
|00001fb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 43 41 4c 4c | | CALL|
|00001fc0| 20 5f 5f 50 41 52 49 4e | 46 4f 20 20 3b 46 69 6e | __PARIN|FO ;Fin|
|00001fd0| 64 20 6f 75 74 20 68 6f | 77 20 6d 61 6e 79 20 61 |d out ho|w many a|
|00001fe0| 72 67 75 6d 65 6e 74 73 | 20 70 61 73 73 65 64 0d |rguments| passed.|
|00001ff0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 41 44 |. | AD|
|00002000| 44 20 53 50 2c 20 32 20 | 20 20 20 20 20 20 3b 43 |D SP, 2 | ;C|
|00002010| 6c 65 61 6e 20 75 70 20 | 73 74 61 63 6b 2e 20 43 |lean up |stack. C|
|00002020| 20 72 6f 75 74 69 6e 65 | 73 2c 20 75 6e 6c 69 6b | routine|s, unlik|
|00002030| 65 20 42 41 53 49 43 0d | 0a 20 20 20 20 20 20 20 |e BASIC.|. |
|00002040| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002050| 20 20 20 20 20 20 20 20 | 20 3b 6f 72 20 50 61 73 | | ;or Pas|
|00002060| 63 61 6c 20 64 6f 20 4e | 4f 54 20 63 6c 65 61 6e |cal do N|OT clean|
|00002070| 20 75 70 20 74 68 65 20 | 73 74 61 63 6b 2e 0d 0a | up the |stack...|
|00002080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 43 4d 50 | | CMP|
|00002090| 20 41 58 2c 20 31 20 20 | 20 20 20 20 20 3b 49 73 | AX, 1 | ;Is|
|000020a0| 20 74 68 65 72 65 20 31 | 20 61 72 67 75 6d 65 6e | there 1| argumen|
|000020b0| 74 3f 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |t?.. | |
|000020c0| 20 4a 45 20 4d 41 49 4e | 5f 52 4f 55 54 20 20 20 | JE MAIN|_ROUT |
|000020d0| 20 3b 59 65 73 2c 20 75 | 73 65 20 73 74 6f 72 65 | ;Yes, u|se store|
|000020e0| 64 20 66 69 6c 6c 65 72 | 20 66 6f 72 20 63 6f 6e |d filler| for con|
|000020f0| 76 65 72 73 69 6f 6e 0d | 0a 20 0d 0a 20 20 20 20 |version.|. .. |
|00002100| 20 20 20 20 20 20 20 20 | 20 43 4d 50 20 41 58 2c | | CMP AX,|
|00002110| 20 32 20 20 20 20 20 20 | 20 3b 41 72 65 20 74 68 | 2 | ;Are th|
|00002120| 65 72 65 20 74 77 6f 20 | 61 72 67 75 6d 65 6e 74 |ere two |argument|
|00002130| 73 3f 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |s?.. | |
|00002140| 20 4a 4e 45 20 4c 45 41 | 56 45 20 20 20 20 20 20 | JNE LEA|VE |
|00002150| 20 3b 4e 6f 2c 20 61 6e | 20 69 6e 76 61 6c 69 64 | ;No, an| invalid|
|00002160| 20 6e 75 6d 62 65 72 20 | 6f 66 20 61 72 67 75 6d | number |of argum|
|00002170| 65 6e 74 73 2e 20 4c 65 | 61 76 65 2e 0d 0a 0c 20 |ents. Le|ave.... |
|00002180| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 54 77 6f | | ;Two|
|00002190| 20 61 72 67 75 6d 65 6e | 74 73 2c 20 67 65 74 20 | argumen|ts, get |
|000021a0| 74 68 65 20 73 65 63 6f | 6e 64 20 6f 6e 65 20 2d |the seco|nd one -|
|000021b0| 20 61 20 6e 65 77 20 46 | 49 4c 4c 45 52 0d 0a 20 | a new F|ILLER.. |
|000021c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 50 55 53 48 | | PUSH|
|000021d0| 20 41 58 20 20 20 20 20 | 20 20 20 20 3b 41 58 20 | AX | ;AX |
|000021e0| 69 73 20 61 6c 77 61 79 | 73 20 32 20 68 65 72 65 |is alway|s 2 here|
|000021f0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 43 |.. | C|
|00002200| 41 4c 4c 20 5f 5f 50 41 | 52 43 20 20 20 20 20 3b |ALL __PA|RC ;|
|00002210| 47 65 74 20 74 68 65 20 | 61 64 64 72 65 73 73 20 |Get the |address |
|00002220| 6f 66 20 46 49 4c 4c 45 | 52 20 73 74 72 69 6e 67 |of FILLE|R string|
|00002230| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 41 |.. | A|
|00002240| 44 44 20 53 50 2c 20 32 | 20 20 20 20 20 20 20 3b |DD SP, 2| ;|
|00002250| 44 58 3a 41 58 20 68 6f | 6c 64 20 70 6f 69 6e 74 |DX:AX ho|ld point|
|00002260| 65 72 20 74 6f 20 73 74 | 72 69 6e 67 0d 0a 20 20 |er to st|ring.. |
|00002270| 20 20 20 20 20 20 20 20 | 20 20 20 4d 4f 56 20 45 | | MOV E|
|00002280| 53 2c 20 44 58 0d 0a 20 | 20 20 20 20 20 20 20 20 |S, DX.. | |
|00002290| 20 20 20 20 4d 4f 56 20 | 42 58 2c 20 41 58 20 20 | MOV |BX, AX |
|000022a0| 20 20 20 20 3b 55 73 65 | 20 45 53 3a 42 58 20 74 | ;Use| ES:BX t|
|000022b0| 6f 20 70 6f 69 6e 74 20 | 74 6f 20 46 49 4c 4c 45 |o point |to FILLE|
|000022c0| 52 20 73 74 72 69 6e 67 | 0d 0a 20 20 20 20 20 20 |R string|.. |
|000022d0| 20 20 20 20 20 20 20 4d | 4f 56 20 41 4c 2c 20 27 | M|OV AL, '|
|000022e0| 20 27 20 20 20 20 20 3b | 4c 6f 61 64 20 64 65 66 | ' ;|Load def|
|000022f0| 61 75 6c 74 20 73 70 61 | 63 65 20 63 68 61 72 61 |ault spa|ce chara|
|00002300| 63 74 65 72 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |cter.. | |
|00002310| 20 20 20 43 4d 50 20 42 | 59 54 45 20 50 54 52 20 | CMP B|YTE PTR |
|00002320| 45 53 3a 5b 42 58 5d 2c | 20 27 30 27 20 20 20 20 |ES:[BX],| '0' |
|00002330| 20 20 20 20 3b 49 73 20 | 74 68 65 20 6e 65 77 20 | ;Is |the new |
|00002340| 46 49 4c 4c 45 52 20 61 | 20 27 30 27 3f 0d 0a 20 |FILLER a| '0'?.. |
|00002350| 20 20 20 20 20 20 20 20 | 20 20 20 20 4a 4e 45 20 | | JNE |
|00002360| 53 58 30 31 30 20 20 20 | 20 20 20 20 20 20 20 20 |SX010 | |
|00002370| 20 20 20 20 3b 4e 6f 2c | 20 61 6c 6c 20 73 65 74 | ;No,| all set|
|00002380| 20 77 69 74 68 20 73 70 | 61 63 65 0d 0a 20 20 20 | with sp|ace.. |
|00002390| 20 20 20 20 20 20 20 20 | 20 20 4d 4f 56 20 41 4c | | MOV AL|
|000023a0| 2c 20 27 30 27 20 20 20 | 20 20 20 20 20 20 20 20 |, '0' | |
|000023b0| 20 20 3b 59 65 73 2c 20 | 6d 61 6b 65 20 69 74 20 | ;Yes, |make it |
|000023c0| 61 20 27 30 27 0d 0a 53 | 58 30 31 30 3a 20 20 20 |a '0'..S|X010: |
|000023d0| 20 20 20 20 4d 4f 56 20 | 44 47 52 4f 55 50 3a 46 | MOV |DGROUP:F|
|000023e0| 49 4c 4c 45 52 2c 20 41 | 4c 20 20 20 3b 53 65 74 |ILLER, A|L ;Set|
|000023f0| 20 46 69 6c 6c 65 72 20 | 63 68 61 72 61 63 74 65 | Filler |characte|
|00002400| 72 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r.. | |
|00002410| 4d 4f 56 20 41 58 2c 20 | 31 0d 0a 20 0d 0a 20 20 |MOV AX, |1.. .. |
|00002420| 20 20 20 20 20 20 20 20 | 20 20 20 3b 41 58 20 69 | | ;AX i|
|00002430| 73 20 61 6c 77 61 79 73 | 20 31 20 68 65 72 65 2c |s always| 1 here,|
|00002440| 20 65 69 74 68 65 72 20 | 73 65 74 20 61 62 6f 76 | either |set abov|
|00002450| 65 20 6f 72 20 43 4d 50 | 20 41 58 2c 20 31 0d 0a |e or CMP| AX, 1..|
|00002460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 50 6f | | ;Po|
|00002470| 69 6e 74 65 72 20 74 6f | 20 73 74 72 69 6e 67 20 |inter to| string |
|00002480| 69 6e 20 44 58 3a 41 58 | 20 28 53 45 47 3a 4f 46 |in DX:AX| (SEG:OF|
|00002490| 53 29 20 66 6f 72 20 43 | 6c 69 70 70 65 72 20 53 |S) for C|lipper S|
|000024a0| 38 37 0d 0a 4d 41 49 4e | 5f 52 4f 55 54 3a 20 20 |87..MAIN|_ROUT: |
|000024b0| 20 50 55 53 48 20 41 58 | 0d 0a 20 20 20 20 20 20 | PUSH AX|.. |
|000024c0| 20 20 20 20 20 20 20 43 | 41 4c 4c 20 5f 5f 50 41 | C|ALL __PA|
|000024d0| 52 43 20 20 20 20 20 3b | 47 65 74 20 70 6f 69 6e |RC ;|Get poin|
|000024e0| 74 65 72 20 74 6f 20 73 | 74 72 69 6e 67 20 74 6f |ter to s|tring to|
|000024f0| 20 63 6f 6e 76 65 72 74 | 0d 0a 20 20 20 20 20 20 | convert|.. |
|00002500| 20 20 20 20 20 20 20 41 | 44 44 20 53 50 2c 20 32 | A|DD SP, 2|
|00002510| 20 20 20 20 20 20 20 3b | 50 6f 69 6e 74 65 72 20 | ;|Pointer |
|00002520| 74 6f 20 73 74 72 69 6e | 67 20 72 65 74 75 72 6e |to strin|g return|
|00002530| 65 64 20 69 6e 20 44 58 | 3a 41 58 20 28 53 45 47 |ed in DX|:AX (SEG|
|00002540| 3a 4f 46 53 29 0d 0a 20 | 20 20 20 20 20 20 20 20 |:OFS).. | |
|00002550| 20 20 20 20 3b 53 65 74 | 20 75 70 20 70 6f 69 6e | ;Set| up poin|
|00002560| 74 65 72 20 72 65 67 69 | 73 74 65 72 73 2c 20 73 |ter regi|sters, s|
|00002570| 65 67 20 61 6e 64 20 6f | 66 73 0d 0a 20 20 20 20 |eg and o|fs.. |
|00002580| 20 20 20 20 20 20 20 20 | 20 3b 44 53 3a 53 49 20 | | ;DS:SI |
|00002590| 2d 20 53 74 72 69 6e 67 | 20 74 6f 20 63 6f 6e 76 |- String| to conv|
|000025a0| 65 72 74 2c 20 70 6f 69 | 6e 74 65 72 20 69 6e 63 |ert, poi|nter inc|
|000025b0| 72 65 6d 65 6e 74 69 6e | 67 0d 0a 20 20 20 20 20 |rementin|g.. |
|000025c0| 20 20 20 20 20 20 20 20 | 3b 45 53 3a 44 49 20 2d | |;ES:DI -|
|000025d0| 20 53 4f 55 4e 44 45 58 | 20 63 6f 64 65 20 69 6e | SOUNDEX| code in|
|000025e0| 20 44 47 52 4f 55 50 2c | 20 70 6f 69 6e 74 65 72 | DGROUP,| pointer|
|000025f0| 20 69 6e 63 72 65 6d 65 | 6e 74 69 6e 67 0d 0a 20 | increme|nting.. |
|00002600| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 45 53 3a | | ;ES:|
|00002610| 42 58 20 2d 20 54 52 41 | 4e 53 4c 41 54 45 20 69 |BX - TRA|NSLATE i|
|00002620| 6e 20 44 47 52 4f 55 50 | 2c 20 70 6f 69 6e 74 73 |n DGROUP|, points|
|00002630| 20 61 6c 77 61 79 73 20 | 74 6f 20 62 61 73 65 0d | always |to base.|
|00002640| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 50 55 |. | PU|
|00002650| 53 48 20 44 53 0d 0a 20 | 20 20 20 20 20 20 20 20 |SH DS.. | |
|00002660| 20 20 20 20 50 4f 50 20 | 45 53 20 20 20 20 20 20 | POP |ES |
|00002670| 20 20 20 20 3b 45 53 20 | 6e 6f 77 20 70 6f 69 6e | ;ES |now poin|
|00002680| 74 73 20 74 6f 20 44 47 | 52 4f 55 50 0d 0a 20 20 |ts to DG|ROUP.. |
|00002690| 20 20 20 20 20 20 20 20 | 20 20 20 4d 4f 56 20 44 | | MOV D|
|000026a0| 53 2c 20 44 58 20 20 20 | 20 20 20 3b 41 6e 64 20 |S, DX | ;And |
|000026b0| 44 53 20 74 6f 20 77 68 | 65 72 65 20 65 76 65 72 |DS to wh|ere ever|
|000026c0| 20 43 6c 69 70 70 65 72 | 20 73 74 6f 72 65 73 0d | Clipper| stores.|
|000026d0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000026e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 69 | | ;i|
|000026f0| 74 73 20 73 74 72 69 6e | 67 20 61 72 67 75 6d 65 |ts strin|g argume|
|00002700| 6e 74 73 2e 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |nts... | |
|00002710| 20 20 20 4d 4f 56 20 53 | 49 2c 20 41 58 20 20 20 | MOV S|I, AX |
|00002720| 20 20 20 3b 44 53 3a 53 | 49 20 70 6f 69 6e 74 20 | ;DS:S|I point |
|00002730| 74 6f 20 73 74 61 72 74 | 20 6f 66 20 73 74 72 69 |to start| of stri|
|00002740| 6e 67 20 74 6f 20 63 6f | 6e 76 65 72 74 0d 0a 20 |ng to co|nvert.. |
|00002750| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 4d |.. | M|
|00002760| 4f 56 20 44 49 2c 20 4f | 46 46 53 45 54 20 44 47 |OV DI, O|FFSET DG|
|00002770| 52 4f 55 50 3a 53 4f 55 | 4e 44 45 58 20 3b 45 53 |ROUP:SOU|NDEX ;ES|
|00002780| 3a 44 49 20 70 6f 69 6e | 74 20 74 6f 20 73 74 61 |:DI poin|t to sta|
|00002790| 72 74 20 6f 66 0d 0a 20 | 20 20 20 20 20 20 20 20 |rt of.. | |
|000027a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027c0| 20 20 3b 53 4f 55 4e 44 | 45 58 0d 0a 20 20 20 20 | ;SOUND|EX.. |
|000027d0| 20 20 20 20 20 20 20 20 | 20 4d 4f 56 20 42 58 2c | | MOV BX,|
|000027e0| 20 4f 46 46 53 45 54 20 | 44 47 52 4f 55 50 3a 54 | OFFSET |DGROUP:T|
|000027f0| 52 41 4e 53 4c 41 54 45 | 20 3b 45 53 3a 42 58 20 |RANSLATE| ;ES:BX |
|00002800| 70 6f 69 6e 74 20 74 6f | 20 54 52 41 4e 53 4c 41 |point to| TRANSLA|
|00002810| 54 45 20 62 61 73 65 0d | 0a 20 20 20 20 20 20 20 |TE base.|. |
|00002820| 20 20 20 20 20 20 43 4c | 44 20 20 20 20 20 20 20 | CL|D |
|00002830| 20 20 20 20 20 20 3b 57 | 6f 72 6b 20 75 70 77 61 | ;W|ork upwa|
|00002840| 72 64 20 69 6e 20 73 74 | 72 69 6e 67 20 69 6e 73 |rd in st|ring ins|
|00002850| 74 72 75 63 74 69 6f 6e | 73 0d 0a 20 0d 0a 20 20 |truction|s.. .. |
|00002860| 20 20 20 20 20 20 20 20 | 20 20 20 41 53 53 55 4d | | ASSUM|
|00002870| 45 20 44 53 3a 4e 4f 54 | 48 49 4e 47 2c 20 45 53 |E DS:NOT|HING, ES|
|00002880| 3a 44 47 52 4f 55 50 0d | 0a 20 20 20 20 20 20 20 |:DGROUP.|. |
|00002890| 20 20 20 20 20 20 3b 4c | 65 74 20 4d 41 53 4d 20 | ;L|et MASM |
|000028a0| 6b 6e 6f 77 20 74 68 61 | 74 20 77 65 27 76 65 20 |know tha|t we've |
|000028b0| 73 77 69 74 63 68 65 64 | 20 73 65 67 20 72 65 67 |switched| seg reg|
|000028c0| 73 20 61 72 6f 75 6e 64 | 0d 0a 20 20 20 20 20 20 |s around|.. |
|000028d0| 20 20 20 20 20 20 20 4d | 4f 56 20 43 58 2c 20 53 | M|OV CX, S|
|000028e0| 58 5f 4c 45 4e 47 54 48 | 20 20 20 3b 4d 61 78 69 |X_LENGTH| ;Maxi|
|000028f0| 6d 75 6d 20 53 4f 55 4e | 44 45 58 20 6c 65 6e 67 |mum SOUN|DEX leng|
|00002900| 74 68 0d 0a 20 0d 0a 46 | 49 52 53 54 5f 4c 54 52 |th.. ..F|IRST_LTR|
|00002910| 3a 20 20 20 4c 4f 44 53 | 42 20 20 20 20 20 20 20 |: LODS|B |
|00002920| 20 20 20 20 3b 47 65 74 | 20 73 74 61 72 74 20 62 | ;Get| start b|
|00002930| 79 74 65 20 66 72 6f 6d | 20 73 74 72 69 6e 67 20 |yte from| string |
|00002940| 74 6f 20 63 6f 6e 76 65 | 72 74 0d 0a 20 20 20 20 |to conve|rt.. |
|00002950| 20 20 20 20 20 20 20 20 | 20 4f 52 20 41 4c 2c 20 | | OR AL, |
|00002960| 41 4c 20 20 20 20 20 20 | 20 3b 41 74 20 65 6e 64 |AL | ;At end|
|00002970| 20 6f 66 20 73 74 72 69 | 6e 67 20 74 6f 20 63 6f | of stri|ng to co|
|00002980| 6e 76 65 72 74 3f 0d 0a | 20 20 20 20 20 20 20 20 |nvert?..| |
|00002990| 20 20 20 20 20 4a 5a 20 | 4c 45 41 56 45 20 20 20 | JZ |LEAVE |
|000029a0| 20 20 20 20 20 3b 4e 55 | 4c 4c 20 73 74 72 69 6e | ;NU|LL strin|
|000029b0| 67 20 6f 72 20 6e 6f 20 | 6c 65 74 74 65 72 73 20 |g or no |letters |
|000029c0| 61 6e 79 77 68 65 72 65 | 20 69 6e 0d 0a 20 20 20 |anywhere| in.. |
|000029d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000029e0| 20 20 20 20 20 20 20 20 | 20 20 3b 73 74 72 69 6e | | ;strin|
|000029f0| 67 2c 20 72 65 74 75 72 | 6e 20 61 20 4e 55 4c 4c |g, retur|n a NULL|
|00002a00| 20 73 74 72 69 6e 67 0d | 0a 20 20 20 20 20 20 20 | string.|. |
|00002a10| 20 20 20 20 20 20 3b 20 | 52 65 61 6c 20 63 68 61 | ; |Real cha|
|00002a20| 72 61 72 61 63 74 65 72 | 20 68 65 72 65 2c 20 62 |raracter| here, b|
|00002a30| 75 74 20 69 73 20 69 74 | 20 61 20 6c 65 74 74 65 |ut is it| a lette|
|00002a40| 72 3f 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |r?.. | |
|00002a50| 20 41 4e 44 20 41 4c 2c | 20 30 44 46 48 20 20 20 | AND AL,| 0DFH |
|00002a60| 20 3b 54 68 69 73 20 63 | 6f 6e 76 65 72 74 73 20 | ;This c|onverts |
|00002a70| 6c 65 74 74 65 72 73 20 | 74 6f 20 75 70 70 65 72 |letters |to upper|
|00002a80| 20 63 61 73 65 2c 0d 0a | 20 20 20 20 20 20 20 20 | case,..| |
|00002a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002aa0| 20 20 20 20 20 3b 64 65 | 73 74 72 6f 79 73 20 6f | ;de|stroys o|
|00002ab0| 74 68 65 72 20 63 68 61 | 72 61 63 74 65 72 73 2e |ther cha|racters.|
|00002ac0| 20 20 42 75 74 20 73 69 | 6e 63 65 0d 0a 20 20 20 | But si|nce.. |
|00002ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ae0| 20 20 20 20 20 20 20 20 | 20 20 3b 77 65 20 64 6f | | ;we do|
|00002af0| 6e 27 74 20 63 61 72 65 | 20 61 62 6f 75 74 20 74 |n't care| about t|
|00002b00| 68 6f 73 65 2c 20 69 74 | 27 73 20 6f 6b 2e 0d 0a |hose, it|'s ok...|
|00002b10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 4d 4f 56 | | MOV|
|00002b20| 20 41 48 2c 20 41 4c 20 | 20 20 20 20 20 3b 53 61 | AH, AL | ;Sa|
|00002b30| 76 65 20 74 68 65 20 70 | 6f 73 73 69 62 6c 65 20 |ve the p|ossible |
|00002b40| 73 74 61 72 74 69 6e 67 | 20 6c 65 74 74 65 72 0d |starting| letter.|
|00002b50| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 53 55 |. | SU|
|00002b60| 42 20 41 4c 2c 20 27 41 | 27 20 20 20 20 20 3b 53 |B AL, 'A|' ;S|
|00002b70| 75 62 74 72 61 63 74 20 | 74 68 65 20 41 53 43 49 |ubtract |the ASCI|
|00002b80| 49 20 76 61 6c 75 65 20 | 6f 66 20 41 20 77 68 69 |I value |of A whi|
|00002b90| 63 68 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ch.. | |
|00002ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002bb0| 20 3b 69 73 20 36 35 2e | 20 54 68 69 73 20 6d 61 | ;is 65.| This ma|
|00002bc0| 6b 65 73 20 41 20 30 2c | 20 42 20 31 2c 20 43 20 |kes A 0,| B 1, C |
|00002bd0| 32 20 65 74 63 2e 0d 0a | 20 20 20 20 20 20 20 20 |2 etc...| |
|00002be0| 20 20 20 20 20 4a 53 20 | 46 49 52 53 54 5f 4c 54 | JS |FIRST_LT|
|00002bf0| 52 20 20 20 20 3b 4e 65 | 67 61 74 69 76 65 2c 20 |R ;Ne|gative, |
|00002c00| 73 6f 20 6e 6f 74 20 61 | 20 6c 65 74 74 65 72 2c |so not a| letter,|
|00002c10| 20 74 72 79 20 61 67 61 | 69 6e 0d 0a 20 20 20 20 | try aga|in.. |
|00002c20| 20 20 20 20 20 20 20 20 | 20 43 4d 50 20 41 4c 2c | | CMP AL,|
|00002c30| 20 27 5a 27 20 2d 20 27 | 41 27 20 20 20 20 20 20 | 'Z' - '|A' |
|00002c40| 20 3b 41 53 43 49 49 20 | 5a 20 6d 69 6e 75 73 20 | ;ASCII |Z minus |
|00002c50| 41 53 43 49 49 20 41 20 | 69 73 20 74 68 65 20 6c |ASCII A |is the l|
|00002c60| 61 72 67 65 73 74 0d 0a | 20 20 20 20 20 20 20 20 |argest..| |
|00002c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 72 65 | | ;re|
|00002c90| 61 6c 20 6c 65 74 74 65 | 72 20 76 61 6c 75 65 2e |al lette|r value.|
|00002ca0| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 4a |.. | J|
|00002cb0| 41 20 46 49 52 53 54 5f | 4c 54 52 20 20 20 20 20 |A FIRST_|LTR |
|00002cc0| 20 20 20 20 20 20 20 3b | 4e 6f 74 20 61 20 6c 65 | ;|Not a le|
|00002cd0| 74 74 65 72 20 65 69 74 | 68 65 72 2c 20 74 72 79 |tter eit|her, try|
|00002ce0| 20 61 67 61 69 6e 0d 0a | 20 20 20 20 20 20 20 20 | again..| |
|00002cf0| 20 20 20 20 20 3b 57 65 | 20 66 6f 75 6e 64 20 61 | ;We| found a|
|00002d00| 20 76 61 6c 69 64 20 55 | 43 20 73 74 61 72 74 69 | valid U|C starti|
|00002d10| 6e 67 20 6c 65 74 74 65 | 72 2e 20 49 74 27 73 20 |ng lette|r. It's |
|00002d20| 62 6f 74 68 20 69 6e 20 | 41 48 20 61 6e 64 20 41 |both in |AH and A|
|00002d30| 4c 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |L.. | |
|00002d40| 58 4c 41 54 20 44 47 52 | 4f 55 50 3a 54 52 41 4e |XLAT DGR|OUP:TRAN|
|00002d50| 53 4c 41 54 45 20 20 20 | 3b 43 6f 6e 76 65 72 74 |SLATE |;Convert|
|00002d60| 20 74 6f 20 53 4f 55 4e | 44 45 58 20 63 6f 64 65 | to SOUN|DEX code|
|00002d70| 20 31 2d 36 20 6f 72 20 | 4e 55 4c 4c 0d 0a 20 20 | 1-6 or |NULL.. |
|00002d80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002d90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002da0| 20 20 20 3b 58 4c 41 54 | 20 61 64 64 73 20 74 68 | ;XLAT| adds th|
|00002db0| 65 20 76 61 6c 75 65 20 | 69 6e 20 41 4c 20 74 6f |e value |in AL to|
|00002dc0| 20 42 58 20 61 6e 64 0d | 0a 20 20 20 20 20 20 20 | BX and.|. |
|00002dd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002de0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 66 | | ;f|
|00002df0| 65 74 63 68 65 73 20 74 | 68 65 20 63 68 61 72 61 |etches t|he chara|
|00002e00| 63 74 65 72 20 70 6f 69 | 6e 74 65 64 20 74 6f 20 |cter poi|nted to |
|00002e10| 62 79 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |by.. | |
|00002e20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e30| 20 20 20 20 20 20 20 20 | 20 3b 28 6e 6f 72 6d 61 | | ;(norma|
|00002e40| 6c 6c 79 29 20 44 53 3a | 42 58 2b 41 4c 2e 20 20 |lly) DS:|BX+AL. |
|00002e50| 53 69 6e 63 65 20 69 6e | 20 74 68 69 73 0d 0a 20 |Since in| this.. |
|00002e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002e80| 20 20 20 20 3b 63 61 73 | 65 20 44 53 20 70 6f 69 | ;cas|e DS poi|
|00002e90| 6e 74 73 20 74 68 65 20 | 4e 4f 54 48 49 4e 47 20 |nts the |NOTHING |
|00002ea0| 61 6e 64 20 45 53 20 74 | 6f 0d 0a 20 20 20 20 20 |and ES t|o.. |
|00002eb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002ed0| 3b 44 47 52 4f 55 50 2c | 20 4d 41 53 4d 20 69 73 |;DGROUP,| MASM is|
|00002ee0| 20 73 6d 61 72 74 20 65 | 6e 6f 75 67 68 20 74 6f | smart e|nough to|
|00002ef0| 20 6d 61 6b 65 0d 0a 20 | 20 20 20 20 20 20 20 20 | make.. | |
|00002f00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f10| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 61 20 73 | | ;a s|
|00002f20| 65 67 6d 65 6e 74 20 6f | 76 65 72 72 69 64 65 20 |egment o|verride |
|00002f30| 73 6f 20 74 68 61 74 20 | 58 4c 41 54 20 67 65 74 |so that |XLAT get|
|00002f40| 73 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s.. | |
|00002f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002f60| 20 20 20 20 20 20 20 20 | 3b 74 68 65 20 62 79 74 | |;the byt|
|00002f70| 65 20 61 74 20 45 53 3a | 42 58 2b 41 4c 20 61 6e |e at ES:|BX+AL an|
|00002f80| 64 20 70 75 74 73 20 69 | 74 20 69 6e 0d 0a 20 20 |d puts i|t in.. |
|00002f90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002fb0| 20 20 20 3b 41 4c 2e 20 | 28 52 65 70 6c 61 63 69 | ;AL. |(Replaci|
|00002fc0| 6e 67 20 74 68 65 20 6f | 72 69 67 69 6e 61 6c 20 |ng the o|riginal |
|00002fd0| 70 6f 69 6e 74 65 72 29 | 0d 0a 20 0d 0a 20 20 20 |pointer)|.. .. |
|00002fe0| 20 20 20 20 20 20 20 20 | 20 20 58 43 48 47 20 41 | | XCHG A|
|00002ff0| 48 2c 20 41 4c 20 20 20 | 20 20 3b 41 66 74 65 72 |H, AL | ;After|
|00003000| 20 73 77 69 74 63 68 2c | 20 41 48 20 68 6f 6c 64 | switch,| AH hold|
|00003010| 73 20 63 6f 64 65 2c 0d | 0a 20 20 20 20 20 20 20 |s code,.|. |
|00003020| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003030| 20 20 20 20 20 20 3b 41 | 4c 20 74 68 65 20 55 43 | ;A|L the UC|
|00003040| 20 73 74 61 72 74 69 6e | 67 20 6c 65 74 74 65 72 | startin|g letter|
|00003050| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 53 |.. | S|
|00003060| 54 4f 53 42 20 20 20 20 | 20 20 20 20 20 20 20 3b |TOSB | ;|
|00003070| 50 75 74 20 66 69 72 73 | 74 20 6c 65 74 74 65 72 |Put firs|t letter|
|00003080| 20 69 6e 74 6f 20 53 4f | 55 4e 44 45 58 0d 0a 20 | into SO|UNDEX.. |
|00003090| 20 20 20 20 20 20 20 20 | 20 20 20 20 4c 4f 4f 50 | | LOOP|
|000030a0| 20 44 49 47 49 54 53 20 | 20 20 20 20 3b 44 65 63 | DIGITS | ;Dec|
|000030b0| 72 65 6d 65 6e 74 20 43 | 58 20 61 6e 64 20 6a 75 |rement C|X and ju|
|000030c0| 6d 70 20 74 6f 20 61 63 | 74 75 61 6c 0d 0a 20 20 |mp to ac|tual.. |
|000030d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000030e0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 64 69 67 69 | | ;digi|
|000030f0| 74 20 63 6f 6e 76 65 72 | 73 69 6f 6e 2e 20 53 6b |t conver|sion. Sk|
|00003100| 69 70 20 6f 76 65 72 20 | 6f 6e 65 0d 0a 20 20 20 |ip over |one.. |
|00003110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003120| 20 20 20 20 20 20 20 20 | 20 20 3b 70 69 65 63 65 | | ;piece|
|00003130| 20 6f 66 20 63 6f 64 65 | 2e 0d 0a 20 0d 0a 45 52 | of code|... ..ER|
|00003140| 52 5f 44 49 47 49 54 53 | 3a 20 20 53 55 42 20 41 |R_DIGITS|: SUB A|
|00003150| 48 2c 20 41 48 20 20 20 | 20 20 20 3b 4a 75 6d 70 |H, AH | ;Jump|
|00003160| 20 74 6f 20 68 65 72 65 | 20 6f 6e 6c 79 20 77 68 | to here| only wh|
|00003170| 65 6e 20 6c 6f 6f 70 69 | 6e 67 20 62 61 63 6b 0d |en loopi|ng back.|
|00003180| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00003190| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 61 | | ;a|
|000031a0| 6e 64 20 77 65 20 77 61 | 6e 74 20 74 6f 20 63 6c |nd we wa|nt to cl|
|000031b0| 65 61 72 20 6f 75 74 20 | 66 61 6c 73 65 0d 0a 20 |ear out |false.. |
|000031c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000031d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 27 70 72 | | ;'pr|
|000031e0| 65 76 69 6f 75 73 27 20 | 6c 65 74 74 65 72 20 6d |evious' |letter m|
|000031f0| 61 74 63 68 65 73 20 69 | 66 0d 0a 20 20 20 20 20 |atches i|f.. |
|00003200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003210| 20 20 20 20 20 20 20 20 | 3b 74 68 65 72 65 20 61 | |;there a|
|00003220| 72 65 20 6e 6f 6e 2d 6c | 65 74 74 65 72 73 20 69 |re non-l|etters i|
|00003230| 6e 20 62 65 74 77 65 65 | 6e 2e 0d 0a 20 0d 0a 44 |n betwee|n... ..D|
|00003240| 49 47 49 54 53 3a 20 20 | 20 20 20 20 4c 4f 44 53 |IGITS: | LODS|
|00003250| 42 20 20 20 20 20 20 20 | 20 20 20 20 3b 47 65 74 |B | ;Get|
|00003260| 20 74 68 65 20 6e 65 78 | 74 20 63 68 61 72 61 63 | the nex|t charac|
|00003270| 74 65 72 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |ter.. | |
|00003280| 20 20 4f 52 20 41 4c 2c | 20 41 4c 20 20 20 20 20 | OR AL,| AL |
|00003290| 20 20 3b 4f 52 69 6e 67 | 20 61 20 76 61 6c 75 65 | ;ORing| a value|
|000032a0| 20 69 73 20 74 68 65 20 | 66 61 73 74 65 73 74 20 | is the |fastest |
|000032b0| 77 61 79 20 74 6f 0d 0a | 20 20 20 20 20 20 20 20 |way to..| |
|000032c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000032d0| 20 20 20 20 20 3b 66 69 | 6e 64 20 6f 75 74 20 69 | ;fi|nd out i|
|000032e0| 66 20 69 74 27 73 20 4e | 55 4c 4c 20 28 65 6e 64 |f it's N|ULL (end|
|000032f0| 20 6f 66 20 73 74 72 69 | 6e 67 29 0d 0a 20 20 20 | of stri|ng).. |
|00003300| 20 20 20 20 20 20 20 20 | 20 20 4a 5a 20 41 4c 4c | | JZ ALL|
|00003310| 5f 44 4f 4e 45 20 20 20 | 20 20 3b 54 72 61 69 6c |_DONE | ;Trail|
|00003320| 69 6e 67 20 4e 55 4c 4c | 20 64 65 74 65 63 74 65 |ing NULL| detecte|
|00003330| 64 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |d.. | |
|00003340| 3b 4e 6f 74 20 61 74 20 | 65 6e 64 20 6f 66 20 73 |;Not at |end of s|
|00003350| 74 72 69 6e 67 20 74 6f | 20 63 6f 6e 76 65 72 74 |tring to| convert|
|00003360| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 41 |.. | A|
|00003370| 4e 44 20 41 4c 2c 20 30 | 44 46 48 20 20 20 20 3b |ND AL, 0|DFH ;|
|00003380| 43 6f 6e 76 65 72 74 20 | 74 6f 20 55 43 0d 0a 20 |Convert |to UC.. |
|00003390| 20 20 20 20 20 20 20 20 | 20 20 20 20 53 55 42 20 | | SUB |
|000033a0| 41 4c 2c 20 27 41 27 20 | 20 20 20 20 3b 53 75 62 |AL, 'A' | ;Sub|
|000033b0| 74 72 61 63 74 20 41 53 | 43 49 49 20 27 41 27 0d |tract AS|CII 'A'.|
|000033c0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 4a 53 |. | JS|
|000033d0| 20 45 52 52 5f 44 49 47 | 49 54 53 20 20 20 3b 4e | ERR_DIG|ITS ;N|
|000033e0| 65 67 61 74 69 76 65 2c | 20 6e 6f 74 20 61 20 6c |egative,| not a l|
|000033f0| 65 74 74 65 72 0d 0a 20 | 20 20 20 20 20 20 20 20 |etter.. | |
|00003400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003410| 20 20 20 20 3b 43 6c 65 | 61 72 20 6f 75 74 20 70 | ;Cle|ar out p|
|00003420| 72 65 76 69 6f 75 73 20 | 63 6f 64 65 20 69 6e 20 |revious |code in |
|00003430| 41 48 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |AH.. | |
|00003440| 20 43 4d 50 20 41 4c 2c | 20 27 5a 27 20 2d 20 27 | CMP AL,| 'Z' - '|
|00003450| 41 27 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |A'.. | |
|00003460| 20 4a 41 20 45 52 52 5f | 44 49 47 49 54 53 20 20 | JA ERR_|DIGITS |
|00003470| 20 3b 4e 6f 74 20 61 20 | 6c 65 74 74 65 72 20 65 | ;Not a |letter e|
|00003480| 69 74 68 65 72 2c 20 63 | 6c 65 61 72 20 70 72 65 |ither, c|lear pre|
|00003490| 76 69 6f 75 73 0d 0a 20 | 20 20 20 20 20 20 20 20 |vious.. | |
|000034a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000034b0| 20 20 20 20 3b 63 6f 64 | 65 20 69 6e 20 41 48 0d | ;cod|e in AH.|
|000034c0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 56 |. | ;V|
|000034d0| 61 6c 69 64 20 55 43 20 | 6c 65 74 74 65 72 20 69 |alid UC |letter i|
|000034e0| 6e 20 41 4c 2c 20 27 70 | 72 65 76 69 6f 75 73 27 |n AL, 'p|revious'|
|000034f0| 20 63 6f 64 65 20 69 6e | 20 41 48 0d 0a 20 20 20 | code in| AH.. |
|00003500| 20 20 20 20 20 20 20 20 | 20 20 58 4c 41 54 20 44 | | XLAT D|
|00003510| 47 52 4f 55 50 3a 54 52 | 41 4e 53 4c 41 54 45 20 |GROUP:TR|ANSLATE |
|00003520| 20 20 3b 43 6f 6e 76 65 | 72 74 20 74 6f 20 53 4f | ;Conve|rt to SO|
|00003530| 55 4e 44 45 58 20 63 6f | 64 65 20 6f 72 20 4e 55 |UNDEX co|de or NU|
|00003540| 4c 4c 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |LL.. | |
|00003550| 20 43 4d 50 20 41 48 2c | 20 41 4c 20 20 20 20 20 | CMP AH,| AL |
|00003560| 20 3b 53 61 6d 65 20 63 | 6f 64 65 20 61 73 20 70 | ;Same c|ode as p|
|00003570| 72 65 76 69 6f 75 73 20 | 6c 65 74 74 65 72 3f 0d |revious |letter?.|
|00003580| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 4a 45 |. | JE|
|00003590| 20 44 49 47 49 54 53 20 | 20 20 20 20 20 20 3b 59 | DIGITS | ;Y|
|000035a0| 65 73 2c 20 64 75 70 6c | 69 63 61 74 65 2c 20 64 |es, dupl|icate, d|
|000035b0| 6f 6e 27 74 20 61 64 64 | 20 74 6f 20 53 4f 55 4e |on't add| to SOUN|
|000035c0| 44 45 58 0d 0a 20 20 20 | 20 20 20 20 20 20 20 20 |DEX.. | |
|000035d0| 20 20 3b 4e 65 77 20 63 | 6f 64 65 2c 20 6e 6f 74 | ;New c|ode, not|
|000035e0| 20 61 20 64 75 70 6c 69 | 63 61 74 65 0d 0a 20 20 | a dupli|cate.. |
|000035f0| 20 20 20 20 20 20 20 20 | 20 20 20 4d 4f 56 20 41 | | MOV A|
|00003600| 48 2c 20 41 4c 20 20 20 | 20 20 20 3b 53 61 76 65 |H, AL | ;Save|
|00003610| 20 69 74 20 61 73 20 74 | 68 65 20 6e 65 77 20 27 | it as t|he new '|
|00003620| 70 72 65 76 69 6f 75 73 | 27 20 63 6f 64 65 0d 0a |previous|' code..|
|00003630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 4f 52 20 | | OR |
|00003640| 41 4c 2c 20 41 4c 20 20 | 20 20 20 20 20 3b 49 73 |AL, AL | ;Is|
|00003650| 20 69 74 20 61 20 72 65 | 61 6c 20 6f 72 20 61 20 | it a re|al or a |
|00003660| 6e 75 6c 6c 20 63 6f 64 | 65 3f 0d 0a 20 20 20 20 |null cod|e?.. |
|00003670| 20 20 20 20 20 20 20 20 | 20 4a 5a 20 44 49 47 49 | | JZ DIGI|
|00003680| 54 53 20 20 20 20 20 20 | 20 3b 4e 75 6c 6c 20 63 |TS | ;Null c|
|00003690| 6f 64 65 2c 20 64 6f 6e | 27 74 20 61 64 64 20 74 |ode, don|'t add t|
|000036a0| 6f 20 53 4f 55 4e 44 45 | 58 0d 0a 20 0d 0a 20 20 |o SOUNDE|X.. .. |
|000036b0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 56 61 6c 69 | | ;Vali|
|000036c0| 64 20 63 6f 64 65 20 69 | 6e 20 41 4c 2c 20 6e 6f |d code i|n AL, no|
|000036d0| 74 20 74 68 65 20 73 61 | 6d 65 20 61 73 20 70 72 |t the sa|me as pr|
|000036e0| 65 76 69 6f 75 73 2c 20 | 61 64 64 20 74 6f 20 53 |evious, |add to S|
|000036f0| 4f 55 4e 44 45 58 0d 0a | 20 20 20 20 20 20 20 20 |OUNDEX..| |
|00003700| 20 20 20 20 20 53 54 4f | 53 42 0d 0a 20 20 20 20 | STO|SB.. |
|00003710| 20 20 20 20 20 20 20 20 | 20 4c 4f 4f 50 20 44 49 | | LOOP DI|
|00003720| 47 49 54 53 20 20 20 20 | 20 3b 43 6f 6e 74 69 6e |GITS | ;Contin|
|00003730| 75 65 20 75 6e 74 69 6c | 20 53 58 5f 4c 45 4e 47 |ue until| SX_LENG|
|00003740| 54 48 20 69 6e 20 53 4f | 55 4e 44 45 58 0d 0a 20 |TH in SO|UNDEX.. |
|00003750| 0d 0a 20 0d 0a 41 4c 4c | 5f 44 4f 4e 45 3a 20 20 |.. ..ALL|_DONE: |
|00003760| 20 20 4a 43 58 5a 20 4c | 45 41 56 45 20 20 20 20 | JCXZ L|EAVE |
|00003770| 20 20 3b 43 6f 6d 70 6c | 65 74 65 20 73 6f 75 6e | ;Compl|ete soun|
|00003780| 64 65 78 2c 20 43 58 20 | 63 6f 75 6e 74 65 64 20 |dex, CX |counted |
|00003790| 64 6f 77 6e 0d 0a 20 20 | 20 20 20 20 20 20 20 20 |down.. | |
|000037a0| 20 20 20 4d 4f 56 20 41 | 4c 2c 20 44 47 52 4f 55 | MOV A|L, DGROU|
|000037b0| 50 3a 5b 46 49 4c 4c 45 | 52 5d 20 3b 20 27 20 27 |P:[FILLE|R] ; ' '|
|000037c0| 20 6f 72 20 27 30 27 0d | 0a 20 20 20 20 20 20 20 | or '0'.|. |
|000037d0| 20 20 20 20 20 20 52 45 | 50 20 53 54 4f 53 42 20 | RE|P STOSB |
|000037e0| 20 20 20 20 20 20 3b 46 | 69 6c 6c 20 72 65 6d 61 | ;F|ill rema|
|000037f0| 69 6e 64 65 72 20 6f 66 | 20 53 4f 55 4e 44 45 58 |inder of| SOUNDEX|
|00003800| 20 77 69 74 68 20 46 49 | 4c 4c 45 52 0d 0a 20 0d | with FI|LLER.. .|
|00003810| 0a 4c 45 41 56 45 3a 20 | 20 20 20 20 20 20 50 4f |.LEAVE: | PO|
|00003820| 50 20 44 53 20 20 20 20 | 20 20 20 20 20 20 3b 52 |P DS | ;R|
|00003830| 65 73 74 6f 72 65 20 44 | 47 52 4f 55 50 20 73 65 |estore D|GROUP se|
|00003840| 67 6d 65 6e 74 20 69 6e | 74 6f 20 44 53 0d 0a 20 |gment in|to DS.. |
|00003850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003860| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 43 6c 69 | | ;Cli|
|00003870| 70 70 65 72 20 72 6f 75 | 74 69 6e 65 73 2c 20 73 |pper rou|tines, s|
|00003880| 75 63 68 20 61 73 20 5f | 5f 52 45 54 43 0d 0a 20 |uch as _|_RETC.. |
|00003890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000038a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 65 78 70 | | ;exp|
|000038b0| 65 63 74 20 44 53 20 74 | 6f 20 62 65 20 70 6f 69 |ect DS t|o be poi|
|000038c0| 6e 74 69 6e 67 20 74 6f | 20 44 47 52 4f 55 50 0d |nting to| DGROUP.|
|000038d0| 0a 20 0d 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |. .. | |
|000038e0| 20 50 55 53 48 20 44 53 | 20 20 20 20 20 20 20 20 | PUSH DS| |
|000038f0| 20 3b 50 75 73 68 20 73 | 65 67 6d 65 6e 74 20 6f | ;Push s|egment o|
|00003900| 66 20 53 4f 55 4e 44 45 | 58 20 73 74 72 69 6e 67 |f SOUNDE|X string|
|00003910| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 4d |.. | M|
|00003920| 4f 56 20 41 58 2c 20 4f | 46 46 53 45 54 20 44 47 |OV AX, O|FFSET DG|
|00003930| 52 4f 55 50 3a 53 4f 55 | 4e 44 45 58 0d 0a 20 20 |ROUP:SOU|NDEX.. |
|00003940| 20 20 20 20 20 20 20 20 | 20 20 20 50 55 53 48 20 | | PUSH |
|00003950| 41 58 20 20 20 20 20 20 | 20 20 20 3b 41 6e 64 20 |AX | ;And |
|00003960| 70 75 73 68 20 74 68 65 | 20 6f 66 66 73 65 74 20 |push the| offset |
|00003970| 6f 66 20 53 4f 55 4e 44 | 45 58 0d 0a 20 20 20 20 |of SOUND|EX.. |
|00003980| 20 20 20 20 20 20 20 20 | 20 43 41 4c 4c 20 5f 5f | | CALL __|
|00003990| 52 45 54 43 20 20 20 20 | 20 3b 52 65 74 75 72 6e |RETC | ;Return|
|000039a0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 53 4f 55 4e | pointer| to SOUN|
|000039b0| 44 45 58 20 74 6f 20 43 | 6c 69 70 70 65 72 0d 0a |DEX to C|lipper..|
|000039c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 41 44 44 | | ADD|
|000039d0| 20 53 50 2c 20 34 20 20 | 20 20 20 20 20 3b 43 6c | SP, 4 | ;Cl|
|000039e0| 65 61 6e 20 75 70 20 73 | 74 61 63 6b 0d 0a 20 0d |ean up s|tack.. .|
|000039f0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 44 |. | ;D|
|00003a00| 53 20 61 6c 72 65 61 64 | 79 20 70 6f 70 70 65 64 |S alread|y popped|
|00003a10| 20 61 62 6f 76 65 0d 0a | 20 20 20 20 20 20 20 20 | above..| |
|00003a20| 20 20 20 20 20 50 4f 50 | 20 45 53 20 20 20 20 20 | POP| ES |
|00003a30| 20 20 20 20 20 3b 47 65 | 74 20 72 65 6d 61 69 6e | ;Ge|t remain|
|00003a40| 64 65 72 20 6f 66 20 73 | 61 76 65 64 20 72 65 67 |der of s|aved reg|
|00003a50| 69 73 74 65 72 73 20 62 | 61 63 6b 0d 0a 20 20 20 |isters b|ack.. |
|00003a60| 20 20 20 20 20 20 20 20 | 20 20 50 4f 50 20 53 49 | | POP SI|
|00003a70| 0d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 50 |.. | P|
|00003a80| 4f 50 20 44 49 0d 0a 20 | 20 20 20 20 20 20 20 20 |OP DI.. | |
|00003a90| 20 20 20 20 50 4f 50 20 | 42 50 0d 0a 20 20 20 20 | POP |BP.. |
|00003aa0| 20 20 20 20 20 20 20 20 | 20 52 45 54 20 20 20 20 | | RET |
|00003ab0| 20 20 20 20 20 20 20 20 | 20 3b 47 6f 20 62 61 63 | | ;Go bac|
|00003ac0| 6b 20 74 6f 20 43 6c 69 | 70 70 65 72 0d 0a 20 0d |k to Cli|pper.. .|
|00003ad0| 0a 53 4f 55 4e 44 45 58 | 41 20 20 20 20 20 45 4e |.SOUNDEX|A EN|
|00003ae0| 44 50 0d 0a 5f 50 52 4f | 47 20 20 20 20 20 20 20 |DP.._PRO|G |
|00003af0| 20 45 4e 44 53 0d 0a 20 | 20 20 20 20 20 20 20 20 | ENDS.. | |
|00003b00| 20 20 20 20 45 4e 44 0d | 0a 1a 60 ea 2c 00 1e 06 | END.|..`.,...|
|00003b10| 01 00 10 00 00 0c 43 b6 | 57 10 9a 01 00 00 9a 01 |......C.|W.......|
|00003b20| 00 00 76 d2 e9 2e 00 00 | 20 00 00 00 53 4f 55 4e |..v.....| ...SOUN|
|00003b30| 44 45 58 41 2e 4f 42 4a | 00 00 c7 42 41 b9 00 00 |DEXA.OBJ|...BA...|
|00003b40| 80 0e 00 0c 73 6f 75 6e | 64 65 78 61 2e 41 53 4d |....soun|dexa.ASM|
|00003b50| f0 96 20 00 00 06 44 47 | 52 4f 55 50 04 44 41 54 |.. ...DG|ROUP.DAT|
|00003b60| 41 04 43 4f 44 45 05 5f | 50 52 4f 47 06 44 41 54 |A.CODE._|PROG.DAT|
|00003b70| 41 53 47 e0 98 07 00 48 | 20 00 06 03 01 ef 98 07 |ASG....H| .......|
|00003b80| 00 28 a8 00 05 04 01 87 | 9a 04 00 02 ff 01 60 8c |.(......|......`.|
|00003b90| 1c 00 06 5f 5f 50 41 52 | 43 00 06 5f 5f 52 45 54 |...__PAR|C..__RET|
|00003ba0| 43 00 09 5f 5f 50 41 52 | 49 4e 46 4f 00 a6 90 0f |C..__PAR|INFO....|
|00003bb0| 00 00 02 08 53 4f 55 4e | 44 45 58 41 00 00 00 f0 |....SOUN|DEXA....|
|00003bc0| 88 04 00 00 a2 01 d1 a0 | 20 00 01 04 00 00 20 00 |........| ..... .|
|00003bd0| 31 32 33 00 31 32 00 00 | 32 32 34 35 35 00 31 32 |123.12..|22455.12|
|00003be0| 36 32 33 00 31 00 32 00 | 32 8d a0 ac 00 02 00 00 |623.1.2.|2.......|
|00003bf0| 55 57 56 06 1e c6 06 00 | 00 00 2b c0 50 9a 00 00 |UWV.....|..+.P...|
|00003c00| 00 00 83 c4 02 3d 01 00 | 74 22 3d 02 00 75 76 50 |.....=..|t"=..uvP|
|00003c10| 9a 00 00 00 00 83 c4 02 | 8e c2 8b d8 b0 20 26 80 |........|..... &.|
|00003c20| 3f 30 75 02 b0 30 a2 00 | 00 b8 01 00 50 9a 00 00 |?0u..0..|....P...|
|00003c30| 00 00 83 c4 02 1e 07 8e | da 8b f0 bf 00 00 bb 00 |........|........|
|00003c40| 00 fc b9 04 00 ac 0a c0 | 74 3b 24 df 8a e0 2c 41 |........|t;$...,A|
|00003c50| 78 f3 3c 19 77 ef 26 d7 | 86 e0 aa e2 02 2a e4 ac |x.<.w.&.|.....*..|
|00003c60| 0a c0 74 19 24 df 2c 41 | 78 f3 3c 19 77 ef 26 d7 |..t.$.,A|x.<.w.&.|
|00003c70| 3a e0 74 eb 8a e0 0a c0 | 74 e5 aa e2 e2 e3 06 26 |:.t.....|t......&|
|00003c80| a0 00 00 f3 aa 1f 1e b8 | 00 00 50 9a 00 00 00 00 |........|..P.....|
|00003c90| 83 c4 04 07 5e 5f 5d cb | 29 9c 39 00 c4 07 14 01 |....^_].|).9.....|
|00003ca0| 01 cc 0e 26 03 03 cc 21 | 26 01 01 c4 37 10 01 01 |...&...!|&...7...|
|00003cb0| 05 00 cc 3e 26 01 01 c4 | 4c 14 01 01 c4 4f 10 01 |...>&...|L....O..|
|00003cc0| 01 06 00 c4 91 10 01 01 | 05 00 c4 98 14 01 01 cc |........|........|
|00003cd0| 9c 26 02 02 2a 8a 02 00 | 00 74 60 ea 00 00 |.&..*...|.t`... |
+--------+-------------------------+-------------------------+--------+--------+