home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / prog_oth / hextrac1.lha / source / macros.s < prev   
Encoding:
Text File  |  1992-09-05  |  2.6 KB  |  201 lines

  1.    OPT ALINK
  2.    
  3.       XDEF  _fgts,_stcpmwa,_stcpmw
  4.       XREF  _febuf,_fesize,_n
  5.  
  6. _fgts
  7. L38c4
  8.     MOVEM.L    D2/D7/A2-A3,-(A7)
  9.     MOVEA.L    $14(A7),A3
  10.     MOVEQ    #0,D7  
  11.         MOVE.L  _n,d2
  12.  
  13.     MOVEA.L    _febuf,A2
  14.     ADDA.L    d2,A2
  15.     ADDQ.L    #1,d2
  16. L38e0
  17.     MOVEQ    #$A,D0
  18.     CMP.B    (A2),D0
  19.     BEQ.S    L3900
  20.  
  21.     MOVE.L    d2,D0
  22.     ADDQ.L    #1,d2
  23.     CMP.L    _fesize,D0
  24.     BGE.S    L3900
  25.  
  26.     MOVE.L  D7,D0
  27.     ADDQ.L    #1,D7
  28.     MOVE.B    (A2)+,0(A3,D0.L)
  29.     BRA.S    L38e0
  30. L3900
  31.     MOVE.B    #$A,0(A3,D7.L)
  32.     CLR.B    1(A3,D7.L)
  33.  
  34.     MOVE.L    d2,D0
  35.     CMP.L    _fesize,D0
  36.     BLT.S    L3918
  37.     MOVEQ    #0,D0
  38.     BRA.S    L391a
  39. L3918
  40.     MOVEQ    #1,D0
  41.         MOVE.L  D2,_n
  42. L391a
  43.     MOVEM.L    (A7)+,D2/D7/A2-A3
  44.     RTS
  45.  
  46.  
  47.  
  48. _stcpmwa
  49.     MOVEM.L    A2-A3,-(A7)
  50.     MOVEA.L    $C(A7),A3
  51.     MOVEA.L    $10(A7),A2
  52. L378E
  53.     MOVE.B    (A3),D0
  54.     EXT.W    D0
  55.     EXT.L    D0
  56.     
  57.         CMPI.B  #$61,D0
  58.         BLT.S   LBF18
  59.         CMPI.B  #$7A,D0
  60.         BGT.S   LBF18
  61.         SUBI.B  #$20,D0
  62. LBF18 
  63.     MOVE.B    (A2),D1
  64.     EXT.W    D1
  65.     EXT.L    D1
  66.     
  67.         CMPI.B  #$61,D1
  68.         BLT.S   LBF19
  69.         CMPI.B  #$7A,D1
  70.         BGT.S   LBF19
  71.         SUBI.B  #$20,D1
  72. LBF19 
  73.     CMP.L    D0,D1
  74.     BEQ.S    L37C0
  75.     MOVEQ    #$3F,D1
  76.     CMP.B    (A2),D1
  77.     BEQ.S    L37C0
  78.     CMP.B    (A3),D1
  79.     BNE.S    L37CE
  80.   
  81. L37C0
  82.     TST.B    (A2)
  83.     BNE.S    L37C8
  84.     MOVEQ    #1,D0
  85.     BRA.S    L37D0
  86. L37C8
  87.     ADDQ.L    #1,A3
  88.     ADDQ.L    #1,A2
  89.     BRA.S    L378E
  90. L37CE
  91.     MOVEQ    #0,D0
  92. L37D0
  93.     MOVEM.L    (A7)+,A2-A3
  94.     RTS
  95.  
  96.  
  97.  
  98. _stcpmw
  99.     MOVEM.L    D7/A2-A3,-(A7)
  100.     MOVEQ    #0,D7
  101.     MOVEA.L    $10(A7),A3
  102.     MOVEA.L    $14(A7),A2
  103. L37F4
  104.     MOVE.B    (A3),D0
  105.     EXT.W    D0
  106.     EXT.L    D0
  107.         CMPI.B  #$61,D0
  108.         BLT.S   LBF20
  109.         CMPI.B  #$7A,D0
  110.         BGT.S   LBF20
  111.         SUBI.B  #$20,D0
  112. LBF20
  113.     MOVE.B    (A2),D1
  114.     EXT.W    D1
  115.     EXT.L    D1
  116.     CMPI.B  #$61,D1
  117.         BLT.S   LBF21
  118.         CMPI.B  #$7A,D1
  119.         BGT.S   LBF21
  120.         SUBI.B  #$20,D1
  121. LBF21
  122.     CMP.L    D0,D1
  123.     BEQ.S    L383E
  124.     MOVEQ    #$3F,D1
  125.     CMP.B    (A2),D1
  126.     BEQ.S    L383E
  127.     CMP.B    (A3),D1
  128.     BEQ.S    L383E
  129.     TST.B    (A3)
  130.     BNE.S    L383A
  131.     MOVEQ    #0,D0
  132.     BRA    L38BA
  133. L383A
  134.     ADDQ.L    #1,A3
  135.     BRA.S    L37F4
  136. L383E
  137.     TST.B    (A2)
  138.     BEQ.S    L3882
  139. L3842
  140.     ADDQ.L    #1,A3
  141.     MOVE.B    (A3),D0
  142.     EXT.W    D0
  143.     EXT.L    D0
  144.     CMPI.B  #$61,D0
  145.         BLT.S   LBF22
  146.         CMPI.B  #$7A,D0
  147.         BGT.S   LBF22
  148.         SUBI.B  #$20,D0
  149. LBF22
  150.     ADDQ.L    #1,A2
  151.     MOVE.B    (A2),D1
  152.     EXT.W    D1
  153.     EXT.L    D1
  154.     CMPI.B  #$61,D1
  155.         BLT.S   LBF23
  156.         CMPI.B  #$7A,D1
  157.         BGT.S   LBF23
  158.         SUBI.B  #$20,D1
  159. LBF23
  160.     CMP.L    D0,D1
  161.     BEQ.S    L387A
  162.     MOVEQ    #$3F,D1
  163.     CMP.B    (A2),D1
  164.     BEQ.S    L387A
  165.  
  166.     CMP.B    (A3),D1
  167.     BNE.S    L3882
  168. L387A
  169.     TST.B    (A3)
  170.     BEQ.S    L3882
  171.     ADDQ.L    #1,D7
  172.     BRA.S    L3842
  173.  
  174. L3882
  175.     MOVEA.L    $14(A7),A0
  176. L3886
  177.     TST.B    (A0)+
  178.     BNE.S    L3886
  179.     SUBQ.L    #1,A0
  180.     SUBA.L    $14(A7),A0
  181.     MOVE.L    D7,D0
  182.     ADDQ.L    #1,D0
  183.     CMP.L    A0,D0
  184.     BNE.S    L38A4
  185.     MOVEQ    #1,D0
  186.     BRA.S    L38BA
  187. L38A4
  188.     MOVEQ    #0,D7
  189.     MOVEA.L    $14(A7),A2  $C(A5),A2
  190.     TST.B    (A2)
  191.     BNE    L37F4
  192.     MOVEQ    #0,D0
  193. L38BA
  194.     MOVEM.L    (A7)+,D7/A2-A3
  195.     RTS
  196.  
  197.  
  198.  
  199.  
  200.  
  201.