home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / TFF-AOA.DMS / in.adf / Allmodes.asm < prev    next >
Encoding:
Assembly Source File  |  1996-02-25  |  36.6 KB  |  1,614 lines

  1. ;-------T-----------T-------T-----------------------------T------T------T
  2. ;
  3. ; The first line is the Tab-Definition line. It starts with an ; and 
  4. ; is followed by the TABS, only a CAPITAL T will be recognized as a TAB
  5. ;
  6. ; **********************************************************************
  7. ;               ASM-ONE Example of all allowed adressingmodes
  8. ; **********************************************************************
  9. ;
  10. ; This example source is split up in three parts:
  11. ;
  12. ; 1.) The 680x0 adressing modes.
  13. ;
  14. ; Using      : opcode MOVE
  15. ; Parameters : Only source is specified.
  16. ;
  17. ; Note: This is an example of all adrressing modes. This includes 68020++
  18. ;       modes. 
  19. ;
  20. ;    Not all these modes are allowed in some opcodes.
  21. ;
  22. ;
  23. ; 2.) The 68881/68882/68040 floating point opcodes and modes
  24. ;
  25. ; Showing    : all known opcodes
  26. ; Parametes  : Only source is specified.
  27. ;
  28. ;
  29. ; 3.) The 68851/68030/68040 Memory management Unit (MMU) opcodes and modes
  30. ;
  31. ; Showing    : all known opcodes
  32. ; Parameters : Only source is specified.
  33.  
  34.  
  35. Mode_0_:        move.b    d1,d2
  36.         move.w    d1,d2
  37.         move.l    d1,d2
  38.  
  39. **************************************************************************
  40.  
  41. mode_1_:        ;    move.b    a1,d2 not allowed
  42.         move.w    a1,d2
  43.         move.l    a1,d2
  44.  
  45. **************************************************************************
  46.  
  47. mode_2_:        move.b    (a1),d2
  48.         move.w    (a1),d2
  49.         move.l    (a1),d2
  50.  
  51. **************************************************************************
  52.  
  53. mode_3_:        move.b    -(a1),d2
  54.         move.w    -(a1),d2
  55.         move.l    -(a1),d2
  56.  
  57. **************************************************************************
  58.  
  59. mode_4_:        move.b    (a1)+,d2
  60.         move.w    (a1)+,d2
  61.         move.l    (a1)+,d2
  62.  
  63. **************************************************************************
  64.  
  65. mode_5_:        move.b    $7fff(a1),d2
  66.         move.w    $7ffe(a1),d2
  67.         move.l    $7ffe(a1),d2
  68.  
  69. **************************************************************************
  70.  
  71. mode_6a_:    move.b    $7f(a1,d1),d2
  72.         move.w    $7e(a1,d1),d2
  73.         move.l    $7e(a1,d1),d2
  74.  
  75. **************************************************************************
  76.  
  77. mode_6bw_:    move.b    (a1,d1,$7fff.w),d2        ; 68020++
  78.         move.w    (a1,d1,$7ffe.w),d2        ; 68020++
  79.         move.l    (a1,d1,$7ffe.w),d2        ; 68020++
  80.  
  81. **************************************************************************
  82.  
  83. mode_6bl_:    move.b    (a1,d1,$7fffffff.l),d2        ; 68020++
  84.         move.w    (a1,d1,$7ffffffe.l),d2        ; 68020++
  85.         move.l    (a1,d1,$7ffffffe.l),d2        ; 68020++
  86.  
  87. **************************************************************************
  88.  
  89. mode_6cww_:    move.b    ([$7fff.w,a1],d1,$7fff.w),d2        ; 68020++
  90.         move.w    ([$7ffe.w,a1],d1,$7ffe.w),d2        ; 68020++
  91.         move.l    ([$7ffe.w,a1],d1,$7ffe.w),d2        ; 68020++
  92.  
  93. **************************************************************************
  94.  
  95. mode_6cwl_:    move.b    ([$7fff.w,a1],d1,$7fffffff.l),d2    ; 68020++
  96.         move.w    ([$7ffe.w,a1],d1,$7ffffffe.l),d2    ; 68020++
  97.         move.l    ([$7ffe.w,a1],d1,$7ffffffe.l),d2    ; 68020++
  98.  
  99. **************************************************************************
  100.  
  101. mode_6clw_:    move.b    ([$7fffffff.l,a1],d1,$7fff.w),d2    ; 68020++
  102.         move.w    ([$7ffffffe.l,a1],d1,$7ffe.w),d2    ; 68020++
  103.         move.l    ([$7ffffffe.l,a1],d1,$7ffe.w),d2    ; 68020++
  104.  
  105. **************************************************************************
  106.  
  107. mode_6cll_:    move.b    ([$7fffffff.l,a1],d1,$7fffffff.l),d2    ; 68020++
  108.         move.w    ([$7ffffffe.l,a1],d1,$7ffffffe.l),d2    ; 68020++
  109.         move.l    ([$7ffffffe.l,a1],d1,$7ffffffe.l),d2    ; 68020++
  110.  
  111. **************************************************************************
  112.  
  113. mode_6dww_:    move.b    ([$7fff.w,a1,d1],$7fff.w),d2        ; 68020++
  114.         move.w    ([$7ffe.w,a1,d1],$7ffe.w),d2        ; 68020++
  115.         move.l    ([$7ffe.w,a1,d1],$7ffe.w),d2        ; 68020++
  116.  
  117. **************************************************************************
  118.  
  119. mode_6dwl_:    move.b    ([$7fff.w,a1,d1],$7fffffff.l),d2    ; 68020++
  120.         move.w    ([$7ffe.w,a1,d1],$7ffffffe.l),d2    ; 68020++
  121.         move.l    ([$7ffe.w,a1,d1],$7ffffffe.l),d2    ; 68020++
  122.  
  123. **************************************************************************
  124.  
  125. mode_6dlw_:    move.b    ([$7fffffff.l,a1,d1],$7fff.w),d2    ; 68020++
  126.         move.w    ([$7ffffffe.l,a1,d1],$7ffe.w),d2    ; 68020++
  127.         move.l    ([$7ffffffe.l,a1,d1],$7ffe.w),d2    ; 68020++
  128.  
  129. **************************************************************************
  130.  
  131. mode_6dll_:    move.b    ([$7fffffff.l,a1,d1],$7fffffff.l),d2    ; 68020++
  132.         move.w    ([$7ffffffe.l,a1,d1],$7ffffffe.l),d2    ; 68020++
  133.         move.l    ([$7ffffffe.l,a1,d1],$7ffffffe.l),d2    ; 68020++
  134.  
  135. **************************************************************************
  136.  
  137.  
  138. ;- These are variants of the above modes except the Base Displacement or
  139. ;- Index register are supressed
  140.  
  141. suppress_:    move.l    ([0.w,a1],d2),d3
  142.         move.l    ([0.l,a1],d2),d3
  143.         move.l    ([0.w,a1]),d2
  144.         move.l    ([0.l,a1]),d2
  145.         move.l    ([0.l]),d2
  146.         move.l    ([0.w]),d2
  147.  
  148. **************************************************************************
  149.  
  150. mode_7_0_:    move.b    $7fff.w,d2
  151.         move.w    $7ffe.w,d2
  152.         move.l    $7ffe.w,d2
  153.  
  154. **************************************************************************
  155.  
  156. mode_7_1_:    move.b    $7ffff.l,d2
  157.         move.w    $7fffe.l,d2
  158.         move.l    $7fffe.l,d2
  159.  
  160. **************************************************************************
  161.  
  162. ;=============================================================
  163. ; The following PC relative modes are HIGH COMMANDS.
  164. ;
  165. ; Usualy the numbers used in these commands would be labels !!
  166. ; Most assemblers create a relative mode error trying to
  167. ; assemble these commands. When the absolute numbers are
  168. ; labels the assembler WILL allow them.
  169. ;
  170. ; in Asm-One you CAN use label OR absolute numbers.
  171. ; !!! Just be carefull with them  !!!
  172. ;=============================================================
  173.  
  174. mode_7_2_:    move.b    $7f(pc),d2
  175.         move.w    $7f(pc),d2
  176.         move.l    $7ffe(pc),d2
  177.  
  178. mode_7_2labels_:    move.b    mode_7_2_(pc),d2
  179.         move.w    mode_7_2_(pc),d2
  180.         move.l    mode_7_2_(pc),d2
  181.  
  182. ; This is also mode_7_2 but in the new syntax !!!
  183.  
  184. mode_7_2ns_:    move.b    ($7f,pc),d2
  185.         move.w    ($7f,pc),d2
  186.         move.l    ($7ffe,pc),d2
  187.  
  188. mode_7_2nslabels_:
  189.         move.b    (mode_7_2ns_,pc),d2
  190.         move.w    (mode_7_2ns_,pc),d2
  191.         move.l    (mode_7_2ns_,pc),d2
  192.  
  193. **************************************************************************
  194.  
  195. mode_7_3_:    move.b    $7e(pc,d1),d2
  196.         move.w    $7e(pc,d1),d2
  197.         move.l    $7e(pc,d1),d2
  198.  
  199. mode_7_3labels_:    move.b    mode_7_3_(pc,d1),d2
  200.         move.w    mode_7_3_(pc,d1),d2
  201.         move.l    mode_7_3_(pc,d1),d2
  202.  
  203. ; This is also mode_7_3 but in the new syntax !!!
  204.  
  205. mode_7_3ns_:    move.b    ($7e.w,pc,d1),d2
  206.         move.w    ($7e.w,pc,d1),d2
  207.         move.l    ($7e.w,pc,d1),d2
  208.  
  209. mode_7_3nslabels_:
  210.         move.b    ((mode_7_3nslabels_).w,pc,d1),d2
  211.         move.w    ((mode_7_3nslabels_).w,pc,d1),d2
  212.         move.l    ((mode_7_3nslabels_).w,pc,d1),d2
  213.  
  214. mode_7_3w_:    move.b    (pc,d1,$7fff.w),d2        ; 68020++
  215.         move.w    (pc,d1,$7ffe.w),d2        ; 68020++
  216.         move.l    (pc,d1,$7ffe.w),d2        ; 68020++
  217.  
  218. mode_7_3l_:    move.b    (pc,d1,$7fffffff.l),d2        ; 68020++
  219.         move.w    (pc,d1,$7ffffffe.l),d2        ; 68020++
  220.         move.l    (pc,d1,$7ffffffe.l),d2        ; 68020++
  221.  
  222. **************************************************************************
  223.  
  224. mode_7_3postww_:    move.b    ([$7fff.w,pc],d1,$7fff.w),d2        ; 68020++
  225.         move.w    ([$7ffe.w,pc],d1,$7ffe.w),d2        ; 68020++
  226.         move.l    ([$7ffe.w,pc],d1,$7ffe.w),d2        ; 68020++
  227.  
  228. mode_7_3postwwlabels_:
  229.         move.b    ([(mode_7_3postwwlabels_).w,pc],d1,$7fff.w),d2 ; 68020++
  230.         move.w    ([(mode_7_3postwwlabels_).w,pc],d1,$7ffe.w),d2 ; 68020++
  231.         move.l    ([(mode_7_3postwwlabels_).w,pc],d1,$7ffe.w),d2 ; 68020++
  232.  
  233. mode_7_3postwl_:    move.b    ([$7fff.w,pc],d1,$7fffffff.l),d2    ; 68020++
  234.         move.w    ([$7ffe.w,pc],d1,$7ffffffe.l),d2    ; 68020++
  235.         move.l    ([$7ffe.w,pc],d1,$7ffffffe.l),d2    ; 68020++
  236.  
  237. mode_7_3postlw_:    move.b    ([$7fffffff.l,pc],d1,$7fff.w),d2    ; 68020++
  238.         move.w    ([$7ffffffe.l,pc],d1,$7ffe.w),d2    ; 68020++
  239.         move.l    ([$7ffffffe.l,pc],d1,$7ffe.w),d2    ; 68020++
  240.  
  241. mode_7_3postll_:    move.b    ([$7fffffff.l,pc],d1,$7fffffff.l),d2    ; 68020++
  242.         move.w    ([$7ffffffe.l,pc],d1,$7ffffffe.l),d2    ; 68020++
  243.         move.l    ([$7ffffffe.l,pc],d1,$7ffffffe.l),d2    ; 68020++
  244.  
  245. **************************************************************************
  246.  
  247. mode_7_3preww_:    move.b    ([$7fff.w,pc,d1],$7fff.w),d2        ; 68020++
  248.         move.w    ([$7ffe.w,pc,d1],$7ffe.w),d2        ; 68020++
  249.         move.l    ([$7ffe.w,pc,d1],$7ffe.w),d2        ; 68020++
  250.  
  251. mode_7_3prewwlabel_:
  252.         move.b    ([(mode_7_3prewwlabel_).w,pc,d1],$7fff.w),d2 ; 68020++
  253.         move.w    ([(mode_7_3prewwlabel_).w,pc,d1],$7ffe.w),d2 ; 68020++
  254.         move.l    ([(mode_7_3prewwlabel_).w,pc,d1],$7ffe.w),d2 ; 68020++
  255.  
  256. mode_7_3prewl_:    move.b    ([$7fff.w,pc,d1],$7fffffff.l),d2    ; 68020++
  257.         move.w    ([$7ffe.w,pc,d1],$7ffffffe.l),d2    ; 68020++
  258.         move.l    ([$7ffe.w,pc,d1],$7ffffffe.l),d2    ; 68020++
  259.  
  260. mode_7_3prelw_:    move.b    ([$7fffffff.l,pc,d1],$7fff.w),d2    ; 68020++
  261.         move.w    ([$7ffffffe.l,pc,d1],$7ffe.w),d2    ; 68020++
  262.         move.l    ([$7ffffffe.l,pc,d1],$7ffe.w),d2    ; 68020++
  263.  
  264. mode_7_3prell_:    move.b    ([$7fffffff.l,pc,d1],$7fffffff.l),d2    ; 68020++
  265.         move.w    ([$7ffffffe.l,pc,d1],$7ffffffe.l),d2    ; 68020++
  266.         move.l    ([$7ffffffe.l,pc,d1],$7ffffffe.l),d2    ; 68020++
  267.  
  268.  
  269. **************************************************************************
  270.  
  271. mode_7_4_:    move.b    #$7f,d2
  272.         move.w    #$7ffe,d2
  273.         move.l    #$7ffffffe,d2
  274.  
  275. **************************************************************************
  276.  
  277. move16_:    move16    (a1)+,(a2)+
  278.     move16    $40000,(a1)+
  279.     move16    $40000,(a1)
  280.     move16    (a1),$40000
  281.     move16    (a1)+,$40000
  282.  
  283. **************************************************************************
  284.  
  285. ;=========================================================================
  286. ;
  287. ; Some examples using 68020++ adressing modes.
  288. ;
  289. ;-----Example 1------ jumping easier
  290. ;
  291. ; This instruction uses just 1 line to find and jump to a piece of
  292. ; coding getting it's pointers from a tabel !!!
  293. ; Change D0 to 0,1,2 or 3 to jump to example1_a,example1_b,......
  294. ;
  295.  
  296. example_1_:    moveq    #0,d0
  297.         jmp    ([example1_tabel_,pc],d0.w*4) ; !!!!!!!!!!!!!
  298.  
  299. example1_tabel_:    dc.l    example1_a_
  300.         dc.l    example1_b_
  301.         dc.l    example1_c_
  302.         dc.l    example1_d_
  303.  
  304. example1_a_:    moveq    #4,d7
  305.         moveq    #0,d0
  306.         bra.s    example_2_
  307.  
  308. example1_b_:    moveq    #3,d7
  309.         moveq    #0,d0
  310.         bra.s    example_2_
  311.  
  312. example1_c_:    moveq    #2,d7
  313.         moveq    #0,d0
  314.         bra.s    example_2_
  315.  
  316. example1_d_:    moveq    #1,d7
  317.         moveq    #0,d0
  318.         bra.w    example_2_
  319.  
  320.  
  321. ;===============================================================
  322. ;
  323. ;--Example 2---- getting bits easier
  324. ;
  325. ; How's the resourcer comming Thaizer ?????????
  326. ; Getting a bit bitfucked in the bitbrain allready,
  327. ; or is it a bit too easy to get bits in the right bytes ????
  328. ; or was it the left byte ????/
  329. ;
  330. ;                              3         2         1
  331. ;                             10987654321098765432109876543210
  332. example_2_:    move.l    #%10011100100100101000100101010101,d0
  333.         bfextu    d0{1:5},d1
  334.  
  335.  
  336. ;=========================================================================
  337. ;
  338. ; Here starts the Floating point section !!
  339. ;
  340. ;=========================================================================
  341.  
  342. fint_:    fint    fp3    ;
  343.     fint    fp5,fp4    ; info on the
  344.     fint.w    d1,fp1    ; instructions
  345.     fint.w    (a1),fp2    ; can be found in
  346.     fint.l    -(a1),fp3    ; a lot of books !!
  347.     fint.w    (a1)+,fp4    ;
  348.     fint.s    $4000(a1),fp5    ; Be sure to read 
  349.     fint.s    d0,fp2    ; them before 
  350.     fint.p    10(a1,d2.w),fp6    ; trying all these
  351.     fint.d    (a1,d2.w,$4000.w),fp6    ; commands......
  352.     fint.s    (a1,d2.w,$404040.l),fp6    ;
  353.     fint.p    ([$400.w,a1],d2.w,$40000.l),fp6    ; Some will create
  354.     fint.x    ([$404040.l,a1,d2.w],$8277.w),fp6    ; Exeptions !!!
  355.  
  356. **************************************************************************
  357.  
  358. fsinh_:    fsinh    fp3
  359.     fsinh    fp5,fp4
  360.     fsinh.w    d1,fp1
  361.     fsinh.w    (a1),fp2
  362.     fsinh.l    -(a1),fp3
  363.     fsinh.w    (a1)+,fp4
  364.     fsinh.s    $4000(a1),fp5
  365.     fsinh.s    d0,fp2
  366.     fsinh.p    10(a1,d2.w),fp6
  367.     fsinh.d    (a1,d2.w,$4000.w),fp6
  368.     fsinh.s    (a1,d2.w,$404040.l),fp6
  369.     fsinh.p    ([$400.w,a1],d2.w,$40000.l),fp6
  370.     fsinh.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  371.  
  372. **************************************************************************
  373.  
  374. flognp1_:flognp1    fp3
  375.     flognp1    fp5,fp4
  376.     flognp1.w    d1,fp1
  377.     flognp1.w    (a1),fp2
  378.     flognp1.l    -(a1),fp3
  379.     flognp1.w    (a1)+,fp4
  380.     flognp1.s    $4000(a1),fp5
  381.     flognp1.s    d0,fp2
  382.     flognp1.p    10(a1,d2.w),fp6
  383.     flognp1.d    (a1,d2.w,$4000.w),fp6
  384.     flognp1.s    (a1,d2.w,$404040.l),fp6
  385.     flognp1.p    ([$400.w,a1],d2.w,$40000.l),fp6
  386.     flognp1.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  387.  
  388. **************************************************************************
  389.  
  390. fetoxm1_:fetoxm1    fp3
  391.     fetoxm1    fp5,fp4
  392.     fetoxm1.w    d1,fp1
  393.     fetoxm1.w    (a1),fp2
  394.     fetoxm1.l    -(a1),fp3
  395.     fetoxm1.w    (a1)+,fp4
  396.     fetoxm1.s    $4000(a1),fp5
  397.     fetoxm1.s    d0,fp2
  398.     fetoxm1.p    10(a1,d2.w),fp6
  399.     fetoxm1.d    (a1,d2.w,$4000.w),fp6
  400.     fetoxm1.s    (a1,d2.w,$404040.l),fp6
  401.     fetoxm1.p    ([$400.w,a1],d2.w,$40000.l),fp6
  402.     fetoxm1.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  403.  
  404. **************************************************************************
  405.  
  406. ftanh_:    ftanh    fp3
  407.     ftanh    fp5,fp4
  408.     ftanh.w    d1,fp1
  409.     ftanh.w    (a1),fp2
  410.     ftanh.l    -(a1),fp3
  411.     ftanh.w    (a1)+,fp4
  412.     ftanh.s    $4000(a1),fp5
  413.     ftanh.s    d0,fp2
  414.     ftanh.p    10(a1,d2.w),fp6
  415.     ftanh.d    (a1,d2.w,$4000.w),fp6
  416.     ftanh.s    (a1,d2.w,$404040.l),fp6
  417.     ftanh.p    ([$400.w,a1],d2.w,$40000.l),fp6
  418.     ftanh.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  419.  
  420. **************************************************************************
  421.  
  422. fatan_:    fatan    fp3
  423.     fatan    fp5,fp4
  424.     fatan.w    d1,fp1
  425.     fatan.w    (a1),fp2
  426.     fatan.l    -(a1),fp3
  427.     fatan.w    (a1)+,fp4
  428.     fatan.s    $4000(a1),fp5
  429.     fatan.s    d0,fp2
  430.     fatan.p    10(a1,d2.w),fp6
  431.     fatan.d    (a1,d2.w,$4000.w),fp6
  432.     fatan.s    (a1,d2.w,$404040.l),fp6
  433.     fatan.p    ([$400.w,a1],d2.w,$40000.l),fp6
  434.     fatan.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  435.  
  436. **************************************************************************
  437.  
  438. fasin_:    fasin    fp3
  439.     fasin    fp5,fp4
  440.     fasin.w    d1,fp1
  441.     fasin.w    (a1),fp2
  442.     fasin.l    -(a1),fp3
  443.     fasin.w    (a1)+,fp4
  444.     fasin.s    $4000(a1),fp5
  445.     fasin.s    d0,fp2
  446.     fasin.p    10(a1,d2.w),fp6
  447.     fasin.d    (a1,d2.w,$4000.w),fp6
  448.     fasin.s    (a1,d2.w,$404040.l),fp6
  449.     fasin.p    ([$400.w,a1],d2.w,$40000.l),fp6
  450.     fasin.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  451.  
  452. **************************************************************************
  453.  
  454. fatanh_:    fatanh    fp3
  455.     fatanh    fp5,fp4
  456.     fatanh.w    d1,fp1
  457.     fatanh.w    (a1),fp2
  458.     fatanh.l    -(a1),fp3
  459.     fatanh.w    (a1)+,fp4
  460.     fatanh.s    $4000(a1),fp5
  461.     fatanh.s    d0,fp2
  462.     fatanh.p    10(a1,d2.w),fp6
  463.     fatanh.d    (a1,d2.w,$4000.w),fp6
  464.     fatanh.s    (a1,d2.w,$404040.l),fp6
  465.     fatanh.p    ([$400.w,a1],d2.w,$40000.l),fp6
  466.     fatanh.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  467.  
  468. **************************************************************************
  469.  
  470. fsin_:    fsin    fp3
  471.     fsin    fp5,fp4
  472.     fsin.w    d1,fp1
  473.     fsin.w    (a1),fp2
  474.     fsin.l    -(a1),fp3
  475.     fsin.w    (a1)+,fp4
  476.     fsin.s    $4000(a1),fp5
  477.     fsin.s    d0,fp2
  478.     fsin.p    10(a1,d2.w),fp6
  479.     fsin.d    (a1,d2.w,$4000.w),fp6
  480.     fsin.s    (a1,d2.w,$404040.l),fp6
  481.     fsin.p    ([$400.w,a1],d2.w,$40000.l),fp6
  482.     fsin.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  483.  
  484. **************************************************************************
  485.  
  486. ftan_:    ftan    fp3
  487.     ftan    fp5,fp4
  488.     ftan.w    d1,fp1
  489.     ftan.w    (a1),fp2
  490.     ftan.l    -(a1),fp3
  491.     ftan.w    (a1)+,fp4
  492.     ftan.s    $4000(a1),fp5
  493.     ftan.s    d0,fp2
  494.     ftan.p    10(a1,d2.w),fp6
  495.     ftan.d    (a1,d2.w,$4000.w),fp6
  496.     ftan.s    (a1,d2.w,$404040.l),fp6
  497.     ftan.p    ([$400.w,a1],d2.w,$40000.l),fp6
  498.     ftan.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  499.  
  500. **************************************************************************
  501.  
  502. fetox_:    fetox    fp3
  503.     fetox    fp5,fp4
  504.     fetox.w    d1,fp1
  505.     fetox.w    (a1),fp2
  506.     fetox.l    -(a1),fp3
  507.     fetox.w    (a1)+,fp4
  508.     fetox.s    $4000(a1),fp5
  509.     fetox.s    d0,fp2
  510.     fetox.p    10(a1,d2.w),fp6
  511.     fetox.d    (a1,d2.w,$4000.w),fp6
  512.     fetox.s    (a1,d2.w,$404040.l),fp6
  513.     fetox.p    ([$400.w,a1],d2.w,$40000.l),fp6
  514.     fetox.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  515.  
  516. **************************************************************************
  517.  
  518. ftwotox_:ftwotox    fp3
  519.     ftwotox    fp5,fp4
  520.     ftwotox.w    d1,fp1
  521.     ftwotox.w    (a1),fp2
  522.     ftwotox.l    -(a1),fp3
  523.     ftwotox.w    (a1)+,fp4
  524.     ftwotox.s    $4000(a1),fp5
  525.     ftwotox.s    d0,fp2
  526.     ftwotox.p    10(a1,d2.w),fp6
  527.     ftwotox.d    (a1,d2.w,$4000.w),fp6
  528.     ftwotox.s    (a1,d2.w,$404040.l),fp6
  529.     ftwotox.p    ([$400.w,a1],d2.w,$40000.l),fp6
  530.     ftwotox.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  531.  
  532. **************************************************************************
  533.  
  534. ftentox_:ftentox    fp3
  535.     ftentox    fp5,fp4
  536.     ftentox.w    d1,fp1
  537.     ftentox.w    (a1),fp2
  538.     ftentox.l    -(a1),fp3
  539.     ftentox.w    (a1)+,fp4
  540.     ftentox.s    $4000(a1),fp5
  541.     ftentox.s    d0,fp2
  542.     ftentox.p    10(a1,d2.w),fp6
  543.     ftentox.d    (a1,d2.w,$4000.w),fp6
  544.     ftentox.s    (a1,d2.w,$404040.l),fp6
  545.     ftentox.p    ([$400.w,a1],d2.w,$40000.l),fp6
  546.     ftentox.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  547.  
  548. **************************************************************************
  549.  
  550. flogn_:    flogn    fp3
  551.     flogn    fp5,fp4
  552.     flogn.w    d1,fp1
  553.     flogn.w    (a1),fp2
  554.     flogn.l    -(a1),fp3
  555.     flogn.w    (a1)+,fp4
  556.     flogn.s    $4000(a1),fp5
  557.     flogn.s    d0,fp2
  558.     flogn.p    10(a1,d2.w),fp6
  559.     flogn.d    (a1,d2.w,$4000.w),fp6
  560.     flogn.s    (a1,d2.w,$404040.l),fp6
  561.     flogn.p    ([$400.w,a1],d2.w,$40000.l),fp6
  562.     flogn.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  563.  
  564. **************************************************************************
  565.  
  566. flog10_:    flog10    fp3
  567.     flog10    fp5,fp4
  568.     flog10.w    d1,fp1
  569.     flog10.w    (a1),fp2
  570.     flog10.l    -(a1),fp3
  571.     flog10.w    (a1)+,fp4
  572.     flog10.s    $4000(a1),fp5
  573.     flog10.s    d0,fp2
  574.     flog10.p    10(a1,d2.w),fp6
  575.     flog10.d    (a1,d2.w,$4000.w),fp6
  576.     flog10.s    (a1,d2.w,$404040.l),fp6
  577.     flog10.p    ([$400.w,a1],d2.w,$40000.l),fp6
  578.     flog10.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  579.  
  580. **************************************************************************
  581.  
  582. flog2_:    flog2    fp3
  583.     flog2    fp5,fp4
  584.     flog2.w    d1,fp1
  585.     flog2.w    (a1),fp2
  586.     flog2.l    -(a1),fp3
  587.     flog2.w    (a1)+,fp4
  588.     flog2.s    $4000(a1),fp5
  589.     flog2.s    d0,fp2
  590.     flog2.p    10(a1,d2.w),fp6
  591.     flog2.d    (a1,d2.w,$4000.w),fp6
  592.     flog2.s    (a1,d2.w,$404040.l),fp6
  593.     flog2.p    ([$400.w,a1],d2.w,$40000.l),fp6
  594.     flog2.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  595.  
  596. **************************************************************************
  597.  
  598. fcosh_:    fcosh    fp3
  599.     fcosh    fp5,fp4
  600.     fcosh.w    d1,fp1
  601.     fcosh.w    (a1),fp2
  602.     fcosh.l    -(a1),fp3
  603.     fcosh.w    (a1)+,fp4
  604.     fcosh.s    $4000(a1),fp5
  605.     fcosh.s    d0,fp2
  606.     fcosh.p    10(a1,d2.w),fp6
  607.     fcosh.d    (a1,d2.w,$4000.w),fp6
  608.     fcosh.s    (a1,d2.w,$404040.l),fp6
  609.     fcosh.p    ([$400.w,a1],d2.w,$40000.l),fp6
  610.     fcosh.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  611.  
  612. **************************************************************************
  613.  
  614. facos_:    facos    fp3
  615.     facos    fp5,fp4
  616.     facos.w    d1,fp1
  617.     facos.w    (a1),fp2
  618.     facos.l    -(a1),fp3
  619.     facos.w    (a1)+,fp4
  620.     facos.s    $4000(a1),fp5
  621.     facos.s    d0,fp2
  622.     facos.p    10(a1,d2.w),fp6
  623.     facos.d    (a1,d2.w,$4000.w),fp6
  624.     facos.s    (a1,d2.w,$404040.l),fp6
  625.     facos.p    ([$400.w,a1],d2.w,$40000.l),fp6
  626.     facos.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  627.  
  628. **************************************************************************
  629.  
  630. fcos_:    fcos    fp3
  631.     fcos    fp5,fp4
  632.     fcos.w    d1,fp1
  633.     fcos.w    (a1),fp2
  634.     fcos.l    -(a1),fp3
  635.     fcos.w    (a1)+,fp4
  636.     fcos.s    $4000(a1),fp5
  637.     fcos.s    d0,fp2
  638.     fcos.p    10(a1,d2.w),fp6
  639.     fcos.d    (a1,d2.w,$4000.w),fp6
  640.     fcos.s    (a1,d2.w,$404040.l),fp6
  641.     fcos.p    ([$400.w,a1],d2.w,$40000.l),fp6
  642.     fcos.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  643.  
  644. **************************************************************************
  645.  
  646. fgetexp_:fgetexp    fp3,fp3
  647.     fgetexp    fp5,fp4
  648.     fgetexp.w    d1,fp1
  649.     fgetexp.w    (a1),fp2
  650.     fgetexp.l    -(a1),fp3
  651.     fgetexp.w    (a1)+,fp4
  652.     fgetexp.s    $4000(a1),fp5
  653.     fgetexp.s    d0,fp2
  654.     fgetexp.p    10(a1,d2.w),fp6
  655.     fgetexp.d    (a1,d2.w,$4000.w),fp6
  656.     fgetexp.s    (a1,d2.w,$404040.l),fp6
  657.     fgetexp.p    ([$400.w,a1],d2.w,$40000.l),fp6
  658.     fgetexp.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  659.  
  660. **************************************************************************
  661.  
  662. fgetman_:fgetman    fp3,fp3
  663.     fgetman    fp5,fp4
  664.     fgetman.w    d1,fp1
  665.     fgetman.w    (a1),fp2
  666.     fgetman.l    -(a1),fp3
  667.     fgetman.w    (a1)+,fp4
  668.     fgetman.s    $4000(a1),fp5
  669.     fgetman.s    d0,fp2
  670.     fgetman.p    10(a1,d2.w),fp6
  671.     fgetman.d    (a1,d2.w,$4000.w),fp6
  672.     fgetman.s    (a1,d2.w,$404040.l),fp6
  673.     fgetman.p    ([$400.w,a1],d2.w,$40000.l),fp6
  674.     fgetman.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  675.  
  676. **************************************************************************
  677.  
  678. fmod_:    fmod    fp3,fp3
  679.     fmod    fp5,fp4
  680.     fmod.w    d1,fp1
  681.     fmod.w    (a1),fp2
  682.     fmod.l    -(a1),fp3
  683.     fmod.w    (a1)+,fp4
  684.     fmod.s    $4000(a1),fp5
  685.     fmod.s    d0,fp2
  686.     fmod.p    10(a1,d2.w),fp6
  687.     fmod.d    (a1,d2.w,$4000.w),fp6
  688.     fmod.s    (a1,d2.w,$404040.l),fp6
  689.     fmod.p    ([$400.w,a1],d2.w,$40000.l),fp6
  690.     fmod.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  691.  
  692. **************************************************************************
  693.  
  694. fsgldiv_:fsgldiv    fp3,fp3
  695.     fsgldiv    fp5,fp4
  696.     fsgldiv.w    d1,fp1
  697.     fsgldiv.w    (a1),fp2
  698.     fsgldiv.l    -(a1),fp3
  699.     fsgldiv.w    (a1)+,fp4
  700.     fsgldiv.s    $4000(a1),fp5
  701.     fsgldiv.s    d0,fp2
  702.     fsgldiv.p    10(a1,d2.w),fp6
  703.     fsgldiv.d    (a1,d2.w,$4000.w),fp6
  704.     fsgldiv.s    (a1,d2.w,$404040.l),fp6
  705.     fsgldiv.p    ([$400.w,a1],d2.w,$40000.l),fp6
  706.     fsgldiv.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  707.  
  708. **************************************************************************
  709.  
  710. frem_:    frem    fp3,fp3
  711.     frem    fp5,fp4
  712.     frem.w    d1,fp1
  713.     frem.w    (a1),fp2
  714.     frem.l    -(a1),fp3
  715.     frem.w    (a1)+,fp4
  716.     frem.s    $4000(a1),fp5
  717.     frem.s    d0,fp2
  718.     frem.p    10(a1,d2.w),fp6
  719.     frem.d    (a1,d2.w,$4000.w),fp6
  720.     frem.s    (a1,d2.w,$404040.l),fp6
  721.     frem.p    ([$400.w,a1],d2.w,$40000.l),fp6
  722.     frem.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  723.  
  724. **************************************************************************
  725.  
  726. fscale_:    fscale    fp3,fp3
  727.     fscale    fp5,fp4
  728.     fscale.w    d1,fp1
  729.     fscale.w    (a1),fp2
  730.     fscale.l    -(a1),fp3
  731.     fscale.w    (a1)+,fp4
  732.     fscale.s    $4000(a1),fp5
  733.     fscale.s    d0,fp2
  734.     fscale.p    10(a1,d2.w),fp6
  735.     fscale.d    (a1,d2.w,$4000.w),fp6
  736.     fscale.s    (a1,d2.w,$404040.l),fp6
  737.     fscale.p    ([$400.w,a1],d2.w,$40000.l),fp6
  738.     fscale.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  739.  
  740. **************************************************************************
  741.  
  742. fsglmul_:fsglmul    fp3,fp3
  743.     fsglmul    fp5,fp4
  744.     fsglmul.w    d1,fp1
  745.     fsglmul.w    (a1),fp2
  746.     fsglmul.l    -(a1),fp3
  747.     fsglmul.w    (a1)+,fp4
  748.     fsglmul.s    $4000(a1),fp5
  749.     fsglmul.s    d0,fp2
  750.     fsglmul.p    10(a1,d2.w),fp6
  751.     fsglmul.d    (a1,d2.w,$4000.w),fp6
  752.     fsglmul.s    (a1,d2.w,$404040.l),fp6
  753.     fsglmul.p    ([$400.w,a1],d2.w,$40000.l),fp6
  754.     fsglmul.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  755.  
  756. **************************************************************************
  757.  
  758. fsincos_:fsincos    fp3,fp3_:fp2
  759.     fsincos    fp5,fp4_:fp2
  760.     fsincos.w    d1,fp1_:fp2
  761.     fsincos.w    (a1),fp2_:fp2
  762.     fsincos.l    -(a1),fp3_:fp2
  763.     fsincos.w    (a1)+,fp4_:fp2
  764.     fsincos.s    $4000(a1),fp5_:fp2
  765.     fsincos.s    d0,fp2_:fp2
  766.     fsincos.p    10(a1,d2.w),fp6_:fp2
  767.     fsincos.d    (a1,d2.w,$4000.w),fp6_:fp2
  768.     fsincos.s    (a1,d2.w,$404040.l),fp6_:fp2
  769.     fsincos.p    ([$400.w,a1],d2.w,$40000.l),fp6_:fp2
  770.     fsincos.x    ([$404040.l,a1,d2.w],$8277.w),fp6_:fp2
  771.  
  772. **************************************************************************
  773.  
  774. fcmp_:    fcmp    fp3,fp3
  775.     fcmp    fp5,fp4
  776.     fcmp.w    d1,fp1
  777.     fcmp.w    (a1),fp2
  778.     fcmp.l    -(a1),fp3
  779.     fcmp.w    (a1)+,fp4
  780.     fcmp.s    $4000(a1),fp5
  781.     fcmp.s    d0,fp2
  782.     fcmp.p    10(a1,d2.w),fp6
  783.     fcmp.d    (a1,d2.w,$4000.w),fp6
  784.     fcmp.s    (a1,d2.w,$404040.l),fp6
  785.     fcmp.p    ([$400.w,a1],d2.w,$40000.l),fp6
  786.     fcmp.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  787.  
  788. **************************************************************************
  789.  
  790. ftst_:    ftst    fp3
  791.     ftst    fp4
  792.     ftst.w    d1
  793.     ftst.w    (a1)
  794.     ftst.l    -(a1)
  795.     ftst.w    (a1)+
  796.     ftst.s    $4000(a1)
  797.     ftst.s    d0
  798.     ftst.p    10(a1,d2.w)
  799.     ftst.d    (a1,d2.w,$4000.w)
  800.     ftst.s    (a1,d2.w,$404040.l)
  801.     ftst.p    ([$400.w,a1],d2.w,$40000.l)
  802.     ftst.x    ([$404040.l,a1,d2.w],$8277.w)
  803.  
  804. **************************************************************************
  805.  
  806. fabs_:    fabs    fp3,fp3
  807.     fabs    fp5,fp4
  808.     fabs.w    d1,fp1
  809.     fabs.w    (a1),fp2
  810.     fabs.l    -(a1),fp3
  811.     fabs.w    (a1)+,fp4
  812.     fabs.s    $4000(a1),fp5
  813.     fabs.s    d0,fp2
  814.     fabs.p    10(a1,d2.w),fp6
  815.     fabs.d    (a1,d2.w,$4000.w),fp6
  816.     fabs.s    (a1,d2.w,$404040.l),fp6
  817.     fabs.p    ([$400.w,a1],d2.w,$40000.l),fp6
  818.     fabs.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  819.  
  820. **************************************************************************
  821.  
  822. fadd_:    fadd    fp3,fp3
  823.     fadd    fp5,fp4
  824.     fadd.w    d1,fp1
  825.     fadd.w    (a1),fp2
  826.     fadd.l    -(a1),fp3
  827.     fadd.w    (a1)+,fp4
  828.     fadd.s    $4000(a1),fp5
  829.     fadd.s    d0,fp2
  830.     fadd.p    10(a1,d2.w),fp6
  831.     fadd.d    (a1,d2.w,$4000.w),fp6
  832.     fadd.s    (a1,d2.w,$404040.l),fp6
  833.     fadd.p    ([$400.w,a1],d2.w,$40000.l),fp6
  834.     fadd.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  835.  
  836. **************************************************************************
  837.  
  838. fdiv_:    fdiv    fp3,fp3
  839.     fdiv    fp5,fp4
  840.     fdiv.w    d1,fp1
  841.     fdiv.w    (a1),fp2
  842.     fdiv.l    -(a1),fp3
  843.     fdiv.w    (a1)+,fp4
  844.     fdiv.s    $4000(a1),fp5
  845.     fdiv.s    d0,fp2
  846.     fdiv.p    10(a1,d2.w),fp6
  847.     fdiv.d    (a1,d2.w,$4000.w),fp6
  848.     fdiv.s    (a1,d2.w,$404040.l),fp6
  849.     fdiv.p    ([$400.w,a1],d2.w,$40000.l),fp6
  850.     fdiv.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  851.  
  852. **************************************************************************
  853.  
  854. fmul_:    fmul    fp3,fp3
  855.     fmul    fp5,fp4
  856.     fmul.w    d1,fp1
  857.     fmul.w    (a1),fp2
  858.     fmul.l    -(a1),fp3
  859.     fmul.w    (a1)+,fp4
  860.     fmul.s    $4000(a1),fp5
  861.     fmul.s    d0,fp2
  862.     fmul.p    10(a1,d2.w),fp6
  863.     fmul.d    (a1,d2.w,$4000.w),fp6
  864.     fmul.s    (a1,d2.w,$404040.l),fp6
  865.     fmul.p    ([$400.w,a1],d2.w,$40000.l),fp6
  866.     fmul.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  867.  
  868. **************************************************************************
  869.  
  870. fneg_:    fneg    fp3
  871.     fneg    fp5,fp4
  872.     fneg.w    d1,fp1
  873.     fneg.w    (a1),fp2
  874.     fneg.l    -(a1),fp3
  875.     fneg.w    (a1)+,fp4
  876.     fneg.s    $4000(a1),fp5
  877.     fneg.s    d0,fp2
  878.     fneg.p    10(a1,d2.w),fp6
  879.     fneg.d    (a1,d2.w,$4000.w),fp6
  880.     fneg.s    (a1,d2.w,$404040.l),fp6
  881.     fneg.p    ([$400.w,a1],d2.w,$40000.l),fp6
  882.     fneg.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  883.  
  884. **************************************************************************
  885.  
  886. fsqrt_:    fsqrt    fp3,fp3
  887.     fsqrt    fp5,fp4
  888.     fsqrt.w    d1,fp1
  889.     fsqrt.w    (a1),fp2
  890.     fsqrt.l    -(a1),fp3
  891.     fsqrt.w    (a1)+,fp4
  892.     fsqrt.s    $4000(a1),fp5
  893.     fsqrt.s    d0,fp2
  894.     fsqrt.p    10(a1,d2.w),fp6
  895.     fsqrt.d    (a1,d2.w,$4000.w),fp6
  896.     fsqrt.s    (a1,d2.w,$404040.l),fp6
  897.     fsqrt.p    ([$400.w,a1],d2.w,$40000.l),fp6
  898.     fsqrt.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  899.  
  900. **************************************************************************
  901.  
  902. fsub_:    fsub    fp3,fp3
  903.     fsub    fp5,fp4
  904.     fsub.w    d1,fp1
  905.     fsub.w    (a1),fp2
  906.     fsub.l    -(a1),fp3
  907.     fsub.w    (a1)+,fp4
  908.     fsub.s    $4000(a1),fp5
  909.     fsub.s    d0,fp2
  910.     fsub.p    10(a1,d2.w),fp6
  911.     fsub.d    (a1,d2.w,$4000.w),fp6
  912.     fsub.s    (a1,d2.w,$404040.l),fp6
  913.     fsub.p    ([$400.w,a1],d2.w,$40000.l),fp6
  914.     fsub.x    ([$404040.l,a1,d2.w],$8277.w),fp6
  915.  
  916. **************************************************************************
  917.  
  918. fsave_:    fsave    (a1)
  919.     fsave    -(a1)
  920.     fsave    $4000(a1)
  921.     fsave    10(a1,d2.w)
  922.     fsave    (a1,d2.w,$4000.w)
  923.     fsave    (a1,d2.w,$404040.l)
  924.     fsave    ([$400.w,a1],d2.w,$40000.l)
  925.     fsave    ([$404040.l,a1,d2.w],$8277.w)
  926.  
  927. **************************************************************************
  928.  
  929. frestore_:frestore    (a1)
  930.     frestore    (a1)+
  931.     frestore    $4000(a1)
  932.     frestore    10(a1,d2.w)
  933.     frestore    (a1,d2.w,$4000.w)
  934.     frestore    (a1,d2.w,$404040.l)
  935.     frestore    ([$400.w,a1],d2.w,$40000.l)
  936.     frestore    ([$404040.l,a1,d2.w],$8277.w)
  937.  
  938. **************************************************************************
  939.  
  940.  
  941. fbcc_:    fbf    fbcc_
  942.     fbf.w    fbcc_
  943.     fbf.l    fbcc_
  944.  
  945.     fbeq    fbcc_
  946.     fbeq.w    fbcc_
  947.     fbeq.l    fbcc_
  948.  
  949.     fbogt    fbcc_
  950.     fbogt.w    fbcc_
  951.     fbogt.l    fbcc_
  952.  
  953.     fboge    fbcc_
  954.     fboge.w    fbcc_
  955.     fboge.l    fbcc_
  956.  
  957.     fbolt    fbcc_
  958.     fbolt.w    fbcc_
  959.     fbolt.l    fbcc_
  960.  
  961.     fbole    fbcc_
  962.     fbole.w    fbcc_
  963.     fbole.l    fbcc_
  964.  
  965.     fbogl    fbcc_
  966.     fbogl.w    fbcc_
  967.     fbogl.l    fbcc_
  968.  
  969.     fbor    fbcc_
  970.     fbor.w    fbcc_
  971.     fbor.l    fbcc_
  972.  
  973.     fbun    fbcc_
  974.     fbun.w    fbcc_
  975.     fbun.l    fbcc_
  976.  
  977.     fbueq    fbcc_
  978.     fbueq.w    fbcc_
  979.     fbueq.l    fbcc_
  980.  
  981.     fbugt    fbcc_
  982.     fbugt.w    fbcc_
  983.     fbugt.l    fbcc_
  984.  
  985.     fbuge    fbcc_
  986.     fbuge.w    fbcc_
  987.     fbuge.l    fbcc_
  988.  
  989.     fbult    fbcc_
  990.     fbult.w    fbcc_
  991.     fbult.l    fbcc_
  992.  
  993.     fbule    fbcc_
  994.     fbule.w    fbcc_
  995.     fbule.l    fbcc_
  996.  
  997.     fbne    fbcc_
  998.     fbne.w    fbcc_
  999.     fbne.l    fbcc_
  1000.  
  1001.     fbt    fbcc_
  1002.     fbt.w    fbcc_
  1003.     fbt.l    fbcc_
  1004.  
  1005.     fbsf    fbcc_
  1006.     fbsf.w    fbcc_
  1007.     fbsf.l    fbcc_
  1008.     
  1009.     fbseq    fbcc_
  1010.     fbseq.w    fbcc_
  1011.     fbseq.l    fbcc_
  1012.     
  1013.     fbgt    fbcc_
  1014.     fbgt.w    fbcc_
  1015.     fbgt.l    fbcc_
  1016.     
  1017.     fbge    fbcc_
  1018.     fbge.w    fbcc_
  1019.     fbge.l    fbcc_
  1020.     
  1021.     fblt    fbcc_
  1022.     fblt.w    fbcc_
  1023.     fblt.l    fbcc_
  1024.     
  1025.     fble    fbcc_
  1026.     fble.w    fbcc_
  1027.     fble.l    fbcc_
  1028.     
  1029.     fbgl    fbcc_
  1030.     fbgl.w    fbcc_
  1031.     fbgl.l    fbcc_
  1032.     
  1033.     fbgle    fbcc_
  1034.     fbgle.w    fbcc_
  1035.     fbgle.l    fbcc_
  1036.     
  1037.     fbngle    fbcc_
  1038.     fbngle.w    fbcc_
  1039.     fbngle.l    fbcc_
  1040.     
  1041.     fbngl    fbcc_
  1042.     fbngl.w    fbcc_
  1043.     fbngl.l    fbcc_
  1044.     
  1045.     fbnle    fbcc_
  1046.     fbnle.w    fbcc_
  1047.     fbnle.l    fbcc_
  1048.     
  1049.     fbnlt    fbcc_
  1050.     fbnlt.w    fbcc_
  1051.     fbnlt.l    fbcc_
  1052.     
  1053.     fbnge    fbcc_
  1054.     fbnge.w    fbcc_
  1055.     fbnge.l    fbcc_
  1056.     
  1057.     fbngt    fbcc_
  1058.     fbngt.w    fbcc_
  1059.     fbngt.l    fbcc_
  1060.     
  1061.     fbsne    fbcc_
  1062.     fbsne.w    fbcc_
  1063.     fbsne.l    fbcc_
  1064.     
  1065.     fbst    fbcc_
  1066.     fbst.w    fbcc_
  1067.     fbst.l    fbcc_
  1068.  
  1069. **************************************************************************
  1070.     
  1071. fscc_:    fsf    (a0)
  1072.     fsf    d0
  1073.     fsf    (a0)+
  1074.     fsf    -(a0)
  1075.     fsf    $2000(a0)
  1076.     fsf    (a0,d2,$400)
  1077.     fsf    ([$400.w,a0,d2.w*4],(fscc_).l)
  1078.     fsf    ([$400.w,a0],d2.w*4,(fscc_).l)
  1079.     fsf    $2000
  1080.     fsf    $20000
  1081.     fseq    (a0)
  1082.     fsogt    (a0)
  1083.     fsoge    (a0)
  1084.     fsolt    (a0)
  1085.     fsole    (a0)
  1086.     fsogl    (a0)
  1087.     fsor    (a0)
  1088.     fsun    (a0)
  1089.     fsueq    (a0)
  1090.     fsugt    (a0)
  1091.     fsuge    (a0)
  1092.     fsult    (a0)
  1093.     fsule    (a0)
  1094.     fsne    (a0)
  1095.     fst    (a0)
  1096.     fssf    (a0)
  1097.     fsseq    (a0)
  1098.     fsgt    (a0)
  1099.     fsge    (a0)
  1100.     fslt    (a0)
  1101.     fsle    (a0)
  1102.     fsgl    (a0)
  1103.     fsgle    (a0)
  1104.     fsngle    (a0)
  1105.     fsngl    (a0)
  1106.     fsnle    (a0)
  1107.     fsnlt    (a0)
  1108.     fsnge    (a0)
  1109.     fsngt    (a0)
  1110.     fssne    (a0)
  1111.     fsst    (a0)
  1112.  
  1113. **************************************************************************
  1114.  
  1115. fdbcc_:    fdbf    d5,fdbcc_
  1116.     fdbeq    d5,fdbcc_
  1117.     fdbogt    d5,fdbcc_
  1118.     fdboge    d5,fdbcc_
  1119.     fdbolt    d5,fdbcc_
  1120.     fdbole    d5,fdbcc_
  1121.     fdbogl    d5,fdbcc_
  1122.     fdbor    d5,fdbcc_
  1123.     fdbun    d5,fdbcc_
  1124.     fdbueq    d5,fdbcc_
  1125.     fdbugt    d5,fdbcc_
  1126.     fdbuge    d5,fdbcc_
  1127.     fdbult    d5,fdbcc_
  1128.     fdbule    d5,fdbcc_
  1129.     fdbne    d5,fdbcc_
  1130.     fdbt    d5,fdbcc_
  1131.     fdbsf    d5,fdbcc_
  1132.     fdbseq    d5,fdbcc_
  1133.     fdbgt    d5,fdbcc_
  1134.     fdbge    d5,fdbcc_
  1135.     fdblt    d5,fdbcc_
  1136.     fdble    d5,fdbcc_
  1137.     fdbgl    d5,fdbcc_
  1138.     fdbgle    d5,fdbcc_
  1139.     fdbngle    d5,fdbcc_
  1140.     fdbngl    d5,fdbcc_
  1141.     fdbnle    d5,fdbcc_
  1142.     fdbnlt    d5,fdbcc_
  1143.     fdbnge    d5,fdbcc_
  1144.     fdbngt    d5,fdbcc_
  1145.     fdbsne    d5,fdbcc_
  1146.     fdbst    d5,fdbcc_
  1147.  
  1148. **************************************************************************
  1149.  
  1150. ftrapcc_:ftrapf
  1151.     ftrapf.w    #$7422
  1152.     ftrapf.l    #$7422
  1153.  
  1154.     ftrapeq
  1155.     ftrapeq.w    #$7422
  1156.     ftrapeq.l    #$7422
  1157.  
  1158.     ftrapogt
  1159.     ftrapogt.w    #$7422
  1160.     ftrapogt.l    #$7422
  1161.  
  1162.     ftrapoge
  1163.     ftrapoge.w    #$7422
  1164.     ftrapoge.l    #$7422
  1165.  
  1166.     ftrapolt
  1167.     ftrapolt.w    #$7422
  1168.     ftrapolt.l    #$7422
  1169.  
  1170.     ftrapole
  1171.     ftrapole.w    #$7422
  1172.     ftrapole.l    #$7422
  1173.  
  1174.     ftrapogl
  1175.     ftrapogl.w    #$7422
  1176.     ftrapogl.l    #$7422
  1177.  
  1178.     ftrapor
  1179.     ftrapor.w    #$7422
  1180.     ftrapor.l    #$7422
  1181.  
  1182.     ftrapun
  1183.     ftrapun.w    #$7422
  1184.     ftrapun.l    #$7422
  1185.  
  1186.     ftrapueq
  1187.     ftrapueq.w    #$7422
  1188.     ftrapueq.l    #$7422
  1189.  
  1190.     ftrapugt
  1191.     ftrapugt.w    #$7422
  1192.     ftrapugt.l    #$7422
  1193.  
  1194.     ftrapuge
  1195.     ftrapuge.w    #$7422
  1196.     ftrapuge.l    #$7422
  1197.  
  1198.     ftrapult
  1199.     ftrapult.w    #$7422
  1200.     ftrapult.l    #$7422
  1201.  
  1202.     ftrapule
  1203.     ftrapule.w    #$7422
  1204.     ftrapule.l    #$7422
  1205.  
  1206.     ftrapne
  1207.     ftrapne.w    #$7422
  1208.     ftrapne.l    #$7422
  1209.  
  1210.     ftrapt
  1211.     ftrapt.w    #$7422
  1212.     ftrapt.l    #$7422
  1213.  
  1214.     ftrapsf
  1215.     ftrapsf.w    #$7422
  1216.     ftrapsf.l    #$7422
  1217.     
  1218.     ftrapseq
  1219.     ftrapseq.w    #$7422
  1220.     ftrapseq.l    #$7422
  1221.     
  1222.     ftrapgt
  1223.     ftrapgt.w    #$7422
  1224.     ftrapgt.l    #$7422
  1225.     
  1226.     ftrapge
  1227.     ftrapge.w    #$7422
  1228.     ftrapge.l    #$7422
  1229.     
  1230.     ftraplt
  1231.     ftraplt.w    #$7422
  1232.     ftraplt.l    #$7422
  1233.     
  1234.     ftraple
  1235.     ftraple.w    #$7422
  1236.     ftraple.l    #$7422
  1237.     
  1238.     ftrapgl
  1239.     ftrapgl.w    #$7422
  1240.     ftrapgl.l    #$7422
  1241.     
  1242.     ftrapgle
  1243.     ftrapgle.w    #$7422
  1244.     ftrapgle.l    #$7422
  1245.     
  1246.     ftrapngle    
  1247.     ftrapngle.w    #$7422
  1248.     ftrapngle.l    #$7422
  1249.     
  1250.     ftrapngl
  1251.     ftrapngl.w    #$7422
  1252.     ftrapngl.l    #$7422
  1253.     
  1254.     ftrapnle
  1255.     ftrapnle.w    #$7422
  1256.     ftrapnle.l    #$7422
  1257.     
  1258.     ftrapnlt
  1259.     ftrapnlt.w    #$7422
  1260.     ftrapnlt.l    #$7422
  1261.     
  1262.     ftrapnge
  1263.     ftrapnge.w    #$7422
  1264.     ftrapnge.l    #$7422
  1265.     
  1266.     ftrapngt
  1267.     ftrapngt.w    #$7422
  1268.     ftrapngt.l    #$7422
  1269.     
  1270.     ftrapsne
  1271.     ftrapsne.w    #$7422
  1272.     ftrapsne.l    #$7422
  1273.     
  1274.     ftrapst
  1275.     ftrapst.w    #$7422
  1276.     ftrapst.l    #$7422
  1277.     
  1278. **************************************************************************
  1279.  
  1280. fmove_:    fmove.s    d1,fp0
  1281.     fmove.w    (a1),fp1
  1282.     fmove.l    (a1)+,fp2
  1283.     fmove.s    -(a1),fp3
  1284.     fmove.d    $3000(a1),fp1
  1285.     fmove.x    $20(a1,d1.w),fp2
  1286.     fmove.p    (a1,d2.w*8,$4000.w),fp3
  1287.     fmove.p    ([$6000.w,a1,d2.w*8],$4000.w),fp3
  1288.     fmove.p    ([$6000.w,a1],d2.w*8,$4000.w),fp3
  1289.  
  1290.     fmove.s    fp1,d1
  1291.     fmove.w    fp2,(a1)
  1292.     fmove.l    fp3,(a1)+
  1293.     fmove.s    fp4,-(a1)
  1294.     fmove.d    fp5,$3000(a1)
  1295.     fmove.x    fp6,$20(a1,d1.w)
  1296.     fmove.p    fp7,(a1,d2.w*8,$4000.w)
  1297.     fmove.p    fp6,([$6000.w,a1,d2.w*8],$4000.w)
  1298.     fmove.p    fp5,([$6000.w,a1],d2.w*8,$4000.w)
  1299.  
  1300.     fmove.p    fp3,([$6000.w,a1,d2.w*8],$4000.w){d2}
  1301.     fmove.p    fp3,([$6000.w,a1],d2.w*8,$4000.w){#20}
  1302.     fmove.p    fp3,([$6000.w,a1],d2.w*8,$4000.w){$20}
  1303.  
  1304. **************************************************************************
  1305.  
  1306. fmove_cr_:fmove.l    d1,fpsr
  1307.     fmove.l    (a1),fpcr
  1308.     fmove.l    (a1)+,fpiar
  1309.     fmove.l    -(a1),fpcr
  1310.     fmove.l    $3000(a1),fpsr
  1311.     fmove.l    $20(a1,d1.w),fpcr
  1312.     fmove.l    (a1,d2.w*8,$4000.w),fpiar
  1313.     fmove.l    ([$6000.w,a1,d2.w*8],$4000.w),fpsr
  1314.     fmove.l    ([$6000.w,a1],d2.w*8,$4000.w),fpcr
  1315.  
  1316.     fmove.l    fpsr,d1
  1317.     fmove.l    fpcr,(a1)
  1318.     fmove.l    fpiar,(a1)+
  1319.     fmove.l    fpcr,-(a1)
  1320.     fmove.l    fpsr,$3000(a1)
  1321.     fmove.l    fpcr,$20(a1,d1.w)
  1322.     fmove.l    fpiar,(a1,d2.w*8,$4000.w)
  1323.     fmove.l    fpsr,([$6000.w,a1,d2.w*8],$4000.w)
  1324.     fmove.l    fpcr,([$6000.w,a1],d2.w*8,$4000.w)
  1325.  
  1326. **************************************************************************
  1327.  
  1328. fmovem_crto_:
  1329.     fmovem    (a1),fpcr/fpsr
  1330.     fmovem    (a1)+,fpsr/fpiar
  1331.     fmovem    $3000(a1),fpcr/fpsr
  1332.     fmovem    $20(a1,d1.w),fpcr/fpsr/fpiar
  1333.     fmovem    (a1,d2.w*8,$4000.w),fpcr/fpiar
  1334.     fmovem    ([$6000.w,a1,d2.w*8],$4000.w),fpsr/fpiar
  1335.     fmovem    ([$6000.w,a1],d2.w*8,$4000.w),fpcr/fpsr/fpiar
  1336.  
  1337. fmovem_crfrom_:
  1338.     fmovem    fpcr/fpsr,(a1)
  1339.     fmovem    fpcr/fpiar,(a1)+
  1340.     fmovem    fpcr/fpsr/fpiar,-(a1)
  1341.     fmovem    fpsr/fpiar,$3000(a1)
  1342.     fmovem    fpcr/fpsr,$20(a1,d1.w)
  1343.     fmovem    fpsr/fpiar,(a1,d2.w*8,$4000.w)
  1344.     fmovem    fpcr/fpsr,([$6000.w,a1,d2.w*8],$4000.w)
  1345.     fmovem    fpcr/fpiar,([$6000.w,a1],d2.w*8,$4000.w)
  1346.  
  1347. **************************************************************************
  1348.  
  1349.  
  1350. fmovem_:    fmovem    fp0-fp2/fp4-fp5/fp7,-(a0)
  1351.     fmovem    fp0-fp2/fp4-fp5/fp7,(a0)
  1352.     fmovem    (a0)+,fp0-fp5
  1353.     fmovem    ([$400.w,a0],d0.w),fp0-fp2/fp4-fp5/fp7
  1354.  
  1355. **************************************************************************
  1356.  
  1357. fmovecr_:fmovecr    #0,fp0
  1358.     fmovecr    #$2,fp5
  1359.     fmovecr    #$b,fp1
  1360.     fmovecr    #$c,fp2
  1361.     fmovecr    #$d,fp3
  1362.     fmovecr    #$e,fp4
  1363.     fmovecr    #$f,fp5
  1364.  
  1365. **************************************************************************
  1366.  
  1367. ;=========================================================================
  1368. ;
  1369. ; Here starts the Memory Management Unit (MMU) section !!
  1370. ;
  1371. ;=========================================================================
  1372.  
  1373. PBccword_:
  1374.     pbbs.w    PBccword_
  1375.     pbbc.w    PBccword_
  1376.     pbls.w    PBccword_
  1377.     pbls.w    PBccword_
  1378.     pbss.w    PBccword_
  1379.     pbss.w    PBccword_
  1380.     pbas.w    PBccword_
  1381.     pbas.w    PBccword_
  1382.     pbws.w    PBccword_
  1383.     pbws.w    PBccword_
  1384.     pbis.w    PBccword_
  1385.     pbis.w    PBccword_
  1386.     pbgs.w    PBccword_
  1387.     pbgs.w    PBccword_
  1388.     pbcs.w    PBccword_
  1389.     pbcs.w    PBccword_
  1390.  
  1391. PBcclong_:
  1392.     pbbs.l    PBcclong_
  1393.     pbbc.l    PBcclong_
  1394.     pbls.l    PBcclong_
  1395.     pbls.l    PBcclong_
  1396.     pbss.l    PBcclong_
  1397.     pbss.l    PBcclong_
  1398.     pbas.l    PBcclong_
  1399.     pbas.l    PBcclong_
  1400.     pbws.l    PBcclong_
  1401.     pbws.l    PBcclong_
  1402.     pbis.l    PBcclong_
  1403.     pbis.l    PBcclong_
  1404.     pbgs.l    PBcclong_
  1405.     pbgs.l    PBcclong_
  1406.     pbcs.l    PBcclong_
  1407.     pbcs.l    PBcclong_
  1408.  
  1409. **************************************************************************
  1410.  
  1411. PDBcc_:    pdbbs    D7,PDBcc_
  1412.     pdbbc    D7,PDBcc_
  1413.     pdbls    D7,PDBcc_
  1414.     pdblc    D7,PDBcc_
  1415.     pdbss    D7,PDBcc_
  1416.     pdbsc    D7,PDBcc_
  1417.     pdbas    D7,PDBcc_
  1418.     pdbac    D7,PDBcc_
  1419.     pdbws    D7,PDBcc_
  1420.     pdbwc    D7,PDBcc_
  1421.     pdbis    D7,PDBcc_
  1422.     pdbic    D7,PDBcc_
  1423.     pdbgs    D7,PDBcc_
  1424.     pdbgc    D7,PDBcc_
  1425.     pdbcs    D7,PDBcc_
  1426.     pdbcc    D7,PDBcc_
  1427.  
  1428. **************************************************************************
  1429.  
  1430. PFLUSH_:
  1431.     pflusha        ; MC68030/MC68040/MC68851
  1432.  
  1433.     pflush    (a0)        ; MC68040 only
  1434.     pflushn    (a0)        ; MC68040 only
  1435.     
  1436.     pflushr    ([$402.w,pc,d2.l*8],$726252.l)
  1437.  
  1438.     pflush    #5,#4        ; MC68030 / MC68851
  1439.     pflush    d2,#4        ; MC68030 / MC68851
  1440.     pflush    SFC,#4        ; MC68030 / MC68851
  1441.     pflush    DFC,#4        ; MC68030 / MC68851
  1442.  
  1443.     pflush    #5,#1,(a0,d0.w*2,$200.w)    ; MC68030 / MC68851
  1444.     pflush    d2,#2,(a0,d0.w*4,$300.w)    ; MC68030 / MC68851
  1445.     pflush    SFC,#3,(a0,d0.w*8,$400.w)    ; MC68030 / MC68851
  1446.     pflush    DFC,#4,(a0,d0.w*8,$400.w)    ; MC68030 / MC68851
  1447.  
  1448.     pflushs    #5,#4        ; MC68851
  1449.     pflushs    d2,#4        ; MC68851
  1450.     pflushs    SFC,#4        ; MC68851
  1451.     pflushs    DFC,#4        ; MC68851
  1452.     pflushs    #5,#1,(a0,d0.w*2,$200.w)    ; MC68851
  1453.     pflushs    d2,#2,(a0,d0.w*4,$300.w)    ; MC68851
  1454.     pflushs    SFC,#3,(a0,d0.w*8,$400.w)    ; MC68851
  1455.     pflushs    DFC,#4,(a0,d0.w*8,$400.w)    ; MC68851
  1456.  
  1457. **************************************************************************
  1458.  
  1459. PLOAD_:    ploadr    #%111,(a1)    ; MC68030 / MC68851
  1460.     ploadw    #%110,$2000(a2)    ; MC68030 / MC68851
  1461.     ploadr    #%0111,([$400.w,a2,d6.l*8],$919.l)    ; MC68851
  1462.     ploadw    #%1010,([$400.w,a2],d6.w*4,$919.w)    ; MC68851
  1463.  
  1464. **************************************************************************
  1465.  
  1466. PMOVE_:    pmove.b    cal,(a0)
  1467.     pmove.b    ([$100.w,a1,d2.w],$400.l),val
  1468.     pmove.b    scc,d0
  1469.  
  1470.     pmove.w    mmusr,(a1)
  1471.     pmove.w    acusr,(a2)
  1472.     pmove.w    psr,(a3)
  1473.     pmove.w    pcr,(a4)
  1474.     pmove.w    bad2,(a5,d0.w*2)
  1475.     pmove.w    bac3,([$400.w,a4,d3.l*4],$500.w)
  1476.     pmove.w    ac,([$400.w,a3,d3.l*4],$500.w)
  1477.     pmove.w    (a0),mmusr
  1478.     pmove.w    (a1),acusr
  1479.     pmove.w    (a2),psr
  1480.     pmove.w    (a3),pcr
  1481.     pmove.w    (a5,d0.w*2),bad2
  1482.     pmove.w    ([$400.w,a4,d3.l*4],$500.w),bac3
  1483.     pmove.w    ([$400.w,a3,d3.l*4],$500.w),ac
  1484.  
  1485.     pmove.l    tc,(a1,d0.w*2,$400.w)
  1486.     pmove.l    tt0,(a2)
  1487.     pmove.l    tt1,(a3)
  1488.     pmove.l    (a1,d0.w*2,$400.w),tc
  1489.     pmove.l    (a2),tt0
  1490.     pmove.l    (a3),tt1
  1491.  
  1492.     pmove.q    srp,(a2)
  1493.     pmove.q    crp,(a3)
  1494.     pmove.d    drp,(a4)
  1495.     pmove.q    (a2),srp
  1496.     pmove.q    (a3),crp
  1497.     pmove.d    (a4),drp
  1498.  
  1499. **************************************************************************
  1500.  
  1501. PSAVE_:    psave    (a1)
  1502.     psave    -(a2)
  1503.     psave    $2000(a3)
  1504.     psave    $40(a0,d2.w)
  1505.     psave    (a2,d3.w*4,$400.w)
  1506.  
  1507. **************************************************************************
  1508.  
  1509. PRESTORE_:
  1510.     prestore    (a1)
  1511.     prestore    (a2)+
  1512.     prestore    $2000(a3)
  1513.     prestore    $40(a0,d2.w)
  1514.     prestore    (a2,d3.w*4,$400.w)
  1515.  
  1516. **************************************************************************
  1517.  
  1518. PScc_:    psbs    d1
  1519.     psbc    (a2)
  1520.     psls    (a3)+
  1521.     pslc    -(a4)
  1522.     psss    $3000(a5)
  1523.     pssc    $40(a6,d0.w)
  1524.     psas    ([$450.w,a5,d2.w*4])
  1525.     psac    ([$500.l,a4,d3.l*2],$992.w)
  1526.     psws    $400.w
  1527.     pswc    PScc_
  1528.     psis    ([$400.w,a3],d6.w*8,$99283.l)
  1529.     psic    (a5,d2.w*4,$450.w)
  1530.     psgs    (d4)
  1531.     psgc    (a3,d4)
  1532.     pscs    (d4.w,$400)
  1533.     pscc    (d7.l*2,$200.w)
  1534.  
  1535. **************************************************************************
  1536.  
  1537. PTEST_:    ptestr    (a1)
  1538.     ptestw    (a2)
  1539.  
  1540.     ptestr    #5,(a2,d4.w)
  1541.     ptestw    #3,$2000(a3)
  1542.  
  1543.     ptestr    sfc,([$100.w,a2,d3.w],$400.w),#4
  1544.     ptestw    dfc,(a3,d2.l*4,$400.w),#5
  1545.  
  1546.     ptestr    d2,([$300.w,a1,d4.w*4]),#4,a2
  1547.     ptestw    d4,(a1,d4.w*2,$200.w),#5,a3
  1548.  
  1549. **************************************************************************
  1550.  
  1551. PTRAPcc_:
  1552.     ptrapbs
  1553.     ptrapbs.w    #400
  1554.     ptrapbs.l    #$210202
  1555.     ptrapbc
  1556.     ptrapbc.w    #400
  1557.     ptrapbc.l    #$210202
  1558.  
  1559.     ptrapls
  1560.     ptrapls.w    #400
  1561.     ptrapls.l    #$210202
  1562.     ptraplc
  1563.     ptraplc.w    #400
  1564.     ptraplc.l    #$210202
  1565.  
  1566.     ptrapss
  1567.     ptrapss.w    #400
  1568.     ptrapss.l    #$210202
  1569.     ptrapsc
  1570.     ptrapsc.w    #400
  1571.     ptrapsc.l    #$210202
  1572.  
  1573.     ptrapas
  1574.     ptrapas.w    #400
  1575.     ptrapas.l    #$210202
  1576.     ptrapac
  1577.     ptrapac.w    #400
  1578.     ptrapac.l    #$210202
  1579.  
  1580.     ptrapws
  1581.     ptrapws.w    #400
  1582.     ptrapws.l    #$210202
  1583.     ptrapwc
  1584.     ptrapwc.w    #400
  1585.     ptrapwc.l    #$210202
  1586.  
  1587.     ptrapis
  1588.     ptrapis.w    #400
  1589.     ptrapis.l    #$210202
  1590.     ptrapic
  1591.     ptrapic.w    #400
  1592.     ptrapic.l    #$210202
  1593.  
  1594.     ptrapgs
  1595.     ptrapgs.w    #400
  1596.     ptrapgs.l    #$210202
  1597.     ptrapgc
  1598.     ptrapgc.w    #400
  1599.     ptrapgc.l    #$210202
  1600.  
  1601.     ptrapcs
  1602.     ptrapcs.w    #400
  1603.     ptrapcs.l    #$210202
  1604.     ptrapcc
  1605.     ptrapcc.w    #400
  1606.     ptrapcc.l    #$210202
  1607.  
  1608. **************************************************************************
  1609.  
  1610. PVALID_:    pvalid    val,$3440(a2)
  1611.     pvalid    a4,PVALID_
  1612.  
  1613. ;=============================T=H=E==E=N=D===================================
  1614.