home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / PROGRAMS / SORT / SSORT.LBR / SORTORDR.AQM / SORTORDR.ASM
Assembly Source File  |  2000-06-30  |  11KB  |  583 lines

  1.     ; ============================================================
  2.     ; File: SORTORDR.ASM - Harvey Moran 2/26/84
  3.     ; ============================================================
  4.     ; Use the following instructions to generate
  5.     ; the collating sequence file for SSORT.COM
  6.     ; 
  7.     ; ASM SORTORDR.ddZ
  8.     ; LOAD SORTORDR
  9.     ; REN SSORT.OVL=SORTORDR.COM
  10.     ;
  11.     ; ============================================================
  12.     ; ============================================================
  13.     ; Collating Sequences
  14.     ; Number    Description
  15.     ; ------    ------------
  16.     ; 0        REVerse Lexicographical
  17.     ; 1        ASCII
  18.     ; 2        REVerse ASCII
  19.     ; ============================================================
  20.     ;
  21.     org    100h
  22.     ;
  23. IGNORE    equ    255
  24. X    equ    IGNORE        ; synonym
  25.     ;
  26.     ; REVerse Lexicographical order collating sequence
  27.     ;
  28.     db    0,X,X,X,X,X,X,X        ; ^@^A^B^C^D^E^F^G
  29.     db    X,X,X,X,X,X,X,X        ; ^H^I^J^K^L^M^N^O
  30.     db    X,X,X,X,X,X,X,X        ; ^P^Q^R^S^T^U^V^W
  31.     db    X,X,X,X,X,X,X,X        ; ^X^Y^Z^[^\^]^^^_
  32.     db    1,X,X,X,X,X,X,X        ; <sp><EXCLAIM>"#$%&'
  33.     db    X,X,X,X,X,X,X,X        ; ()*+,-./
  34.     db    63,62,61,60,59,58,57,56    ; 01234567
  35.     db    55,54,X,X,X,X,X,X    ; 89:;<=>?
  36.     db    X,53,51,49,47,45,43,41    ; @ABCDEFG
  37.     db    39,37,35,33,31,29,27,25    ; HIJKLMNO
  38.     db    23,21,19,17,15,13,11,9    ; PQRSTUVW
  39.     db    7,5,3,X,X,X,X,X        ; XYZ[\]^_
  40.     db    X,52,50,48,46,44,42,40    ; `abcdefg
  41.     db    38,36,34,32,30,28,26,24    ; hijklmno
  42.     db    22,20,18,16,14,12,10,8    ; pqrstuvw
  43.     db    6,4,2,X,X,X,X,X        ; xyz{|}~<del>
  44.     ; Msb set byte indices
  45.     db    X,X,X,X,X,X,X,X        ; ^@^A^B^C^D^E^F^G
  46.     db    X,X,X,X,X,X,X,X        ; ^H^I^J^K^L^M^N^O
  47.     db    X,X,X,X,X,X,X,X        ; ^P^Q^R^S^T^U^V^W
  48.     db    X,X,X,X,X,X,X,X        ; ^X^Y^Z^[^\^]^^^_
  49.     db    X,X,X,X,X,X,X,X        ; <sp><EXCLAIM>"#$%&'
  50.     db    X,X,X,X,X,X,X,X        ; ()*+,-./
  51.     db    X,X,X,X,X,X,X,X        ; 01234567
  52.     db    X,X,X,X,X,X,X,X        ; 89:;<=>?
  53.     db    X,X,X,X,X,X,X,X        ; @ABCDEFG
  54.     db    X,X,X,X,X,X,X,X        ; HIJKLMNO
  55.     db    X,X,X,X,X,X,X,X        ; PQRSTUVW
  56.     db    X,X,X,X,X,X,X,X        ; XYZ[\]^_
  57.     db    X,X,X,X,X,X,X,X        ; `abcdefg
  58.     db    X,X,X,X,X,X,X,X        ; hijklmno
  59.     db    X,X,X,X,X,X,X,X        ; pqrstuvw
  60.     db    X,X,X,X,X,X,X,X        ; xyz{|}~<del>
  61.     ;
  62.     ;
  63.     ; ASCII collating sequence
  64.     ;
  65.     db      0    ;  00 ^@ -- DON'T TOUCH -- so C can find end of string
  66.     db      1    ;  01 ^A
  67.     db      2    ;  02 ^B
  68.     db      3    ;  03 ^C
  69.     db      4    ;  04 ^D
  70.     db      5    ;  05 ^E
  71.     db      6    ;  06 ^F
  72.     db      7    ;  07 ^G
  73.     db      8    ;  08 ^H
  74.     db      9    ;  09 ^I (tab)
  75.     db     10    ;  0A ^J (linefeed)
  76.     db     11    ;  0B ^K
  77.     db     12    ;  0C ^L (formfeed)
  78.     db     13    ;  0D ^M (carriage return)
  79.     db     14    ;  0E ^N
  80.     db     15    ;  0F ^O
  81.     db     16    ;  10 ^P
  82.     db     17    ;  11 ^Q
  83.     db     18    ;  12 ^R
  84.     db     19    ;  13 ^S
  85.     db     20    ;  14 ^T
  86.     db     21    ;  15 ^U
  87.     db     22    ;  16 ^V
  88.     db     23    ;  17 ^W
  89.     db     24    ;  18 ^X
  90.     db     25    ;  19 ^Y
  91.     db     26    ;  1A ^Z
  92.     db     27    ;  1B ^[ (ESCape)
  93.     db     28    ;  1C ^\
  94.     db     29    ;  1D ^]
  95.     db     30    ;  1E ^^
  96.     db     31    ;  1F ^_
  97.     db     32    ;  20 (space)
  98.     db     33    ;  21 !
  99.     db     34    ;  22 "
  100.     db     35    ;  23 #
  101.     db     36    ;  24 $
  102.     db     37    ;  25 %
  103.     db     38    ;  26 &
  104.     db     39    ;  27 ' (single quote)
  105.     db     40    ;  28 (
  106.     db     41    ;  29 )
  107.     db     42    ;  2A *
  108.     db     43    ;  2B +
  109.     db     44    ;  2C , (comma)
  110.     db     45    ;  2D -
  111.     db     46    ;  2E .
  112.     db     47    ;  2F /
  113.     db     48    ;  30 0
  114.     db     49    ;  31 1
  115.     db     50    ;  32 2
  116.     db     51    ;  33 3
  117.     db     52    ;  34 4
  118.     db     53    ;  35 5
  119.     db     54    ;  36 6
  120.     db     55    ;  37 7
  121.     db     56    ;  38 8
  122.     db     57    ;  39 9
  123.     db     58    ;  3A :
  124.     db     59    ;  3B ;
  125.     db     60    ;  3C <
  126.     db     61    ;  3D =
  127.     db     62    ;  3E >
  128.     db     63    ;  3F ?
  129.     db     64    ;  40 @
  130.     db     65    ;  41 A
  131.     db     66    ;  42 B
  132.     db     67    ;  43 C
  133.     db     68    ;  44 D
  134.     db     69    ;  45 E
  135.     db     70    ;  46 F
  136.     db     71    ;  47 G
  137.     db     72    ;  48 H
  138.     db     73    ;  49 I
  139.     db     74    ;  4A J
  140.     db     75    ;  4B K
  141.     db     76    ;  4C L
  142.     db     77    ;  4D M
  143.     db     78    ;  4E N
  144.     db     79    ;  4F O
  145.     db     80    ;  50 P
  146.     db     81    ;  51 Q
  147.     db     82    ;  52 R
  148.     db     83    ;  53 S
  149.     db     84    ;  54 T
  150.     db     85    ;  55 U
  151.     db     86    ;  56 V
  152.     db     87    ;  57 W
  153.     db     88    ;  58 X
  154.     db     89    ;  59 Y
  155.     db     90    ;  5A Z
  156.     db     91    ;  5B [
  157.     db     92    ;  5C \
  158.     db     93    ;  5D ]
  159.     db     94    ;  5E ^
  160.     db     95    ;  5F _ (underscore)
  161.     db     96    ;  60   (back quote)
  162.     db     97    ;  61 a
  163.     db     98    ;  62 b
  164.     db     99    ;  63 c
  165.     db    100    ;  64 d
  166.     db    101    ;  65 e
  167.     db    102    ;  66 f
  168.     db    103    ;  67 g
  169.     db    104    ;  68 h
  170.     db    105    ;  69 i
  171.     db    106    ;  6A j
  172.     db    107    ;  6B k
  173.     db    108    ;  6C l
  174.     db    109    ;  6D m
  175.     db    110    ;  6E n
  176.     db    111    ;  6F o
  177.     db    112    ;  70 p
  178.     db    113    ;  71 q
  179.     db    114    ;  72 r
  180.     db    115    ;  73 s
  181.     db    116    ;  74 t
  182.     db    117    ;  75 u
  183.     db    118    ;  76 v
  184.     db    119    ;  77 w
  185.     db    120    ;  78 x
  186.     db    121    ;  79 y
  187.     db    122    ;  7A z
  188.     db    123    ;  7B {
  189.     db    124    ;  7C |
  190.     db    125    ;  7D }
  191.     db    126    ;  7E ~
  192.     db    127    ;  7F
  193.     db    128    ;  80
  194.     db    129    ;  81
  195.     db    130    ;  82
  196.     db    131    ;  83
  197.     db    132    ;  84
  198.     db    133    ;  85
  199.     db    134    ;  86
  200.     db    135    ;  87
  201.     db    136    ;  88
  202.     db    137    ;  89
  203.     db    137    ;  8A
  204.     db    139    ;  8B
  205.     db    140    ;  8C
  206.     db    141    ;  8D
  207.     db    142    ;  8E
  208.     db    143    ;  8F
  209.     db    144    ;  90
  210.     db    145    ;  91
  211.     db    146    ;  92
  212.     db    147    ;  93
  213.     db    148    ;  94
  214.     db    149    ;  95
  215.     db    150    ;  96
  216.     db    151    ;  97
  217.     db    152    ;  98
  218.     db    153    ;  99
  219.     db    154    ;  9A
  220.     db    155    ;  9B
  221.     db    156    ;  9C
  222.     db    157    ;  9D
  223.     db    158    ;  9E
  224.     db    159    ;  9F
  225.     db    160    ;  A0
  226.     db    161    ;  A1
  227.     db    162    ;  A2
  228.     db    163    ;  A3
  229.     db    164    ;  A4
  230.     db    165    ;  A5
  231.     db    166    ;  A6
  232.     db    167    ;  A7
  233.     db    168    ;  A8
  234.     db    169    ;  A9
  235.     db    170    ;  AA
  236.     db    171    ;  AB
  237.     db    172    ;  AC
  238.     db    173    ;  AD
  239.     db    174    ;  AE
  240.     db    175    ;  AF
  241.     db    176    ;  B0
  242.     db    177    ;  B1
  243.     db    178    ;  B2
  244.     db    179    ;  B3
  245.     db    180    ;  B4
  246.     db    181    ;  B5
  247.     db    182    ;  B6
  248.     db    183    ;  B7
  249.     db    184    ;  B8
  250.     db    185    ;  B9
  251.     db    186    ;  BA
  252.     db    187    ;  BB
  253.     db    188    ;  BC
  254.     db    189    ;  BD
  255.     db    190    ;  BE
  256.     db    191    ;  BF
  257.     db    192    ;  C0
  258.     db    193    ;  C1
  259.     db    194    ;  C2
  260.     db    195    ;  C3
  261.     db    196    ;  C4
  262.     db    197    ;  C5
  263.     db    198    ;  C6
  264.     db    199    ;  C7
  265.     db    200    ;  C8
  266.     db    201    ;  C9
  267.     db    202    ;  CA
  268.     db    203    ;  CB
  269.     db    204    ;  CC
  270.     db    205    ;  CD
  271.     db    206    ;  CE
  272.     db    207    ;  CF
  273.     db    208    ;  D0
  274.     db    209    ;  D1
  275.     db    210    ;  D2
  276.     db    211    ;  D3
  277.     db    212    ;  D4
  278.     db    213    ;  D5
  279.     db    214    ;  D6
  280.     db    215    ;  D7
  281.     db    216    ;  D8
  282.     db    217    ;  D9
  283.     db    218    ;  DA
  284.     db    219    ;  DB
  285.     db    220    ;  DC
  286.     db    221    ;  DD
  287.     db    222    ;  DE
  288.     db    223    ;  DF
  289.     db    224    ;  E0
  290.     db    225    ;  E1
  291.     db    226    ;  E2
  292.     db    227    ;  E3
  293.     db    228    ;  E4
  294.     db    229    ;  E5
  295.     db    230    ;  E6
  296.     db    231    ;  E7
  297.     db    232    ;  E8
  298.     db    233    ;  E9
  299.     db    234    ;  EA
  300.     db    235    ;  EB
  301.     db    236    ;  EC
  302.     db    237    ;  ED
  303.     db    238    ;  EE
  304.     db    239    ;  EF
  305.     db    240    ;  F0
  306.     db    241    ;  F1
  307.     db    242    ;  F2
  308.     db    243    ;  F3
  309.     db    244    ;  F4
  310.     db    245    ;  F5
  311.     db    246    ;  F6
  312.     db    247    ;  F7
  313.     db    248    ;  F8
  314.     db    249    ;  F9
  315.     db    250    ;  FA
  316.     db    251    ;  FB
  317.     db    252    ;  FC
  318.     db    253    ;  FD
  319.     db    254    ;  FE
  320.     db    IGNORE    ;  FF
  321.     ;
  322.     ; Reverse ASCII collating sequence
  323.     ;
  324.     db      0    ;  00 ^@ -- DON'T TOUCH -- so C can find end of string
  325.     db    127    ;  01 ^A
  326.     db    126    ;  02 ^B
  327.     db    125    ;  03 ^C
  328.     db    124    ;  04 ^D
  329.     db    123    ;  05 ^E
  330.     db    122    ;  06 ^F
  331.     db    121    ;  07 ^G
  332.     db    120    ;  08 ^H
  333.     db    119    ;  09 ^I (tab)
  334.     db    118    ;  0A ^J (linefeed)
  335.     db    117    ;  0B ^K
  336.     db    116    ;  0C ^L (formfeed)
  337.     db    115    ;  0D ^M (carriage return)
  338.     db    114    ;  0E ^N
  339.     db    113    ;  0F ^O
  340.     db    112    ;  10 ^P
  341.     db    111    ;  11 ^Q
  342.     db    110    ;  12 ^R
  343.     db    109    ;  13 ^S
  344.     db    108    ;  14 ^T
  345.     db    107    ;  15 ^U
  346.     db    106    ;  16 ^V
  347.     db    105    ;  17 ^W
  348.     db    104    ;  18 ^X
  349.     db    103    ;  19 ^Y
  350.     db    102    ;  1A ^Z
  351.     db    101    ;  1B ^[ (ESCape)
  352.     db    100    ;  1C ^\
  353.     db     99    ;  1D ^]
  354.     db     98    ;  1E ^^
  355.     db     97    ;  1F ^_
  356.     db     96    ;  20 (space)
  357.     db     95    ;  21 !
  358.     db     94    ;  22 "
  359.     db     93    ;  23 #
  360.     db     92    ;  24 $
  361.     db     91    ;  25 %
  362.     db     90    ;  26 &
  363.     db     89    ;  27 ' (single quote)
  364.     db     88    ;  28 (
  365.     db     87    ;  29 )
  366.     db     86    ;  2A *
  367.     db     85    ;  2B +
  368.     db     84    ;  2C , (comma)
  369.     db     83    ;  2D -
  370.     db     82    ;  2E .
  371.     db     81    ;  2F /
  372.     db     80    ;  30 0
  373.     db     79    ;  31 1
  374.     db     78    ;  32 2
  375.     db     77    ;  33 3
  376.     db     76    ;  34 4
  377.     db     75    ;  35 5
  378.     db     74    ;  36 6
  379.     db     73    ;  37 7
  380.     db     72    ;  38 8
  381.     db     71    ;  39 9
  382.     db     70    ;  3A :
  383.     db     69    ;  3B ;
  384.     db     68    ;  3C <
  385.     db     67    ;  3D =
  386.     db     66    ;  3E >
  387.     db     65    ;  3F ?
  388.     db     64    ;  40 @
  389.     db     63    ;  41 A
  390.     db     62    ;  42 B
  391.     db     61    ;  43 C
  392.     db     60    ;  44 D
  393.     db     59    ;  45 E
  394.     db     58    ;  46 F
  395.     db     57    ;  47 G
  396.     db     56    ;  48 H
  397.     db     55    ;  49 I
  398.     db     54    ;  4A J
  399.     db     53    ;  4B K
  400.     db     52    ;  4C L
  401.     db     51    ;  4D M
  402.     db     50    ;  4E N
  403.     db     49    ;  4F O
  404.     db     48    ;  50 P
  405.     db     47    ;  51 Q
  406.     db     46    ;  52 R
  407.     db     45    ;  53 S
  408.     db     44    ;  54 T
  409.     db     43    ;  55 U
  410.     db     42    ;  56 V
  411.     db     41    ;  57 W
  412.     db     40    ;  58 X
  413.     db     39    ;  59 Y
  414.     db     38    ;  5A Z
  415.     db     37    ;  5B [
  416.     db     36    ;  5C \
  417.     db     35    ;  5D ]
  418.     db     34    ;  5E ^
  419.     db     33    ;  5F _ (underscore)
  420.     db     32    ;  60   (back quote)
  421.     db     31    ;  61 a
  422.     db     30    ;  62 b
  423.     db     29    ;  63 c
  424.     db     28    ;  64 d
  425.     db     27    ;  65 e
  426.     db     26    ;  66 f
  427.     db     25    ;  67 g
  428.     db     24    ;  68 h
  429.     db     23    ;  69 i
  430.     db     22    ;  6A j
  431.     db     21    ;  6B k
  432.     db     20    ;  6C l
  433.     db     19    ;  6D m
  434.     db     18    ;  6E n
  435.     db     17    ;  6F o
  436.     db     16    ;  70 p
  437.     db     15    ;  71 q
  438.     db     14    ;  72 r
  439.     db     13    ;  73 s
  440.     db     12    ;  74 t
  441.     db     11    ;  75 u
  442.     db     10    ;  76 v
  443.     db      9    ;  77 w
  444.     db      8    ;  78 x
  445.     db      7    ;  79 y
  446.     db      6    ;  7A z
  447.     db      5    ;  7B {
  448.     db      4    ;  7C |
  449.     db      3    ;  7D }
  450.     db      2    ;  7E ~
  451.     db      1    ;  7F (DELete or RUBout)
  452.     db    IGNORE    ;  80
  453.     db    IGNORE    ;  81
  454.     db    IGNORE    ;  82
  455.     db    IGNORE    ;  83
  456.     db    IGNORE    ;  84
  457.     db    IGNORE    ;  85
  458.     db    IGNORE    ;  86
  459.     db    IGNORE    ;  87
  460.     db    IGNORE    ;  88
  461.     db    IGNORE    ;  89
  462.     db    IGNORE    ;  8A
  463.     db    IGNORE    ;  8B
  464.     db    IGNORE    ;  8C
  465.     db    IGNORE    ;  8D
  466.     db    IGNORE    ;  8E
  467.     db    IGNORE    ;  8F
  468.     db    IGNORE    ;  90
  469.     db    IGNORE    ;  91
  470.     db    IGNORE    ;  92
  471.     db    IGNORE    ;  93
  472.     db    IGNORE    ;  94
  473.     db    IGNORE    ;  95
  474.     db    IGNORE    ;  96
  475.     db    IGNORE    ;  97
  476.     db    IGNORE    ;  98
  477.     db    IGNORE    ;  99
  478.     db    IGNORE    ;  9A
  479.     db    IGNORE    ;  9B
  480.     db    IGNORE    ;  9C
  481.     db    IGNORE    ;  9D
  482.     db    IGNORE    ;  9E
  483.     db    IGNORE    ;  9F
  484.     db    IGNORE    ;  A0
  485.     db    IGNORE    ;  A1
  486.     db    IGNORE    ;  A2
  487.     db    IGNORE    ;  A3
  488.     db    IGNORE    ;  A4
  489.     db    IGNORE    ;  A5
  490.     db    IGNORE    ;  A6
  491.     db    IGNORE    ;  A7
  492.     db    IGNORE    ;  A8
  493.     db    IGNORE    ;  A9
  494.     db    IGNORE    ;  AA
  495.     db    IGNORE    ;  AB
  496.     db    IGNORE    ;  AC
  497.     db    IGNORE    ;  AD
  498.     db    IGNORE    ;  AE
  499.     db    IGNORE    ;  AF
  500.     db    IGNORE    ;  B0
  501.     db    IGNORE    ;  B1
  502.     db    IGNORE    ;  B2
  503.     db    IGNORE    ;  B3
  504.     db    IGNORE    ;  B4
  505.     db    IGNORE    ;  B5
  506.     db    IGNORE    ;  B6
  507.     db    IGNORE    ;  B7
  508.     db    IGNORE    ;  B8
  509.     db    IGNORE    ;  B9
  510.     db    IGNORE    ;  BA
  511.     db    IGNORE    ;  BB
  512.     db    IGNORE    ;  BC
  513.     db    IGNORE    ;  BD
  514.     db    IGNORE    ;  BE
  515.     db    IGNORE    ;  BF
  516.     db    IGNORE    ;  C0
  517.     db    IGNORE    ;  C1
  518.     db    IGNORE    ;  C2
  519.     db    IGNORE    ;  C3
  520.     db    IGNORE    ;  C4
  521.     db    IGNORE    ;  C5
  522.     db    IGNORE    ;  C6
  523.     db    IGNORE    ;  C7
  524.     db    IGNORE    ;  C8
  525.     db    IGNORE    ;  C9
  526.     db    IGNORE    ;  CA
  527.     db    IGNORE    ;  CB
  528.     db    IGNORE    ;  CC
  529.     db    IGNORE    ;  CD
  530.     db    IGNORE    ;  CE
  531.     db    IGNORE    ;  CF
  532.     db    IGNORE    ;  D0
  533.     db    IGNORE    ;  D1
  534.     db    IGNORE    ;  D2
  535.     db    IGNORE    ;  D3
  536.     db    IGNORE    ;  D4
  537.     db    IGNORE    ;  D5
  538.     db    IGNORE    ;  D6
  539.     db    IGNORE    ;  D7
  540.     db    IGNORE    ;  D8
  541.     db    IGNORE    ;  D9
  542.     db    IGNORE    ;  DA
  543.     db    IGNORE    ;  DB
  544.     db    IGNORE    ;  DC
  545.     db    IGNORE    ;  DD
  546.     db    IGNORE    ;  DE
  547.     db    IGNORE    ;  DF
  548.     db    IGNORE    ;  E0
  549.     db    IGNORE    ;  E1
  550.     db    IGNORE    ;  E2
  551.     db    IGNORE    ;  E3
  552.     db    IGNORE    ;  E4
  553.     db    IGNORE    ;  E5
  554.     db    IGNORE    ;  E6
  555.     db    IGNORE    ;  E7
  556.     db    IGNORE    ;  E8
  557.     db    IGNORE    ;  E9
  558.     db    IGNORE    ;  EA
  559.     db    IGNORE    ;  EB
  560.     db    IGNORE    ;  EC
  561.     db    IGNORE    ;  ED
  562.     db    IGNORE    ;  EE
  563.     db    IGNORE    ;  EF
  564.     db    IGNORE    ;  F0
  565.     db    IGNORE    ;  F1
  566.     db    IGNORE    ;  F2
  567.     db    IGNORE    ;  F3
  568.     db    IGNORE    ;  F4
  569.     db    IGNORE    ;  F5
  570.     db    IGNORE    ;  F6
  571.     db    IGNORE    ;  F7
  572.     db    IGNORE    ;  F8
  573.     db    IGNORE    ;  F9
  574.     db    IGNORE    ;  FA
  575.     db    IGNORE    ;  FB
  576.     db    IGNORE    ;  FC
  577.     db    IGNORE    ;  FD
  578.     db    IGNORE    ;  FE
  579.     db    IGNORE    ;  FF
  580.     IGNORE    ;  C7
  581.     db    IGNORE    ;  C8
  582.     db    IGNORE    ;  C9
  583.     db    IGN