home *** CD-ROM | disk | FTP | other *** search
- ;-------T-----------T-------T-----------------------------T------T------T
- ;
- ; The first line is the Tab-Definition line. It starts with an ; and
- ; is followed by the TABS, only a CAPITAL T will be recognized as a TAB
- ;
- ; **********************************************************************
- ; ASM-ONE Example of all allowed adressingmodes
- ; **********************************************************************
- ;
- ; This example source is split up in three parts:
- ;
- ; 1.) The 680x0 adressing modes.
- ;
- ; Using : opcode MOVE
- ; Parameters : Only source is specified.
- ;
- ; Note: This is an example of all adrressing modes. This includes 68020++
- ; modes.
- ;
- ; Not all these modes are allowed in some opcodes.
- ;
- ;
- ; 2.) The 68881/68882/68040 floating point opcodes and modes
- ;
- ; Showing : all known opcodes
- ; Parametes : Only source is specified.
- ;
- ;
- ; 3.) The 68851/68030/68040 Memory management Unit (MMU) opcodes and modes
- ;
- ; Showing : all known opcodes
- ; Parameters : Only source is specified.
-
-
- Mode_0_: move.b d1,d2
- move.w d1,d2
- move.l d1,d2
-
- **************************************************************************
-
- mode_1_: ; move.b a1,d2 not allowed
- move.w a1,d2
- move.l a1,d2
-
- **************************************************************************
-
- mode_2_: move.b (a1),d2
- move.w (a1),d2
- move.l (a1),d2
-
- **************************************************************************
-
- mode_3_: move.b -(a1),d2
- move.w -(a1),d2
- move.l -(a1),d2
-
- **************************************************************************
-
- mode_4_: move.b (a1)+,d2
- move.w (a1)+,d2
- move.l (a1)+,d2
-
- **************************************************************************
-
- mode_5_: move.b $7fff(a1),d2
- move.w $7ffe(a1),d2
- move.l $7ffe(a1),d2
-
- **************************************************************************
-
- mode_6a_: move.b $7f(a1,d1),d2
- move.w $7e(a1,d1),d2
- move.l $7e(a1,d1),d2
-
- **************************************************************************
-
- mode_6bw_: move.b (a1,d1,$7fff.w),d2 ; 68020++
- move.w (a1,d1,$7ffe.w),d2 ; 68020++
- move.l (a1,d1,$7ffe.w),d2 ; 68020++
-
- **************************************************************************
-
- mode_6bl_: move.b (a1,d1,$7fffffff.l),d2 ; 68020++
- move.w (a1,d1,$7ffffffe.l),d2 ; 68020++
- move.l (a1,d1,$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_6cww_: move.b ([$7fff.w,a1],d1,$7fff.w),d2 ; 68020++
- move.w ([$7ffe.w,a1],d1,$7ffe.w),d2 ; 68020++
- move.l ([$7ffe.w,a1],d1,$7ffe.w),d2 ; 68020++
-
- **************************************************************************
-
- mode_6cwl_: move.b ([$7fff.w,a1],d1,$7fffffff.l),d2 ; 68020++
- move.w ([$7ffe.w,a1],d1,$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffe.w,a1],d1,$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_6clw_: move.b ([$7fffffff.l,a1],d1,$7fff.w),d2 ; 68020++
- move.w ([$7ffffffe.l,a1],d1,$7ffe.w),d2 ; 68020++
- move.l ([$7ffffffe.l,a1],d1,$7ffe.w),d2 ; 68020++
-
- **************************************************************************
-
- mode_6cll_: move.b ([$7fffffff.l,a1],d1,$7fffffff.l),d2 ; 68020++
- move.w ([$7ffffffe.l,a1],d1,$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffffffe.l,a1],d1,$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_6dww_: move.b ([$7fff.w,a1,d1],$7fff.w),d2 ; 68020++
- move.w ([$7ffe.w,a1,d1],$7ffe.w),d2 ; 68020++
- move.l ([$7ffe.w,a1,d1],$7ffe.w),d2 ; 68020++
-
- **************************************************************************
-
- mode_6dwl_: move.b ([$7fff.w,a1,d1],$7fffffff.l),d2 ; 68020++
- move.w ([$7ffe.w,a1,d1],$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffe.w,a1,d1],$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_6dlw_: move.b ([$7fffffff.l,a1,d1],$7fff.w),d2 ; 68020++
- move.w ([$7ffffffe.l,a1,d1],$7ffe.w),d2 ; 68020++
- move.l ([$7ffffffe.l,a1,d1],$7ffe.w),d2 ; 68020++
-
- **************************************************************************
-
- mode_6dll_: move.b ([$7fffffff.l,a1,d1],$7fffffff.l),d2 ; 68020++
- move.w ([$7ffffffe.l,a1,d1],$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffffffe.l,a1,d1],$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
-
- ;- These are variants of the above modes except the Base Displacement or
- ;- Index register are supressed
-
- suppress_: move.l ([0.w,a1],d2),d3
- move.l ([0.l,a1],d2),d3
- move.l ([0.w,a1]),d2
- move.l ([0.l,a1]),d2
- move.l ([0.l]),d2
- move.l ([0.w]),d2
-
- **************************************************************************
-
- mode_7_0_: move.b $7fff.w,d2
- move.w $7ffe.w,d2
- move.l $7ffe.w,d2
-
- **************************************************************************
-
- mode_7_1_: move.b $7ffff.l,d2
- move.w $7fffe.l,d2
- move.l $7fffe.l,d2
-
- **************************************************************************
-
- ;=============================================================
- ; The following PC relative modes are HIGH COMMANDS.
- ;
- ; Usualy the numbers used in these commands would be labels !!
- ; Most assemblers create a relative mode error trying to
- ; assemble these commands. When the absolute numbers are
- ; labels the assembler WILL allow them.
- ;
- ; in Asm-One you CAN use label OR absolute numbers.
- ; !!! Just be carefull with them !!!
- ;=============================================================
-
- mode_7_2_: move.b $7f(pc),d2
- move.w $7f(pc),d2
- move.l $7ffe(pc),d2
-
- mode_7_2labels_: move.b mode_7_2_(pc),d2
- move.w mode_7_2_(pc),d2
- move.l mode_7_2_(pc),d2
-
- ; This is also mode_7_2 but in the new syntax !!!
-
- mode_7_2ns_: move.b ($7f,pc),d2
- move.w ($7f,pc),d2
- move.l ($7ffe,pc),d2
-
- mode_7_2nslabels_:
- move.b (mode_7_2ns_,pc),d2
- move.w (mode_7_2ns_,pc),d2
- move.l (mode_7_2ns_,pc),d2
-
- **************************************************************************
-
- mode_7_3_: move.b $7e(pc,d1),d2
- move.w $7e(pc,d1),d2
- move.l $7e(pc,d1),d2
-
- mode_7_3labels_: move.b mode_7_3_(pc,d1),d2
- move.w mode_7_3_(pc,d1),d2
- move.l mode_7_3_(pc,d1),d2
-
- ; This is also mode_7_3 but in the new syntax !!!
-
- mode_7_3ns_: move.b ($7e.w,pc,d1),d2
- move.w ($7e.w,pc,d1),d2
- move.l ($7e.w,pc,d1),d2
-
- mode_7_3nslabels_:
- move.b ((mode_7_3nslabels_).w,pc,d1),d2
- move.w ((mode_7_3nslabels_).w,pc,d1),d2
- move.l ((mode_7_3nslabels_).w,pc,d1),d2
-
- mode_7_3w_: move.b (pc,d1,$7fff.w),d2 ; 68020++
- move.w (pc,d1,$7ffe.w),d2 ; 68020++
- move.l (pc,d1,$7ffe.w),d2 ; 68020++
-
- mode_7_3l_: move.b (pc,d1,$7fffffff.l),d2 ; 68020++
- move.w (pc,d1,$7ffffffe.l),d2 ; 68020++
- move.l (pc,d1,$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_7_3postww_: move.b ([$7fff.w,pc],d1,$7fff.w),d2 ; 68020++
- move.w ([$7ffe.w,pc],d1,$7ffe.w),d2 ; 68020++
- move.l ([$7ffe.w,pc],d1,$7ffe.w),d2 ; 68020++
-
- mode_7_3postwwlabels_:
- move.b ([(mode_7_3postwwlabels_).w,pc],d1,$7fff.w),d2 ; 68020++
- move.w ([(mode_7_3postwwlabels_).w,pc],d1,$7ffe.w),d2 ; 68020++
- move.l ([(mode_7_3postwwlabels_).w,pc],d1,$7ffe.w),d2 ; 68020++
-
- mode_7_3postwl_: move.b ([$7fff.w,pc],d1,$7fffffff.l),d2 ; 68020++
- move.w ([$7ffe.w,pc],d1,$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffe.w,pc],d1,$7ffffffe.l),d2 ; 68020++
-
- mode_7_3postlw_: move.b ([$7fffffff.l,pc],d1,$7fff.w),d2 ; 68020++
- move.w ([$7ffffffe.l,pc],d1,$7ffe.w),d2 ; 68020++
- move.l ([$7ffffffe.l,pc],d1,$7ffe.w),d2 ; 68020++
-
- mode_7_3postll_: move.b ([$7fffffff.l,pc],d1,$7fffffff.l),d2 ; 68020++
- move.w ([$7ffffffe.l,pc],d1,$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffffffe.l,pc],d1,$7ffffffe.l),d2 ; 68020++
-
- **************************************************************************
-
- mode_7_3preww_: move.b ([$7fff.w,pc,d1],$7fff.w),d2 ; 68020++
- move.w ([$7ffe.w,pc,d1],$7ffe.w),d2 ; 68020++
- move.l ([$7ffe.w,pc,d1],$7ffe.w),d2 ; 68020++
-
- mode_7_3prewwlabel_:
- move.b ([(mode_7_3prewwlabel_).w,pc,d1],$7fff.w),d2 ; 68020++
- move.w ([(mode_7_3prewwlabel_).w,pc,d1],$7ffe.w),d2 ; 68020++
- move.l ([(mode_7_3prewwlabel_).w,pc,d1],$7ffe.w),d2 ; 68020++
-
- mode_7_3prewl_: move.b ([$7fff.w,pc,d1],$7fffffff.l),d2 ; 68020++
- move.w ([$7ffe.w,pc,d1],$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffe.w,pc,d1],$7ffffffe.l),d2 ; 68020++
-
- mode_7_3prelw_: move.b ([$7fffffff.l,pc,d1],$7fff.w),d2 ; 68020++
- move.w ([$7ffffffe.l,pc,d1],$7ffe.w),d2 ; 68020++
- move.l ([$7ffffffe.l,pc,d1],$7ffe.w),d2 ; 68020++
-
- mode_7_3prell_: move.b ([$7fffffff.l,pc,d1],$7fffffff.l),d2 ; 68020++
- move.w ([$7ffffffe.l,pc,d1],$7ffffffe.l),d2 ; 68020++
- move.l ([$7ffffffe.l,pc,d1],$7ffffffe.l),d2 ; 68020++
-
-
- **************************************************************************
-
- mode_7_4_: move.b #$7f,d2
- move.w #$7ffe,d2
- move.l #$7ffffffe,d2
-
- **************************************************************************
-
- move16_: move16 (a1)+,(a2)+
- move16 $40000,(a1)+
- move16 $40000,(a1)
- move16 (a1),$40000
- move16 (a1)+,$40000
-
- **************************************************************************
-
- ;=========================================================================
- ;
- ; Some examples using 68020++ adressing modes.
- ;
- ;-----Example 1------ jumping easier
- ;
- ; This instruction uses just 1 line to find and jump to a piece of
- ; coding getting it's pointers from a tabel !!!
- ; Change D0 to 0,1,2 or 3 to jump to example1_a,example1_b,......
- ;
-
- example_1_: moveq #0,d0
- jmp ([example1_tabel_,pc],d0.w*4) ; !!!!!!!!!!!!!
-
- example1_tabel_: dc.l example1_a_
- dc.l example1_b_
- dc.l example1_c_
- dc.l example1_d_
-
- example1_a_: moveq #4,d7
- moveq #0,d0
- bra.s example_2_
-
- example1_b_: moveq #3,d7
- moveq #0,d0
- bra.s example_2_
-
- example1_c_: moveq #2,d7
- moveq #0,d0
- bra.s example_2_
-
- example1_d_: moveq #1,d7
- moveq #0,d0
- bra.w example_2_
-
-
- ;===============================================================
- ;
- ;--Example 2---- getting bits easier
- ;
- ; How's the resourcer comming Thaizer ?????????
- ; Getting a bit bitfucked in the bitbrain allready,
- ; or is it a bit too easy to get bits in the right bytes ????
- ; or was it the left byte ????/
- ;
- ; 3 2 1
- ; 10987654321098765432109876543210
- example_2_: move.l #%10011100100100101000100101010101,d0
- bfextu d0{1:5},d1
-
-
- ;=========================================================================
- ;
- ; Here starts the Floating point section !!
- ;
- ;=========================================================================
-
- fint_: fint fp3 ;
- fint fp5,fp4 ; info on the
- fint.w d1,fp1 ; instructions
- fint.w (a1),fp2 ; can be found in
- fint.l -(a1),fp3 ; a lot of books !!
- fint.w (a1)+,fp4 ;
- fint.s $4000(a1),fp5 ; Be sure to read
- fint.s d0,fp2 ; them before
- fint.p 10(a1,d2.w),fp6 ; trying all these
- fint.d (a1,d2.w,$4000.w),fp6 ; commands......
- fint.s (a1,d2.w,$404040.l),fp6 ;
- fint.p ([$400.w,a1],d2.w,$40000.l),fp6 ; Some will create
- fint.x ([$404040.l,a1,d2.w],$8277.w),fp6 ; Exeptions !!!
-
- **************************************************************************
-
- fsinh_: fsinh fp3
- fsinh fp5,fp4
- fsinh.w d1,fp1
- fsinh.w (a1),fp2
- fsinh.l -(a1),fp3
- fsinh.w (a1)+,fp4
- fsinh.s $4000(a1),fp5
- fsinh.s d0,fp2
- fsinh.p 10(a1,d2.w),fp6
- fsinh.d (a1,d2.w,$4000.w),fp6
- fsinh.s (a1,d2.w,$404040.l),fp6
- fsinh.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsinh.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- flognp1_:flognp1 fp3
- flognp1 fp5,fp4
- flognp1.w d1,fp1
- flognp1.w (a1),fp2
- flognp1.l -(a1),fp3
- flognp1.w (a1)+,fp4
- flognp1.s $4000(a1),fp5
- flognp1.s d0,fp2
- flognp1.p 10(a1,d2.w),fp6
- flognp1.d (a1,d2.w,$4000.w),fp6
- flognp1.s (a1,d2.w,$404040.l),fp6
- flognp1.p ([$400.w,a1],d2.w,$40000.l),fp6
- flognp1.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fetoxm1_:fetoxm1 fp3
- fetoxm1 fp5,fp4
- fetoxm1.w d1,fp1
- fetoxm1.w (a1),fp2
- fetoxm1.l -(a1),fp3
- fetoxm1.w (a1)+,fp4
- fetoxm1.s $4000(a1),fp5
- fetoxm1.s d0,fp2
- fetoxm1.p 10(a1,d2.w),fp6
- fetoxm1.d (a1,d2.w,$4000.w),fp6
- fetoxm1.s (a1,d2.w,$404040.l),fp6
- fetoxm1.p ([$400.w,a1],d2.w,$40000.l),fp6
- fetoxm1.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- ftanh_: ftanh fp3
- ftanh fp5,fp4
- ftanh.w d1,fp1
- ftanh.w (a1),fp2
- ftanh.l -(a1),fp3
- ftanh.w (a1)+,fp4
- ftanh.s $4000(a1),fp5
- ftanh.s d0,fp2
- ftanh.p 10(a1,d2.w),fp6
- ftanh.d (a1,d2.w,$4000.w),fp6
- ftanh.s (a1,d2.w,$404040.l),fp6
- ftanh.p ([$400.w,a1],d2.w,$40000.l),fp6
- ftanh.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fatan_: fatan fp3
- fatan fp5,fp4
- fatan.w d1,fp1
- fatan.w (a1),fp2
- fatan.l -(a1),fp3
- fatan.w (a1)+,fp4
- fatan.s $4000(a1),fp5
- fatan.s d0,fp2
- fatan.p 10(a1,d2.w),fp6
- fatan.d (a1,d2.w,$4000.w),fp6
- fatan.s (a1,d2.w,$404040.l),fp6
- fatan.p ([$400.w,a1],d2.w,$40000.l),fp6
- fatan.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fasin_: fasin fp3
- fasin fp5,fp4
- fasin.w d1,fp1
- fasin.w (a1),fp2
- fasin.l -(a1),fp3
- fasin.w (a1)+,fp4
- fasin.s $4000(a1),fp5
- fasin.s d0,fp2
- fasin.p 10(a1,d2.w),fp6
- fasin.d (a1,d2.w,$4000.w),fp6
- fasin.s (a1,d2.w,$404040.l),fp6
- fasin.p ([$400.w,a1],d2.w,$40000.l),fp6
- fasin.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fatanh_: fatanh fp3
- fatanh fp5,fp4
- fatanh.w d1,fp1
- fatanh.w (a1),fp2
- fatanh.l -(a1),fp3
- fatanh.w (a1)+,fp4
- fatanh.s $4000(a1),fp5
- fatanh.s d0,fp2
- fatanh.p 10(a1,d2.w),fp6
- fatanh.d (a1,d2.w,$4000.w),fp6
- fatanh.s (a1,d2.w,$404040.l),fp6
- fatanh.p ([$400.w,a1],d2.w,$40000.l),fp6
- fatanh.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsin_: fsin fp3
- fsin fp5,fp4
- fsin.w d1,fp1
- fsin.w (a1),fp2
- fsin.l -(a1),fp3
- fsin.w (a1)+,fp4
- fsin.s $4000(a1),fp5
- fsin.s d0,fp2
- fsin.p 10(a1,d2.w),fp6
- fsin.d (a1,d2.w,$4000.w),fp6
- fsin.s (a1,d2.w,$404040.l),fp6
- fsin.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsin.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- ftan_: ftan fp3
- ftan fp5,fp4
- ftan.w d1,fp1
- ftan.w (a1),fp2
- ftan.l -(a1),fp3
- ftan.w (a1)+,fp4
- ftan.s $4000(a1),fp5
- ftan.s d0,fp2
- ftan.p 10(a1,d2.w),fp6
- ftan.d (a1,d2.w,$4000.w),fp6
- ftan.s (a1,d2.w,$404040.l),fp6
- ftan.p ([$400.w,a1],d2.w,$40000.l),fp6
- ftan.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fetox_: fetox fp3
- fetox fp5,fp4
- fetox.w d1,fp1
- fetox.w (a1),fp2
- fetox.l -(a1),fp3
- fetox.w (a1)+,fp4
- fetox.s $4000(a1),fp5
- fetox.s d0,fp2
- fetox.p 10(a1,d2.w),fp6
- fetox.d (a1,d2.w,$4000.w),fp6
- fetox.s (a1,d2.w,$404040.l),fp6
- fetox.p ([$400.w,a1],d2.w,$40000.l),fp6
- fetox.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- ftwotox_:ftwotox fp3
- ftwotox fp5,fp4
- ftwotox.w d1,fp1
- ftwotox.w (a1),fp2
- ftwotox.l -(a1),fp3
- ftwotox.w (a1)+,fp4
- ftwotox.s $4000(a1),fp5
- ftwotox.s d0,fp2
- ftwotox.p 10(a1,d2.w),fp6
- ftwotox.d (a1,d2.w,$4000.w),fp6
- ftwotox.s (a1,d2.w,$404040.l),fp6
- ftwotox.p ([$400.w,a1],d2.w,$40000.l),fp6
- ftwotox.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- ftentox_:ftentox fp3
- ftentox fp5,fp4
- ftentox.w d1,fp1
- ftentox.w (a1),fp2
- ftentox.l -(a1),fp3
- ftentox.w (a1)+,fp4
- ftentox.s $4000(a1),fp5
- ftentox.s d0,fp2
- ftentox.p 10(a1,d2.w),fp6
- ftentox.d (a1,d2.w,$4000.w),fp6
- ftentox.s (a1,d2.w,$404040.l),fp6
- ftentox.p ([$400.w,a1],d2.w,$40000.l),fp6
- ftentox.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- flogn_: flogn fp3
- flogn fp5,fp4
- flogn.w d1,fp1
- flogn.w (a1),fp2
- flogn.l -(a1),fp3
- flogn.w (a1)+,fp4
- flogn.s $4000(a1),fp5
- flogn.s d0,fp2
- flogn.p 10(a1,d2.w),fp6
- flogn.d (a1,d2.w,$4000.w),fp6
- flogn.s (a1,d2.w,$404040.l),fp6
- flogn.p ([$400.w,a1],d2.w,$40000.l),fp6
- flogn.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- flog10_: flog10 fp3
- flog10 fp5,fp4
- flog10.w d1,fp1
- flog10.w (a1),fp2
- flog10.l -(a1),fp3
- flog10.w (a1)+,fp4
- flog10.s $4000(a1),fp5
- flog10.s d0,fp2
- flog10.p 10(a1,d2.w),fp6
- flog10.d (a1,d2.w,$4000.w),fp6
- flog10.s (a1,d2.w,$404040.l),fp6
- flog10.p ([$400.w,a1],d2.w,$40000.l),fp6
- flog10.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- flog2_: flog2 fp3
- flog2 fp5,fp4
- flog2.w d1,fp1
- flog2.w (a1),fp2
- flog2.l -(a1),fp3
- flog2.w (a1)+,fp4
- flog2.s $4000(a1),fp5
- flog2.s d0,fp2
- flog2.p 10(a1,d2.w),fp6
- flog2.d (a1,d2.w,$4000.w),fp6
- flog2.s (a1,d2.w,$404040.l),fp6
- flog2.p ([$400.w,a1],d2.w,$40000.l),fp6
- flog2.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fcosh_: fcosh fp3
- fcosh fp5,fp4
- fcosh.w d1,fp1
- fcosh.w (a1),fp2
- fcosh.l -(a1),fp3
- fcosh.w (a1)+,fp4
- fcosh.s $4000(a1),fp5
- fcosh.s d0,fp2
- fcosh.p 10(a1,d2.w),fp6
- fcosh.d (a1,d2.w,$4000.w),fp6
- fcosh.s (a1,d2.w,$404040.l),fp6
- fcosh.p ([$400.w,a1],d2.w,$40000.l),fp6
- fcosh.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- facos_: facos fp3
- facos fp5,fp4
- facos.w d1,fp1
- facos.w (a1),fp2
- facos.l -(a1),fp3
- facos.w (a1)+,fp4
- facos.s $4000(a1),fp5
- facos.s d0,fp2
- facos.p 10(a1,d2.w),fp6
- facos.d (a1,d2.w,$4000.w),fp6
- facos.s (a1,d2.w,$404040.l),fp6
- facos.p ([$400.w,a1],d2.w,$40000.l),fp6
- facos.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fcos_: fcos fp3
- fcos fp5,fp4
- fcos.w d1,fp1
- fcos.w (a1),fp2
- fcos.l -(a1),fp3
- fcos.w (a1)+,fp4
- fcos.s $4000(a1),fp5
- fcos.s d0,fp2
- fcos.p 10(a1,d2.w),fp6
- fcos.d (a1,d2.w,$4000.w),fp6
- fcos.s (a1,d2.w,$404040.l),fp6
- fcos.p ([$400.w,a1],d2.w,$40000.l),fp6
- fcos.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fgetexp_:fgetexp fp3,fp3
- fgetexp fp5,fp4
- fgetexp.w d1,fp1
- fgetexp.w (a1),fp2
- fgetexp.l -(a1),fp3
- fgetexp.w (a1)+,fp4
- fgetexp.s $4000(a1),fp5
- fgetexp.s d0,fp2
- fgetexp.p 10(a1,d2.w),fp6
- fgetexp.d (a1,d2.w,$4000.w),fp6
- fgetexp.s (a1,d2.w,$404040.l),fp6
- fgetexp.p ([$400.w,a1],d2.w,$40000.l),fp6
- fgetexp.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fgetman_:fgetman fp3,fp3
- fgetman fp5,fp4
- fgetman.w d1,fp1
- fgetman.w (a1),fp2
- fgetman.l -(a1),fp3
- fgetman.w (a1)+,fp4
- fgetman.s $4000(a1),fp5
- fgetman.s d0,fp2
- fgetman.p 10(a1,d2.w),fp6
- fgetman.d (a1,d2.w,$4000.w),fp6
- fgetman.s (a1,d2.w,$404040.l),fp6
- fgetman.p ([$400.w,a1],d2.w,$40000.l),fp6
- fgetman.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fmod_: fmod fp3,fp3
- fmod fp5,fp4
- fmod.w d1,fp1
- fmod.w (a1),fp2
- fmod.l -(a1),fp3
- fmod.w (a1)+,fp4
- fmod.s $4000(a1),fp5
- fmod.s d0,fp2
- fmod.p 10(a1,d2.w),fp6
- fmod.d (a1,d2.w,$4000.w),fp6
- fmod.s (a1,d2.w,$404040.l),fp6
- fmod.p ([$400.w,a1],d2.w,$40000.l),fp6
- fmod.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsgldiv_:fsgldiv fp3,fp3
- fsgldiv fp5,fp4
- fsgldiv.w d1,fp1
- fsgldiv.w (a1),fp2
- fsgldiv.l -(a1),fp3
- fsgldiv.w (a1)+,fp4
- fsgldiv.s $4000(a1),fp5
- fsgldiv.s d0,fp2
- fsgldiv.p 10(a1,d2.w),fp6
- fsgldiv.d (a1,d2.w,$4000.w),fp6
- fsgldiv.s (a1,d2.w,$404040.l),fp6
- fsgldiv.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsgldiv.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- frem_: frem fp3,fp3
- frem fp5,fp4
- frem.w d1,fp1
- frem.w (a1),fp2
- frem.l -(a1),fp3
- frem.w (a1)+,fp4
- frem.s $4000(a1),fp5
- frem.s d0,fp2
- frem.p 10(a1,d2.w),fp6
- frem.d (a1,d2.w,$4000.w),fp6
- frem.s (a1,d2.w,$404040.l),fp6
- frem.p ([$400.w,a1],d2.w,$40000.l),fp6
- frem.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fscale_: fscale fp3,fp3
- fscale fp5,fp4
- fscale.w d1,fp1
- fscale.w (a1),fp2
- fscale.l -(a1),fp3
- fscale.w (a1)+,fp4
- fscale.s $4000(a1),fp5
- fscale.s d0,fp2
- fscale.p 10(a1,d2.w),fp6
- fscale.d (a1,d2.w,$4000.w),fp6
- fscale.s (a1,d2.w,$404040.l),fp6
- fscale.p ([$400.w,a1],d2.w,$40000.l),fp6
- fscale.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsglmul_:fsglmul fp3,fp3
- fsglmul fp5,fp4
- fsglmul.w d1,fp1
- fsglmul.w (a1),fp2
- fsglmul.l -(a1),fp3
- fsglmul.w (a1)+,fp4
- fsglmul.s $4000(a1),fp5
- fsglmul.s d0,fp2
- fsglmul.p 10(a1,d2.w),fp6
- fsglmul.d (a1,d2.w,$4000.w),fp6
- fsglmul.s (a1,d2.w,$404040.l),fp6
- fsglmul.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsglmul.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsincos_:fsincos fp3,fp3_:fp2
- fsincos fp5,fp4_:fp2
- fsincos.w d1,fp1_:fp2
- fsincos.w (a1),fp2_:fp2
- fsincos.l -(a1),fp3_:fp2
- fsincos.w (a1)+,fp4_:fp2
- fsincos.s $4000(a1),fp5_:fp2
- fsincos.s d0,fp2_:fp2
- fsincos.p 10(a1,d2.w),fp6_:fp2
- fsincos.d (a1,d2.w,$4000.w),fp6_:fp2
- fsincos.s (a1,d2.w,$404040.l),fp6_:fp2
- fsincos.p ([$400.w,a1],d2.w,$40000.l),fp6_:fp2
- fsincos.x ([$404040.l,a1,d2.w],$8277.w),fp6_:fp2
-
- **************************************************************************
-
- fcmp_: fcmp fp3,fp3
- fcmp fp5,fp4
- fcmp.w d1,fp1
- fcmp.w (a1),fp2
- fcmp.l -(a1),fp3
- fcmp.w (a1)+,fp4
- fcmp.s $4000(a1),fp5
- fcmp.s d0,fp2
- fcmp.p 10(a1,d2.w),fp6
- fcmp.d (a1,d2.w,$4000.w),fp6
- fcmp.s (a1,d2.w,$404040.l),fp6
- fcmp.p ([$400.w,a1],d2.w,$40000.l),fp6
- fcmp.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- ftst_: ftst fp3
- ftst fp4
- ftst.w d1
- ftst.w (a1)
- ftst.l -(a1)
- ftst.w (a1)+
- ftst.s $4000(a1)
- ftst.s d0
- ftst.p 10(a1,d2.w)
- ftst.d (a1,d2.w,$4000.w)
- ftst.s (a1,d2.w,$404040.l)
- ftst.p ([$400.w,a1],d2.w,$40000.l)
- ftst.x ([$404040.l,a1,d2.w],$8277.w)
-
- **************************************************************************
-
- fabs_: fabs fp3,fp3
- fabs fp5,fp4
- fabs.w d1,fp1
- fabs.w (a1),fp2
- fabs.l -(a1),fp3
- fabs.w (a1)+,fp4
- fabs.s $4000(a1),fp5
- fabs.s d0,fp2
- fabs.p 10(a1,d2.w),fp6
- fabs.d (a1,d2.w,$4000.w),fp6
- fabs.s (a1,d2.w,$404040.l),fp6
- fabs.p ([$400.w,a1],d2.w,$40000.l),fp6
- fabs.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fadd_: fadd fp3,fp3
- fadd fp5,fp4
- fadd.w d1,fp1
- fadd.w (a1),fp2
- fadd.l -(a1),fp3
- fadd.w (a1)+,fp4
- fadd.s $4000(a1),fp5
- fadd.s d0,fp2
- fadd.p 10(a1,d2.w),fp6
- fadd.d (a1,d2.w,$4000.w),fp6
- fadd.s (a1,d2.w,$404040.l),fp6
- fadd.p ([$400.w,a1],d2.w,$40000.l),fp6
- fadd.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fdiv_: fdiv fp3,fp3
- fdiv fp5,fp4
- fdiv.w d1,fp1
- fdiv.w (a1),fp2
- fdiv.l -(a1),fp3
- fdiv.w (a1)+,fp4
- fdiv.s $4000(a1),fp5
- fdiv.s d0,fp2
- fdiv.p 10(a1,d2.w),fp6
- fdiv.d (a1,d2.w,$4000.w),fp6
- fdiv.s (a1,d2.w,$404040.l),fp6
- fdiv.p ([$400.w,a1],d2.w,$40000.l),fp6
- fdiv.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fmul_: fmul fp3,fp3
- fmul fp5,fp4
- fmul.w d1,fp1
- fmul.w (a1),fp2
- fmul.l -(a1),fp3
- fmul.w (a1)+,fp4
- fmul.s $4000(a1),fp5
- fmul.s d0,fp2
- fmul.p 10(a1,d2.w),fp6
- fmul.d (a1,d2.w,$4000.w),fp6
- fmul.s (a1,d2.w,$404040.l),fp6
- fmul.p ([$400.w,a1],d2.w,$40000.l),fp6
- fmul.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fneg_: fneg fp3
- fneg fp5,fp4
- fneg.w d1,fp1
- fneg.w (a1),fp2
- fneg.l -(a1),fp3
- fneg.w (a1)+,fp4
- fneg.s $4000(a1),fp5
- fneg.s d0,fp2
- fneg.p 10(a1,d2.w),fp6
- fneg.d (a1,d2.w,$4000.w),fp6
- fneg.s (a1,d2.w,$404040.l),fp6
- fneg.p ([$400.w,a1],d2.w,$40000.l),fp6
- fneg.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsqrt_: fsqrt fp3,fp3
- fsqrt fp5,fp4
- fsqrt.w d1,fp1
- fsqrt.w (a1),fp2
- fsqrt.l -(a1),fp3
- fsqrt.w (a1)+,fp4
- fsqrt.s $4000(a1),fp5
- fsqrt.s d0,fp2
- fsqrt.p 10(a1,d2.w),fp6
- fsqrt.d (a1,d2.w,$4000.w),fp6
- fsqrt.s (a1,d2.w,$404040.l),fp6
- fsqrt.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsqrt.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsub_: fsub fp3,fp3
- fsub fp5,fp4
- fsub.w d1,fp1
- fsub.w (a1),fp2
- fsub.l -(a1),fp3
- fsub.w (a1)+,fp4
- fsub.s $4000(a1),fp5
- fsub.s d0,fp2
- fsub.p 10(a1,d2.w),fp6
- fsub.d (a1,d2.w,$4000.w),fp6
- fsub.s (a1,d2.w,$404040.l),fp6
- fsub.p ([$400.w,a1],d2.w,$40000.l),fp6
- fsub.x ([$404040.l,a1,d2.w],$8277.w),fp6
-
- **************************************************************************
-
- fsave_: fsave (a1)
- fsave -(a1)
- fsave $4000(a1)
- fsave 10(a1,d2.w)
- fsave (a1,d2.w,$4000.w)
- fsave (a1,d2.w,$404040.l)
- fsave ([$400.w,a1],d2.w,$40000.l)
- fsave ([$404040.l,a1,d2.w],$8277.w)
-
- **************************************************************************
-
- frestore_:frestore (a1)
- frestore (a1)+
- frestore $4000(a1)
- frestore 10(a1,d2.w)
- frestore (a1,d2.w,$4000.w)
- frestore (a1,d2.w,$404040.l)
- frestore ([$400.w,a1],d2.w,$40000.l)
- frestore ([$404040.l,a1,d2.w],$8277.w)
-
- **************************************************************************
-
-
- fbcc_: fbf fbcc_
- fbf.w fbcc_
- fbf.l fbcc_
-
- fbeq fbcc_
- fbeq.w fbcc_
- fbeq.l fbcc_
-
- fbogt fbcc_
- fbogt.w fbcc_
- fbogt.l fbcc_
-
- fboge fbcc_
- fboge.w fbcc_
- fboge.l fbcc_
-
- fbolt fbcc_
- fbolt.w fbcc_
- fbolt.l fbcc_
-
- fbole fbcc_
- fbole.w fbcc_
- fbole.l fbcc_
-
- fbogl fbcc_
- fbogl.w fbcc_
- fbogl.l fbcc_
-
- fbor fbcc_
- fbor.w fbcc_
- fbor.l fbcc_
-
- fbun fbcc_
- fbun.w fbcc_
- fbun.l fbcc_
-
- fbueq fbcc_
- fbueq.w fbcc_
- fbueq.l fbcc_
-
- fbugt fbcc_
- fbugt.w fbcc_
- fbugt.l fbcc_
-
- fbuge fbcc_
- fbuge.w fbcc_
- fbuge.l fbcc_
-
- fbult fbcc_
- fbult.w fbcc_
- fbult.l fbcc_
-
- fbule fbcc_
- fbule.w fbcc_
- fbule.l fbcc_
-
- fbne fbcc_
- fbne.w fbcc_
- fbne.l fbcc_
-
- fbt fbcc_
- fbt.w fbcc_
- fbt.l fbcc_
-
- fbsf fbcc_
- fbsf.w fbcc_
- fbsf.l fbcc_
-
- fbseq fbcc_
- fbseq.w fbcc_
- fbseq.l fbcc_
-
- fbgt fbcc_
- fbgt.w fbcc_
- fbgt.l fbcc_
-
- fbge fbcc_
- fbge.w fbcc_
- fbge.l fbcc_
-
- fblt fbcc_
- fblt.w fbcc_
- fblt.l fbcc_
-
- fble fbcc_
- fble.w fbcc_
- fble.l fbcc_
-
- fbgl fbcc_
- fbgl.w fbcc_
- fbgl.l fbcc_
-
- fbgle fbcc_
- fbgle.w fbcc_
- fbgle.l fbcc_
-
- fbngle fbcc_
- fbngle.w fbcc_
- fbngle.l fbcc_
-
- fbngl fbcc_
- fbngl.w fbcc_
- fbngl.l fbcc_
-
- fbnle fbcc_
- fbnle.w fbcc_
- fbnle.l fbcc_
-
- fbnlt fbcc_
- fbnlt.w fbcc_
- fbnlt.l fbcc_
-
- fbnge fbcc_
- fbnge.w fbcc_
- fbnge.l fbcc_
-
- fbngt fbcc_
- fbngt.w fbcc_
- fbngt.l fbcc_
-
- fbsne fbcc_
- fbsne.w fbcc_
- fbsne.l fbcc_
-
- fbst fbcc_
- fbst.w fbcc_
- fbst.l fbcc_
-
- **************************************************************************
-
- fscc_: fsf (a0)
- fsf d0
- fsf (a0)+
- fsf -(a0)
- fsf $2000(a0)
- fsf (a0,d2,$400)
- fsf ([$400.w,a0,d2.w*4],(fscc_).l)
- fsf ([$400.w,a0],d2.w*4,(fscc_).l)
- fsf $2000
- fsf $20000
- fseq (a0)
- fsogt (a0)
- fsoge (a0)
- fsolt (a0)
- fsole (a0)
- fsogl (a0)
- fsor (a0)
- fsun (a0)
- fsueq (a0)
- fsugt (a0)
- fsuge (a0)
- fsult (a0)
- fsule (a0)
- fsne (a0)
- fst (a0)
- fssf (a0)
- fsseq (a0)
- fsgt (a0)
- fsge (a0)
- fslt (a0)
- fsle (a0)
- fsgl (a0)
- fsgle (a0)
- fsngle (a0)
- fsngl (a0)
- fsnle (a0)
- fsnlt (a0)
- fsnge (a0)
- fsngt (a0)
- fssne (a0)
- fsst (a0)
-
- **************************************************************************
-
- fdbcc_: fdbf d5,fdbcc_
- fdbeq d5,fdbcc_
- fdbogt d5,fdbcc_
- fdboge d5,fdbcc_
- fdbolt d5,fdbcc_
- fdbole d5,fdbcc_
- fdbogl d5,fdbcc_
- fdbor d5,fdbcc_
- fdbun d5,fdbcc_
- fdbueq d5,fdbcc_
- fdbugt d5,fdbcc_
- fdbuge d5,fdbcc_
- fdbult d5,fdbcc_
- fdbule d5,fdbcc_
- fdbne d5,fdbcc_
- fdbt d5,fdbcc_
- fdbsf d5,fdbcc_
- fdbseq d5,fdbcc_
- fdbgt d5,fdbcc_
- fdbge d5,fdbcc_
- fdblt d5,fdbcc_
- fdble d5,fdbcc_
- fdbgl d5,fdbcc_
- fdbgle d5,fdbcc_
- fdbngle d5,fdbcc_
- fdbngl d5,fdbcc_
- fdbnle d5,fdbcc_
- fdbnlt d5,fdbcc_
- fdbnge d5,fdbcc_
- fdbngt d5,fdbcc_
- fdbsne d5,fdbcc_
- fdbst d5,fdbcc_
-
- **************************************************************************
-
- ftrapcc_:ftrapf
- ftrapf.w #$7422
- ftrapf.l #$7422
-
- ftrapeq
- ftrapeq.w #$7422
- ftrapeq.l #$7422
-
- ftrapogt
- ftrapogt.w #$7422
- ftrapogt.l #$7422
-
- ftrapoge
- ftrapoge.w #$7422
- ftrapoge.l #$7422
-
- ftrapolt
- ftrapolt.w #$7422
- ftrapolt.l #$7422
-
- ftrapole
- ftrapole.w #$7422
- ftrapole.l #$7422
-
- ftrapogl
- ftrapogl.w #$7422
- ftrapogl.l #$7422
-
- ftrapor
- ftrapor.w #$7422
- ftrapor.l #$7422
-
- ftrapun
- ftrapun.w #$7422
- ftrapun.l #$7422
-
- ftrapueq
- ftrapueq.w #$7422
- ftrapueq.l #$7422
-
- ftrapugt
- ftrapugt.w #$7422
- ftrapugt.l #$7422
-
- ftrapuge
- ftrapuge.w #$7422
- ftrapuge.l #$7422
-
- ftrapult
- ftrapult.w #$7422
- ftrapult.l #$7422
-
- ftrapule
- ftrapule.w #$7422
- ftrapule.l #$7422
-
- ftrapne
- ftrapne.w #$7422
- ftrapne.l #$7422
-
- ftrapt
- ftrapt.w #$7422
- ftrapt.l #$7422
-
- ftrapsf
- ftrapsf.w #$7422
- ftrapsf.l #$7422
-
- ftrapseq
- ftrapseq.w #$7422
- ftrapseq.l #$7422
-
- ftrapgt
- ftrapgt.w #$7422
- ftrapgt.l #$7422
-
- ftrapge
- ftrapge.w #$7422
- ftrapge.l #$7422
-
- ftraplt
- ftraplt.w #$7422
- ftraplt.l #$7422
-
- ftraple
- ftraple.w #$7422
- ftraple.l #$7422
-
- ftrapgl
- ftrapgl.w #$7422
- ftrapgl.l #$7422
-
- ftrapgle
- ftrapgle.w #$7422
- ftrapgle.l #$7422
-
- ftrapngle
- ftrapngle.w #$7422
- ftrapngle.l #$7422
-
- ftrapngl
- ftrapngl.w #$7422
- ftrapngl.l #$7422
-
- ftrapnle
- ftrapnle.w #$7422
- ftrapnle.l #$7422
-
- ftrapnlt
- ftrapnlt.w #$7422
- ftrapnlt.l #$7422
-
- ftrapnge
- ftrapnge.w #$7422
- ftrapnge.l #$7422
-
- ftrapngt
- ftrapngt.w #$7422
- ftrapngt.l #$7422
-
- ftrapsne
- ftrapsne.w #$7422
- ftrapsne.l #$7422
-
- ftrapst
- ftrapst.w #$7422
- ftrapst.l #$7422
-
- **************************************************************************
-
- fmove_: fmove.s d1,fp0
- fmove.w (a1),fp1
- fmove.l (a1)+,fp2
- fmove.s -(a1),fp3
- fmove.d $3000(a1),fp1
- fmove.x $20(a1,d1.w),fp2
- fmove.p (a1,d2.w*8,$4000.w),fp3
- fmove.p ([$6000.w,a1,d2.w*8],$4000.w),fp3
- fmove.p ([$6000.w,a1],d2.w*8,$4000.w),fp3
-
- fmove.s fp1,d1
- fmove.w fp2,(a1)
- fmove.l fp3,(a1)+
- fmove.s fp4,-(a1)
- fmove.d fp5,$3000(a1)
- fmove.x fp6,$20(a1,d1.w)
- fmove.p fp7,(a1,d2.w*8,$4000.w)
- fmove.p fp6,([$6000.w,a1,d2.w*8],$4000.w)
- fmove.p fp5,([$6000.w,a1],d2.w*8,$4000.w)
-
- fmove.p fp3,([$6000.w,a1,d2.w*8],$4000.w){d2}
- fmove.p fp3,([$6000.w,a1],d2.w*8,$4000.w){#20}
- fmove.p fp3,([$6000.w,a1],d2.w*8,$4000.w){$20}
-
- **************************************************************************
-
- fmove_cr_:fmove.l d1,fpsr
- fmove.l (a1),fpcr
- fmove.l (a1)+,fpiar
- fmove.l -(a1),fpcr
- fmove.l $3000(a1),fpsr
- fmove.l $20(a1,d1.w),fpcr
- fmove.l (a1,d2.w*8,$4000.w),fpiar
- fmove.l ([$6000.w,a1,d2.w*8],$4000.w),fpsr
- fmove.l ([$6000.w,a1],d2.w*8,$4000.w),fpcr
-
- fmove.l fpsr,d1
- fmove.l fpcr,(a1)
- fmove.l fpiar,(a1)+
- fmove.l fpcr,-(a1)
- fmove.l fpsr,$3000(a1)
- fmove.l fpcr,$20(a1,d1.w)
- fmove.l fpiar,(a1,d2.w*8,$4000.w)
- fmove.l fpsr,([$6000.w,a1,d2.w*8],$4000.w)
- fmove.l fpcr,([$6000.w,a1],d2.w*8,$4000.w)
-
- **************************************************************************
-
- fmovem_crto_:
- fmovem (a1),fpcr/fpsr
- fmovem (a1)+,fpsr/fpiar
- fmovem $3000(a1),fpcr/fpsr
- fmovem $20(a1,d1.w),fpcr/fpsr/fpiar
- fmovem (a1,d2.w*8,$4000.w),fpcr/fpiar
- fmovem ([$6000.w,a1,d2.w*8],$4000.w),fpsr/fpiar
- fmovem ([$6000.w,a1],d2.w*8,$4000.w),fpcr/fpsr/fpiar
-
- fmovem_crfrom_:
- fmovem fpcr/fpsr,(a1)
- fmovem fpcr/fpiar,(a1)+
- fmovem fpcr/fpsr/fpiar,-(a1)
- fmovem fpsr/fpiar,$3000(a1)
- fmovem fpcr/fpsr,$20(a1,d1.w)
- fmovem fpsr/fpiar,(a1,d2.w*8,$4000.w)
- fmovem fpcr/fpsr,([$6000.w,a1,d2.w*8],$4000.w)
- fmovem fpcr/fpiar,([$6000.w,a1],d2.w*8,$4000.w)
-
- **************************************************************************
-
-
- fmovem_: fmovem fp0-fp2/fp4-fp5/fp7,-(a0)
- fmovem fp0-fp2/fp4-fp5/fp7,(a0)
- fmovem (a0)+,fp0-fp5
- fmovem ([$400.w,a0],d0.w),fp0-fp2/fp4-fp5/fp7
-
- **************************************************************************
-
- fmovecr_:fmovecr #0,fp0
- fmovecr #$2,fp5
- fmovecr #$b,fp1
- fmovecr #$c,fp2
- fmovecr #$d,fp3
- fmovecr #$e,fp4
- fmovecr #$f,fp5
-
- **************************************************************************
-
- ;=========================================================================
- ;
- ; Here starts the Memory Management Unit (MMU) section !!
- ;
- ;=========================================================================
-
- PBccword_:
- pbbs.w PBccword_
- pbbc.w PBccword_
- pbls.w PBccword_
- pbls.w PBccword_
- pbss.w PBccword_
- pbss.w PBccword_
- pbas.w PBccword_
- pbas.w PBccword_
- pbws.w PBccword_
- pbws.w PBccword_
- pbis.w PBccword_
- pbis.w PBccword_
- pbgs.w PBccword_
- pbgs.w PBccword_
- pbcs.w PBccword_
- pbcs.w PBccword_
-
- PBcclong_:
- pbbs.l PBcclong_
- pbbc.l PBcclong_
- pbls.l PBcclong_
- pbls.l PBcclong_
- pbss.l PBcclong_
- pbss.l PBcclong_
- pbas.l PBcclong_
- pbas.l PBcclong_
- pbws.l PBcclong_
- pbws.l PBcclong_
- pbis.l PBcclong_
- pbis.l PBcclong_
- pbgs.l PBcclong_
- pbgs.l PBcclong_
- pbcs.l PBcclong_
- pbcs.l PBcclong_
-
- **************************************************************************
-
- PDBcc_: pdbbs D7,PDBcc_
- pdbbc D7,PDBcc_
- pdbls D7,PDBcc_
- pdblc D7,PDBcc_
- pdbss D7,PDBcc_
- pdbsc D7,PDBcc_
- pdbas D7,PDBcc_
- pdbac D7,PDBcc_
- pdbws D7,PDBcc_
- pdbwc D7,PDBcc_
- pdbis D7,PDBcc_
- pdbic D7,PDBcc_
- pdbgs D7,PDBcc_
- pdbgc D7,PDBcc_
- pdbcs D7,PDBcc_
- pdbcc D7,PDBcc_
-
- **************************************************************************
-
- PFLUSH_:
- pflusha ; MC68030/MC68040/MC68851
-
- pflush (a0) ; MC68040 only
- pflushn (a0) ; MC68040 only
-
- pflushr ([$402.w,pc,d2.l*8],$726252.l)
-
- pflush #5,#4 ; MC68030 / MC68851
- pflush d2,#4 ; MC68030 / MC68851
- pflush SFC,#4 ; MC68030 / MC68851
- pflush DFC,#4 ; MC68030 / MC68851
-
- pflush #5,#1,(a0,d0.w*2,$200.w) ; MC68030 / MC68851
- pflush d2,#2,(a0,d0.w*4,$300.w) ; MC68030 / MC68851
- pflush SFC,#3,(a0,d0.w*8,$400.w) ; MC68030 / MC68851
- pflush DFC,#4,(a0,d0.w*8,$400.w) ; MC68030 / MC68851
-
- pflushs #5,#4 ; MC68851
- pflushs d2,#4 ; MC68851
- pflushs SFC,#4 ; MC68851
- pflushs DFC,#4 ; MC68851
- pflushs #5,#1,(a0,d0.w*2,$200.w) ; MC68851
- pflushs d2,#2,(a0,d0.w*4,$300.w) ; MC68851
- pflushs SFC,#3,(a0,d0.w*8,$400.w) ; MC68851
- pflushs DFC,#4,(a0,d0.w*8,$400.w) ; MC68851
-
- **************************************************************************
-
- PLOAD_: ploadr #%111,(a1) ; MC68030 / MC68851
- ploadw #%110,$2000(a2) ; MC68030 / MC68851
- ploadr #%0111,([$400.w,a2,d6.l*8],$919.l) ; MC68851
- ploadw #%1010,([$400.w,a2],d6.w*4,$919.w) ; MC68851
-
- **************************************************************************
-
- PMOVE_: pmove.b cal,(a0)
- pmove.b ([$100.w,a1,d2.w],$400.l),val
- pmove.b scc,d0
-
- pmove.w mmusr,(a1)
- pmove.w acusr,(a2)
- pmove.w psr,(a3)
- pmove.w pcr,(a4)
- pmove.w bad2,(a5,d0.w*2)
- pmove.w bac3,([$400.w,a4,d3.l*4],$500.w)
- pmove.w ac,([$400.w,a3,d3.l*4],$500.w)
- pmove.w (a0),mmusr
- pmove.w (a1),acusr
- pmove.w (a2),psr
- pmove.w (a3),pcr
- pmove.w (a5,d0.w*2),bad2
- pmove.w ([$400.w,a4,d3.l*4],$500.w),bac3
- pmove.w ([$400.w,a3,d3.l*4],$500.w),ac
-
- pmove.l tc,(a1,d0.w*2,$400.w)
- pmove.l tt0,(a2)
- pmove.l tt1,(a3)
- pmove.l (a1,d0.w*2,$400.w),tc
- pmove.l (a2),tt0
- pmove.l (a3),tt1
-
- pmove.q srp,(a2)
- pmove.q crp,(a3)
- pmove.d drp,(a4)
- pmove.q (a2),srp
- pmove.q (a3),crp
- pmove.d (a4),drp
-
- **************************************************************************
-
- PSAVE_: psave (a1)
- psave -(a2)
- psave $2000(a3)
- psave $40(a0,d2.w)
- psave (a2,d3.w*4,$400.w)
-
- **************************************************************************
-
- PRESTORE_:
- prestore (a1)
- prestore (a2)+
- prestore $2000(a3)
- prestore $40(a0,d2.w)
- prestore (a2,d3.w*4,$400.w)
-
- **************************************************************************
-
- PScc_: psbs d1
- psbc (a2)
- psls (a3)+
- pslc -(a4)
- psss $3000(a5)
- pssc $40(a6,d0.w)
- psas ([$450.w,a5,d2.w*4])
- psac ([$500.l,a4,d3.l*2],$992.w)
- psws $400.w
- pswc PScc_
- psis ([$400.w,a3],d6.w*8,$99283.l)
- psic (a5,d2.w*4,$450.w)
- psgs (d4)
- psgc (a3,d4)
- pscs (d4.w,$400)
- pscc (d7.l*2,$200.w)
-
- **************************************************************************
-
- PTEST_: ptestr (a1)
- ptestw (a2)
-
- ptestr #5,(a2,d4.w)
- ptestw #3,$2000(a3)
-
- ptestr sfc,([$100.w,a2,d3.w],$400.w),#4
- ptestw dfc,(a3,d2.l*4,$400.w),#5
-
- ptestr d2,([$300.w,a1,d4.w*4]),#4,a2
- ptestw d4,(a1,d4.w*2,$200.w),#5,a3
-
- **************************************************************************
-
- PTRAPcc_:
- ptrapbs
- ptrapbs.w #400
- ptrapbs.l #$210202
- ptrapbc
- ptrapbc.w #400
- ptrapbc.l #$210202
-
- ptrapls
- ptrapls.w #400
- ptrapls.l #$210202
- ptraplc
- ptraplc.w #400
- ptraplc.l #$210202
-
- ptrapss
- ptrapss.w #400
- ptrapss.l #$210202
- ptrapsc
- ptrapsc.w #400
- ptrapsc.l #$210202
-
- ptrapas
- ptrapas.w #400
- ptrapas.l #$210202
- ptrapac
- ptrapac.w #400
- ptrapac.l #$210202
-
- ptrapws
- ptrapws.w #400
- ptrapws.l #$210202
- ptrapwc
- ptrapwc.w #400
- ptrapwc.l #$210202
-
- ptrapis
- ptrapis.w #400
- ptrapis.l #$210202
- ptrapic
- ptrapic.w #400
- ptrapic.l #$210202
-
- ptrapgs
- ptrapgs.w #400
- ptrapgs.l #$210202
- ptrapgc
- ptrapgc.w #400
- ptrapgc.l #$210202
-
- ptrapcs
- ptrapcs.w #400
- ptrapcs.l #$210202
- ptrapcc
- ptrapcc.w #400
- ptrapcc.l #$210202
-
- **************************************************************************
-
- PVALID_: pvalid val,$3440(a2)
- pvalid a4,PVALID_
-
- ;=============================T=H=E==E=N=D===================================
-