home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol131 / median.src < prev    next >
Encoding:
Text File  |  1984-04-29  |  2.9 KB  |  290 lines

  1.  
  2.     NAME    MEDIAN
  3.     ENTRY    MEDIAN
  4.     EXT    SELECT
  5. C    SET              0
  6. M    SET              0
  7. F    SET              0
  8. R    SET              0
  9. MEDIAN
  10.     ENTR    D,2,9
  11.     STMT    D,12289
  12.     MOV    L,10(IX)
  13.     MOV    H,11(IX)
  14.     MOV    E,12(IX)
  15.     MOV    D,13(IX)
  16.     DSUB    D,0
  17.     INX    H
  18.     MOV    -3(IX),H
  19.     MOV    -4(IX),L
  20.     STMT    D,12290
  21.     MOV    L,-4(IX)
  22.     MOV    H,-3(IX)
  23.     LXI    D,1
  24.     LESS    D,0
  25.     JNC    L255
  26.     STMT    D,12291
  27.     MOV    2(IX),A
  28.     JMP    L268
  29. L255
  30.     STMT    D,12292
  31.     STMT    D,12293
  32.     MOV    L,-4(IX)
  33.     MOV    H,-3(IX)
  34.     LXI    D,1
  35.     DSB1    D,0
  36.     JNZ    L272
  37.     STMT    D,12294
  38.     MOV    L,12(IX)
  39.     MOV    H,13(IX)
  40.     DADD    C
  41.     DADD    C
  42.     XCHG
  43.     MOV    H,15(IX)
  44.     MOV    L,14(IX)
  45.     DSUB
  46.     LXI    B,4
  47.     DADD    B
  48.     LXI    D,-4
  49.     DADD
  50.     INX    H
  51.     XCHG
  52.     DADD    S
  53.     SPHL
  54.     XCHG
  55.     LXI    B,4
  56.     LDIR
  57.     LXI    H,3
  58.     DADD    S
  59.     XCHG
  60.     MOV    H,9(IX)
  61.     MOV    L,8(IX)
  62.     XCHG
  63.     LXI    B,4
  64.     LDDR
  65.     POP    H
  66.     POP    H
  67.     JMP    L291
  68. L272
  69.     STMT    D,12295
  70.     STMT    D,12296
  71.     MOV    L,-4(IX)
  72.     MOV    H,-3(IX)
  73.     RRCR    L
  74.     STMT    M,12296
  75.     JNC    L295
  76.     STMT    D,12297
  77.     STMT    D,12298
  78.     MOV    L,-4(IX)
  79.     MOV    H,-3(IX)
  80.     INX    H
  81.     LXI    D,2
  82.     DIVD    D,0
  83.     MOV    -1(IX),H
  84.     MOV    -2(IX),L
  85.     STMT    D,12299
  86.     MOV    H,15(IX)
  87.     MOV    L,14(IX)
  88.     PUSH    H
  89.     MOV    L,12(IX)
  90.     MOV    H,13(IX)
  91.     PUSH    H
  92.     MOV    L,10(IX)
  93.     MOV    H,11(IX)
  94.     PUSH    H
  95.     MOV    L,-2(IX)
  96.     MOV    H,-1(IX)
  97.     PUSH    H
  98.     CALL    SELECT
  99.     STMT    M,12299
  100.     JRNC    L320
  101.     INR    A
  102. L320
  103.     MOV    L,A
  104.     XRA    A
  105.     MOV    H,A
  106.     MOV    2(IX),L
  107.     STMT    D,12300
  108.     MOV    L,-2(IX)
  109.     MOV    H,-1(IX)
  110.     DADD    C
  111.     DADD    C
  112.     XCHG
  113.     MOV    H,15(IX)
  114.     MOV    L,14(IX)
  115.     DSUB
  116.     LXI    B,4
  117.     DADD    B
  118.     LXI    D,-4
  119.     DADD
  120.     INX    H
  121.     XCHG
  122.     DADD    S
  123.     SPHL
  124.     XCHG
  125.     LXI    B,4
  126.     LDIR
  127.     LXI    H,3
  128.     DADD    S
  129.     XCHG
  130.     MOV    H,9(IX)
  131.     MOV    L,8(IX)
  132.     XCHG
  133.     LXI    B,4
  134.     LDDR
  135.     POP    H
  136.     POP    H
  137.     STMT    D,12301
  138.     JMP    L363
  139. L295
  140.     STMT    D,12302
  141.     STMT    D,12303
  142.     MOV    L,-4(IX)
  143.     MOV    H,-3(IX)
  144.     LXI    D,2
  145.     DIVD    D,0
  146.     MOV    -1(IX),H
  147.     MOV    -2(IX),L
  148.     STMT    D,12304
  149.     MOV    H,15(IX)
  150.     MOV    L,14(IX)
  151.     PUSH    H
  152.     MOV    L,12(IX)
  153.     MOV    H,13(IX)
  154.     PUSH    H
  155.     MOV    L,10(IX)
  156.     MOV    H,11(IX)
  157.     PUSH    H
  158.     MOV    L,-2(IX)
  159.     MOV    H,-1(IX)
  160.     PUSH    H
  161.     CALL    SELECT
  162.     STMT    M,12304
  163.     JRNC    L373
  164.     INR    A
  165. L373
  166.     MOV    L,A
  167.     XRA    A
  168.     MOV    H,A
  169.     MOV    0(IX),L
  170.     STMT    D,12305
  171.     MOV    L,-2(IX)
  172.     MOV    H,-1(IX)
  173.     DADD    C
  174.     DADD    C
  175.     XCHG
  176.     MOV    H,15(IX)
  177.     MOV    L,14(IX)
  178.     DSUB
  179.     LXI    B,4
  180.     DADD    B
  181.     LXI    D,-4
  182.     DADD
  183.     INX    H
  184.     XCHG
  185.     DADD    S
  186.     SPHL
  187.     XCHG
  188.     LXI    B,4
  189.     LDIR
  190.     LXI    H,3
  191.     DADD    S
  192.     XCHG
  193.     PUSH    IX
  194.     POP    H
  195.     LXI    B,-5
  196.     DADD    B
  197.     XCHG
  198.     LXI    B,4
  199.     LDDR
  200.     POP    H
  201.     POP    H
  202.     STMT    D,12306
  203.     MOV    L,-2(IX)
  204.     MOV    H,-1(IX)
  205.     INX    H
  206.     MOV    -1(IX),H
  207.     MOV    -2(IX),L
  208.     STMT    D,12307
  209.     CMP    0(IX)
  210.     JNC    L425
  211.     MOV    H,15(IX)
  212.     MOV    L,14(IX)
  213.     PUSH    H
  214.     MOV    L,12(IX)
  215.     MOV    H,13(IX)
  216.     PUSH    H
  217.     MOV    L,10(IX)
  218.     MOV    H,11(IX)
  219.     PUSH    H
  220.     MOV    L,-2(IX)
  221.     MOV    H,-1(IX)
  222.     PUSH    H
  223.     CALL    SELECT
  224.     STMT    M,12307
  225.     JRNC    L422
  226.     INR    A
  227. L422
  228. L424    EQU    L422
  229. L425    EQU    L424
  230.     MOV    L,A
  231.     XRA    A
  232.     MOV    H,A
  233.     MOV    2(IX),L
  234.     STMT    D,12308
  235.     LXI    H,-4
  236.     DADD    S
  237.     SPHL
  238.     XCHG
  239.     PUSH    IX
  240.     POP    H
  241.     LXI    B,-8
  242.     DADD    B
  243.     LXI    B,4
  244.     LDIR
  245.     MOV    L,-2(IX)
  246.     MOV    H,-1(IX)
  247.     DADD    C
  248.     DADD    C
  249.     XCHG
  250.     MOV    H,15(IX)
  251.     MOV    L,14(IX)
  252.     DSUB
  253.     LXI    B,4
  254.     DADD    B
  255.     LXI    D,-4
  256.     DADD
  257.     INX    H
  258.     XCHG
  259.     DADD    S
  260.     SPHL
  261.     XCHG
  262.     LXI    B,4
  263.     LDIR
  264.     DADD    D,-4
  265.     LXI    H,576
  266.     MOV    D,A
  267.     MOV    E,A
  268.     PUSH    H
  269.     PUSH    D
  270.     FDVD    D,-4
  271.     LXI    H,3
  272.     DADD    S
  273.     XCHG
  274.     MOV    H,9(IX)
  275.     MOV    L,8(IX)
  276.     XCHG
  277.     LXI    B,4
  278.     LDDR
  279.     POP    H
  280.     POP    H
  281.     STMT    D,12309
  282. L363
  283.     STMT    D,12310
  284. L291
  285.     STMT    D,12311
  286. L268
  287.     STMT    D,12312
  288.     EXIT    D,8
  289.     END    MEDIAN
  290.