home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Applications / Early_C_Compilers / last1120c.tar.gz / last1120c.tar / last1120c / fptab.s < prev    next >
Text File  |  1972-07-09  |  6KB  |  847 lines

  1.  
  2. / c code tables-- compile to register
  3.  
  4. .globl    _regtab
  5.  
  6. _regtab=.; .+2
  7.     20.;    cr20
  8.     21.;    cr20
  9.     22.;    cr20
  10.     30.;    cr30
  11.     31.;    cr30
  12.     32.;    cr32
  13.     33.;    cr32
  14.     34.;    cr34
  15.     35.;    cr35
  16.     29.;    cr29
  17.     36.;    cr36
  18.     37.;    cr37
  19.     38.;    cr38
  20.     101.;    cr100
  21.     80.;    cr80
  22.     40.;    cr40
  23.     41.;    cr40    / - like +
  24.     42.;    cr42
  25.     43.;    cr43
  26.     44.;    cr43
  27.     45.;    cr45
  28.     46.;    cr45
  29.     47.;    cr47
  30.     48.;    cr48
  31.     60.;    cr60
  32.     61.;    cr60
  33.     62.;    cr60
  34.     63.;    cr60
  35.     64.;    cr60
  36.     65.;    cr60
  37.     66.;    cr60
  38.     67.;    cr60
  39.     68.;    cr60
  40.     69.;    cr60
  41.     70.;    cr70
  42.     71.;    cr70
  43.     72.;    cr72
  44.     73.;    cr73
  45.     74.;    cr73
  46.     75.;    cr75
  47.     76.;    cr75
  48.     77.;    cr77
  49.     78.;    cr78
  50.     102.;    cr102
  51.     97.;    cr97
  52. {    84.;    cr84
  53.     85.;    cr84
  54.     86.;    cr86
  55.     87.;    cr87
  56.     88.;    cr88
  57.     89.;    cr87
  58.     94.;    cr84
  59.     95.;    cr84
  60.     96.;    cr87}
  61.     0
  62.  
  63. / goto
  64. cr102:
  65. %i,n
  66.     jmp    *A1
  67.  
  68. %n*,n
  69.     F*
  70.     jmp    *#1(R)
  71.  
  72. %n,n
  73.     F
  74.     jmp    (R)
  75.  
  76. / call
  77. cr100:
  78. %n*,n
  79.     F*
  80.     jsr    pc,*#1(R)
  81.  
  82. %a,n
  83.     jsr    pc,*A1
  84.  
  85. %n,n
  86.     F
  87.     jsr    pc,(R)
  88.  
  89. / name, constant
  90. cr20:
  91. %z,n
  92. {    M}
  93.     clrB1    R
  94.  
  95. %aw,n
  96.     mov    A,R
  97.  
  98. %ab,n
  99.     movb    A,R
  100.  
  101. {%af,n
  102.     M
  103.     movf    A,R}
  104.  
  105. /++,-- prefix
  106. cr30:
  107. %ai,n
  108. %abp,n
  109. %ab,n
  110.     IB1    A1
  111.     movB1    A1,R
  112.  
  113. %a,n
  114.     I'    $2,A1
  115.     mov    A1,R
  116.  
  117. %nbp*,n
  118. %ni*,n
  119. %nb*,n
  120.     F*
  121.     IB1    #1(R)
  122.     movB1    #1(R),R
  123.  
  124. %n*,n
  125.     F*
  126.     I'    $2,#1(R)
  127.     mov    #1(R),R
  128.  
  129. {%af,n
  130.     M
  131.     movfi    $1,R
  132.     I'f    R,A1
  133.     movf    A1,R
  134.  
  135. %nf*,n
  136.     F*
  137.     M
  138.     movfi    $1,R
  139.     I'f    R,#1(R)
  140.     movf    #1(R),R}
  141.  
  142. / ++,-- postfix
  143. cr32:
  144. %ai,n
  145. %abp,n
  146. %ab,n
  147.     movB1    A1,R
  148.     IB1    A1
  149.  
  150. %a,n
  151.     mov    A1,R
  152.     I'    $2,A1
  153.  
  154. %nbp*,n
  155. %nb*,n
  156. %ni*,n
  157.     F*
  158.     movB1    #1(R),-(sp)
  159.     IB1    #1(R)
  160.     movB1    (sp)+,R
  161.  
  162. %n*,n
  163.     F*
  164.     mov    #1(R),-(sp)
  165.     I'    $2,#1(R)
  166.     mov    (sp)+,R
  167.  
  168. {%af,n
  169.     M
  170.     movf    A1,R
  171.     movf    R,-(sp)
  172.     movif    $1,R
  173.     I'f    R,A1
  174.     movf    (sp)+,R
  175.  
  176. %nf*,n
  177.     F*
  178.     M
  179.     movf    #1(R),R
  180.     movf    R,-(sp)
  181.     movif    $1,R
  182.     I'f    R,#1(R)
  183.     movf    (sp)+,R}
  184.  
  185. / !
  186. cr34:
  187. %n,n
  188.     FC
  189.     beq    1f
  190.     clr    R
  191.     br    2f
  192. 1:    mov    $1,R
  193. 2:
  194.  
  195. / &unary
  196. cr35:
  197. %a,n
  198. %af,n
  199.     mov    $A1,R
  200.  
  201. / & unary of auto
  202. cr29:
  203. %e,n
  204. %ef,n
  205.     mov    r5,R
  206.     add    Z,R
  207.  
  208. / *unary
  209. cr36:
  210. %abp*,n
  211.     F
  212.     movb    (R),R
  213.  
  214. %a*,n
  215.     F
  216.     mov    (R),R
  217.  
  218. %abp,n
  219.     movb    *A1,R
  220.  
  221. %a,n
  222.     mov    *A1,R
  223.  
  224. %nbp*,n
  225.     F*
  226.     movb    *#1(R),R
  227.  
  228. %n*,n
  229.     F*
  230.     mov    *#1(R),R
  231.  
  232. %nbp,n
  233.     H*
  234.     movb    ~(R),R
  235.  
  236. %n,n
  237.     H*
  238.     mov    ~(R),R
  239.  
  240. / - unary
  241. cr37:
  242. %n,n
  243.     F
  244.     neg    R
  245.  
  246. {%nf,n
  247.     F
  248.     negf    R}
  249.  
  250. / ~
  251. cr38:
  252. %n,n
  253.     F
  254.     com    R
  255.  
  256. / =
  257. cr80:
  258. %a,n
  259. {%af,nf}
  260.     S
  261.     movB1    R,A1
  262.  
  263. %n*,a
  264. {%nf*,af}
  265.     F*
  266. {    M}
  267.     movB1    A2,#1(R)
  268.     movB1    #1(R),R
  269.  
  270. %n*,e
  271. {%nf*,ef}
  272.     F*
  273.     S1
  274.     movB1    R1,#1(R)
  275.     movB1    R1,R
  276.  
  277. %n*,n
  278. {%nf*,nf}
  279.     FS*
  280.     S
  281.     movB1    R,*(sp)+
  282.  
  283. / |
  284. cr48:
  285. %n,a
  286.     F
  287.     bisB2    A2,R
  288.  
  289. %n,e*
  290.     F
  291.     S1*
  292.     bisB2    #2(R1),R
  293.  
  294. %n,e
  295.     F
  296.     S1
  297.     bis    R1,R
  298.  
  299. %n,n
  300.     FS
  301.     S
  302.     bis    (sp)+,R
  303.  
  304. / &
  305. cr47:
  306. %n,c
  307.     F
  308.     bic    $!C2,R
  309.  
  310. %n,e
  311.     F
  312.     S1
  313.     com    R1
  314.     bic    R1,R
  315.  
  316. %n,n
  317.     FS
  318.     S
  319.     com    (sp)
  320.     bic    (sp)+,R
  321.  
  322. / relationals
  323. cr60:
  324. %n,n
  325.     HC
  326.     I    2f
  327.     clr    R
  328.     br    1f
  329. 2:    mov    $1,R
  330. 1:
  331.  
  332. / >>, <<
  333. cr45:
  334. %a,aw
  335.     movB1    A1,I'
  336.     I    A2,lsh
  337.     movB1    I',R
  338.  
  339. %n*,aw
  340.     F*
  341.     movB1    #1(R),I'
  342.     I    A2,lsh
  343.     movB1    I',R
  344.  
  345. %n,aw
  346.     F
  347.     mov    R,I'
  348.     I    A2,lsh
  349.     mov    I',R
  350.  
  351. %a,nw*
  352.     S*
  353.     movB1    A1,(r4)
  354.     I    #2(R),lsh
  355.     mov    (r4),R
  356.  
  357. %a,n
  358.     S
  359.     movB1    A1,I'
  360.     I    R,lsh
  361.     mov    I',R
  362.  
  363. %n,n
  364.     FS
  365.     S
  366.     mov    (sp)+,I'
  367.     I    R,lsh
  368.     mov    I',R
  369.  
  370. / +, -
  371. cr40:
  372. %n,aw
  373. {%nf,af}
  374.     F
  375.     IB1    A2,R
  376.  
  377. %n,ew*
  378. {%nf,ef*}
  379.     F
  380.     S1*
  381.     IB2    #2(R1),R
  382.  
  383. %n,e
  384. {%nf,ef}
  385.     F
  386.     S1
  387.     IBF    R1,R
  388.  
  389. %n,nw*
  390. {%nf,nf*}
  391.     SS*
  392.     F
  393.     IBF    *(sp)+,R
  394.  
  395. %n,n
  396. {%nf,nf}
  397.     SS
  398.     F
  399.     IBF    (sp)+,R
  400.  
  401. / *
  402. cr42:
  403. %aw,a
  404.     mov    A1,(r4)+
  405.     movB2    A2,(r4)
  406.     mov    -(r4),R
  407.  
  408. %n,a
  409.     F
  410.     mov    R,(r4)+
  411.     movB2    A2,(r4)
  412.     mov    -(r4),R
  413.  
  414. %n,e
  415.     F
  416.     S1
  417.     mov    R,(r4)+
  418.     mov    R1,(r4)
  419.     mov    -(r4),R
  420.  
  421. %n,n
  422.     FS
  423.     S
  424.     mov    (sp)+,(r4)+
  425.     mov    R,(r4)
  426.     mov    -(r4),R
  427.  
  428. {%nf,af
  429.     F
  430.     mulf    A2,R
  431.  
  432. %nf,ef*
  433.     F
  434.     S1*
  435.     mulf    #2(R1),R
  436.  
  437. %nf,ef
  438.     F
  439.     S1
  440.     mulf    R1,R
  441.  
  442. %nf,nf
  443.     FS
  444.     S
  445.     mulf    (sp)+,R}
  446.  
  447. / /; mod
  448. cr43:
  449. %a,a
  450.     movB1    A1,(r4)
  451.     movB2    A2,div
  452.     mov    I,R
  453.  
  454. %a,n
  455.     S
  456.     movB1    A1,(r4)
  457.     mov    R,div
  458.     mov    I,R
  459.  
  460. %n,a
  461.     F
  462.     mov    R,(r4)
  463.     movB2    A2,div
  464.     mov    I,R
  465.  
  466. %n,e
  467.     F
  468.     S1
  469.     mov    R,(r4)
  470.     mov    R1,div
  471.     mov    I,R
  472.  
  473. %e,n
  474.     S
  475.     F1
  476.     mov    R1,(r4)
  477.     mov    R,div
  478.     mov    I,R
  479.  
  480. %n,n
  481.     FS
  482.     S
  483.     mov    (sp)+,(r4)
  484.     mov    R,div
  485.     mov    I,R
  486.  
  487. {%nf,af
  488.     F
  489.     I'    A1,R
  490.  
  491. %nf,ef*
  492.     F
  493.     S1*
  494.     I'    #2(R1),R
  495.  
  496. %nf,ef
  497.     F
  498.     S1
  499.     I'    R1,R
  500.  
  501. %nf,nf
  502.     SS
  503.     F
  504.     I'    (sp)+,R}
  505.  
  506. / =*
  507. cr72:
  508. %a,a
  509.     movB1    A1,(r4)
  510.     movB2    A2,mul
  511.     movB1    (r4),A1
  512.     mov    (r4),R
  513.  
  514. %a,n
  515.     S
  516.     mov    R,(r4)+
  517.     movB1    A1,(r4)
  518.     mov    -(r4),R
  519.     movB1    R,A1
  520.  
  521. %n*,a
  522.     F*
  523.     movB1    #1(R),(r4)
  524.     movB2    A2,mul
  525.     movB1    (r4),#1(R)
  526.     mov    (r4),R
  527.  
  528. %n*,e
  529.     F*
  530.     S1
  531.     movB1    #1(R),(r4)
  532.     mov    R1,mul
  533.     movB1    (r4),#1(R)
  534.     mov    (r4),R
  535.  
  536. %e*,n
  537.     S
  538.     F1*
  539.     movB1    #1(R1),(r4)
  540.     mov    R,mul
  541.     movB1    (r4),#1(R1)
  542.     mov    (r4),R
  543.  
  544. %n*,n
  545.     FS*
  546.     S
  547.     movB1    *(sp),(r4)
  548.     mov    R,mul
  549.     movB1    (r4),*(sp)+
  550.     mov    (r4),R
  551.  
  552. / =mod, =/
  553. cr73:
  554. %a,a
  555.     movB1    A1,(r4)
  556.     movB2    A2,div
  557.     movB1    I,A1
  558.     mov    I,R
  559.  
  560. %a,n
  561.     S
  562.     movB1    A1,(r4)
  563.     mov    R,div
  564.     mov    I,R
  565.     movB1    R,A1
  566.  
  567. %n*,a
  568.     F*
  569.     movB1    #1(R),(r4)
  570.     movB2    A2,div
  571.     movB1    I,#1(R)
  572.     mov    I,R
  573.  
  574. %n*,e
  575.     F*
  576.     S1
  577.     movB1    #1(R),(r4)
  578.     mov    R1,div
  579.     movB1    I,#1(R)
  580.     mov    I,R
  581.  
  582. %e*,n
  583.     S
  584.     F1*
  585.     movB1    #1(R1),(r4)
  586.     mov    R,div
  587.     movB1    I,#1(R1)
  588.     mov    I,R
  589.  
  590. %n*,n
  591.     FS*
  592.     S
  593.     movB1    *(sp),(r4)
  594.     mov    R,div
  595.     movB1    I,*(sp)+
  596.     mov    I,R
  597.  
  598. / =|
  599. cr78:
  600. %a,a
  601.     bisBE    A2,A1
  602.     movB1    A1,R
  603.  
  604. %a,n
  605.     S
  606.     bisB1    R,A1
  607.     movB1    A1,R
  608.  
  609. %n*,a
  610.     F*
  611.     bisBE    A2,#1(R)
  612.     movB1    #1(R),R
  613.  
  614. %e*,n*
  615.     S*
  616.     F1*
  617.     bisBE    #1(R1),#2(R)
  618.     movB1    #2(R),R
  619.  
  620. %e*,n
  621.     S
  622.     F1*
  623.     bisBE    R,#1(R1)
  624.     movB1    #1(R1),R
  625.  
  626. %n*,e*
  627.     F*
  628.     S1*
  629.     bisBE    #2(R1),#1(R)
  630.     movB1    #1(R),R
  631.  
  632. %n*,e
  633.     F*
  634.     S1
  635.     bisBE    R1,#1(R)
  636.     movB2    #1(R),R
  637.  
  638. %n*,n*
  639.     FS*
  640.     S*
  641.     bisBE    #2(R),*(sp)
  642.     movB2    *(sp)+,R
  643.  
  644. %n*,n
  645.     FS*
  646.     S
  647.     bisBE    R,*(sp)
  648.     mov    *(sp)+,R
  649.  
  650. / =&
  651. cr77:
  652. %a,c
  653.     bicB1    $!C2,A1
  654.     movB2    A1,R
  655.  
  656. %a,n
  657.     S
  658.     com    R
  659.     bicB1    R,A1
  660.     movB1    A1,R
  661.  
  662. %e*,n
  663.     S
  664.     F1*
  665.     com    R
  666.     bicB1    R,#1(R1)
  667.     movB1    #1(R1),R
  668.  
  669. %n*,e
  670.     F*
  671.     S1
  672.     com    R1
  673.     bicB1    R1,#1(R)
  674.     movB1    #1(R),R
  675.  
  676. %n*,n
  677.     FS*
  678.     S
  679.     com    R
  680.     bicB1    R,*(sp)
  681.     movB1    *(sp)+,R
  682.  
  683. / =>>, =<<
  684. cr75:
  685. %a,aw
  686.     movB1    A1,I'
  687.     I    A2,lsh
  688.     movB1    I',A1
  689.     movB1    I',R
  690.  
  691. %a,n
  692.     S
  693.     movB1    A1,I'
  694.     I    R,lsh
  695.     movB1    I',A1
  696.     movB1    I',R
  697.  
  698. %n*,e
  699.     F*
  700.     S1
  701.     movB1    #1(R),I'
  702.     I    R1,lsh
  703.     movB1    I',#1(R)
  704.     movB1    I',R
  705.  
  706. %e*,n
  707.     S
  708.     F1*
  709.     movB1    #1(R1),I'
  710.     I    R,lsh
  711.     movB    I',#1(R1)
  712.     movB1    I',R
  713.  
  714. %n*,n
  715.     FS*
  716.     S
  717.     movB1    *(sp),I'
  718.     I    R,lsh
  719.     movB1    I',*(sp)+
  720.     movB1    I',R
  721.  
  722. / =+
  723. cr70:
  724. %aw,aw
  725.     I    A2,A1
  726.     mov    A1,R
  727.  
  728. %aw,nw*
  729.     S*
  730.     I    #2(R),A1
  731.     mov    A1,R
  732.  
  733. %aw,n
  734.     S
  735.     I    R,A1
  736.     mov    A1,R
  737.  
  738. %ew*,nw*
  739.     S*
  740.     F1*
  741.     I    #2(R),#1(R1)
  742.     mov    #1(R1),R
  743.  
  744. %a,nw*
  745.     S*
  746.     movB1    A1,R1
  747.     I    #2(R),R1
  748.     movB1    R1,#2(R)
  749.     mov    R1,R
  750.  
  751. %a,n
  752.     S
  753.     movB1    A1,R1
  754.     I    R1,R
  755.     movB1    R,A1
  756.  
  757. %ew*,n
  758.     S
  759.     F1*
  760.     I    R,#1(R1)
  761.     mov    #1(R1),R
  762.  
  763. %nw*,n
  764.     SS
  765.     F*
  766.     I    (sp)+,#1(R)
  767.     mov    #1(R),R
  768.  
  769. %n*,n
  770.     SS
  771.     F*
  772.     movB1    #1(R),R1
  773.     I    (sp)+,R1
  774.     movB1    R1,#1(R)
  775.     mov    R1,R
  776.  
  777. / int -> int[]
  778. cr97:
  779. %n,n
  780.     F
  781.     asl    R
  782.  
  783. {/ int -> float
  784. cr84:
  785. %a,n
  786.     M
  787.     movif    A1,R
  788.  
  789. %n*,n
  790.     F*
  791.     M
  792.     movif    #1(R),R
  793.  
  794. %n,n
  795.     F
  796.     movif    R,R
  797.  
  798. / float -> double
  799. cr87:
  800. %af,n
  801.     M
  802.     movof    A1,R
  803.  
  804. %nf*,n
  805.     F*
  806.     M
  807.     movof    #1(R),R
  808.  
  809. %nf,n
  810.     F
  811.     movof    R,R
  812.  
  813. / float -> int
  814. cr86:
  815. %af,n
  816.     M2
  817.     movfi    A1,R
  818.  
  819. %nf*,n
  820.     F*
  821.     M2
  822.     movfi    \$1(R),R
  823.  
  824. %nf,n
  825.     F
  826.     movfi    R,R
  827.  
  828. / double -> int
  829. cr88:
  830. %ad,n
  831.     M4
  832.     movfi    A1,R
  833.  
  834. %nd*,n
  835.     F*
  836.     M4
  837.     movfi    #1(R),R
  838.  
  839. %nd,n
  840.     F
  841.     movfi    R,R
  842.  
  843. .data
  844. .even
  845. .text
  846.  
  847.