--- hatari/src/uae-cpu/table68k 2019/04/01 07:09:16 1.1.1.1 +++ hatari/src/uae-cpu/table68k 2019/04/09 08:54:37 1.1.1.5 @@ -9,6 +9,7 @@ % J: immediate 0..15 % k: immediate 0..7 % K: immediate 0..63 +% p: immediate 0..3 (CINV and CPUSH: cache field) % s: source mode % S: source reg % d: dest mode @@ -24,6 +25,7 @@ % % Arp: --> -(Ar) % ArP: --> (Ar)+ +% L: (xxx.L) % % Fields on a line: % 16 chars bitpattern : @@ -66,9 +68,9 @@ 0000 0110 11ss sSSS:20:?????:?????:10: CALLM s[!Dreg,Areg,Aipi,Apdi,Immd] 0000 0110 11ss sSSS:20:?????:?????:10: RTM s[Dreg,Areg] 0000 1000 00ss sSSS:00:--Z--:-----:11: BTST #1,s[!Areg] -0000 1000 01ss sSSS:00:--Z--:-----:13: BCHG #1,s[!Areg,Immd] -0000 1000 10ss sSSS:00:--Z--:-----:13: BCLR #1,s[!Areg,Immd] -0000 1000 11ss sSSS:00:--Z--:-----:13: BSET #1,s[!Areg,Immd] +0000 1000 01ss sSSS:00:--Z--:-----:13: BCHG #1,s[!Areg,Immd,PC8r,PC16] +0000 1000 10ss sSSS:00:--Z--:-----:13: BCLR #1,s[!Areg,Immd,PC8r,PC16] +0000 1000 11ss sSSS:00:--Z--:-----:13: BSET #1,s[!Areg,Immd,PC8r,PC16] 0000 1010 0011 1100:00:XNZVC:XNZVC:10: EORSR.B #1 0000 1010 0111 1100:02:?????:?????:10: EORSR.W #1 0000 1010 zzdd dDDD:00:-NZ00:-----:13: EOR.z #z,d[!Areg] @@ -86,9 +88,9 @@ 0000 rrr1 10dd dDDD:00:-----:-----:12: MVPRM.W Dr,d[Areg-Ad16] 0000 rrr1 11dd dDDD:00:-----:-----:12: MVPRM.L Dr,d[Areg-Ad16] 0000 rrr1 00ss sSSS:00:--Z--:-----:11: BTST Dr,s[!Areg] -0000 rrr1 01ss sSSS:00:--Z--:-----:13: BCHG Dr,s[!Areg,Immd] -0000 rrr1 10ss sSSS:00:--Z--:-----:13: BCLR Dr,s[!Areg,Immd] -0000 rrr1 11ss sSSS:00:--Z--:-----:13: BSET Dr,s[!Areg,Immd] +0000 rrr1 01ss sSSS:00:--Z--:-----:13: BCHG Dr,s[!Areg,Immd,PC8r,PC16] +0000 rrr1 10ss sSSS:00:--Z--:-----:13: BCLR Dr,s[!Areg,Immd,PC8r,PC16] +0000 rrr1 11ss sSSS:00:--Z--:-----:13: BSET Dr,s[!Areg,Immd,PC8r,PC16] 0001 DDDd ddss sSSS:00:-NZ00:-----:12: MOVE.B s,d[!Areg] 0010 DDDd ddss sSSS:00:-----:-----:12: MOVEA.L s,d[Areg] @@ -96,7 +98,7 @@ 0011 DDDd ddss sSSS:00:-----:-----:12: MOVEA.W s,d[Areg] 0011 DDDd ddss sSSS:00:-NZ00:-----:12: MOVE.W s,d[!Areg] -0100 0000 zzdd dDDD:00:XxZxC:-----:30: NEGX.z d[!Areg] +0100 0000 zzdd dDDD:00:XxZxC:X-Z--:30: NEGX.z d[!Areg] 0100 0000 11dd dDDD:01:?????:?????:10: MVSR2.W d[!Areg] 0100 0010 zzdd dDDD:00:-0100:-----:20: CLR.z d[!Areg] 0100 0010 11dd dDDD:10:?????:?????:10: MVSR2.B d[!Areg] @@ -113,7 +115,7 @@ 0100 1000 10dd dDDD:00:-----:-----:02: MVMLE.W #1,d[!Dreg,Areg,Aipi] 0100 1000 11dd dDDD:00:-NZ00:-----:30: EXT.L d[Dreg] 0100 1000 11dd dDDD:00:-----:-----:02: MVMLE.L #1,d[!Dreg,Areg,Aipi] -0100 1001 11dd dDDD:00:-NZ00:-----:30: EXT.B d[Dreg] +0100 1001 11dd dDDD:20:-NZ00:-----:30: EXT.B d[Dreg] 0100 1010 zzss sSSS:00:-NZ00:-----:10: TST.z s 0100 1010 11dd dDDD:00:?????:?????:30: TAS.B d[!Areg] 0100 1010 1111 1100:00:?????:?????:00: ILLEGAL @@ -137,7 +139,7 @@ 0100 1110 0111 1010:12:?????:?????:10: MOVEC2 #1 0100 1110 0111 1011:12:?????:?????:10: MOVE2C #1 0100 1110 10ss sSSS:00://///://///:80: JSR.L s[!Dreg,Areg,Aipi,Apdi,Immd] -0100 rrr1 00ss sSSS:00:?????:?????:11: CHK.L s[!Areg],Dr +0100 rrr1 00ss sSSS:20:?????:?????:11: CHK.L s[!Areg],Dr 0100 rrr1 10ss sSSS:00:?????:?????:11: CHK.W s[!Areg],Dr 0100 1110 11ss sSSS:00://///://///:80: JMP.L s[!Dreg,Areg,Aipi,Apdi,Immd] 0100 rrr1 11ss sSSS:00:-----:-----:02: LEA.L s[!Dreg,Areg,Aipi,Apdi,Immd],Ar @@ -148,8 +150,8 @@ 0101 jjj1 01dd dDDD:00:-----:-----:13: SUBA.W #j,d[Areg] 0101 jjj1 10dd dDDD:00:-----:-----:13: SUBA.L #j,d[Areg] 0101 jjj1 zzdd dDDD:00:XNZVC:-----:13: SUB.z #j,d[!Areg] -0101 cccc 1100 1rrr:00:-----:+++++:31: DBcc.W Dr,#1 -0101 cccc 11dd dDDD:00:-----:+++++:20: Scc.B d[!Areg] +0101 cccc 1100 1rrr:00:-----:-++++:31: DBcc.W Dr,#1 +0101 cccc 11dd dDDD:00:-----:-++++:20: Scc.B d[!Areg] 0101 cccc 1111 1010:20:?????:?????:10: TRAPcc #1 0101 cccc 1111 1011:20:?????:?????:10: TRAPcc #2 0101 cccc 1111 1100:20:?????:?????:00: TRAPcc @@ -160,9 +162,9 @@ 0110 0001 0000 0000:00://///://///:40: BSR.W #1 0110 0001 IIII IIII:00://///://///:40: BSR.B #i 0110 0001 1111 1111:00://///://///:40: BSR.L #2 -0110 CCCC 0000 0000:00:-----:+++++:40: Bcc.W #1 -0110 CCCC IIII IIII:00:-----:+++++:40: Bcc.B #i -0110 CCCC 1111 1111:00:-----:+++++:40: Bcc.L #2 +0110 CCCC 0000 0000:00:-----:-++++:40: Bcc.W #1 +0110 CCCC IIII IIII:00:-----:-++++:40: Bcc.B #i +0110 CCCC 1111 1111:00:-----:-++++:40: Bcc.L #2 0111 rrr0 iiii iiii:00:-NZ00:-----:12: MOVE.L #i,Dr @@ -244,10 +246,15 @@ 1111 0101 iiii iSSS:40:?????:?????:11: MMUOP #i,s % 68040 instructions -1111 0100 ii00 1rrr:42:-----:-----:02: CINVL #i,Ar -1111 0100 ii01 0rrr:42:-----:-----:02: CINVP #i,Ar -1111 0100 ii01 1rrr:42:-----:-----:00: CINVA #i -1111 0100 ii10 1rrr:42:-----:-----:02: CPUSHL #i,Ar -1111 0100 ii11 0rrr:42:-----:-----:02: CPUSHP #i,Ar -1111 0100 ii11 1rrr:42:-----:-----:00: CPUSHA #i -1111 0110 0010 0rrr:40:-----:-----:12: MOVE16 ArP,ARP +1111 0100 pp00 1rrr:42:-----:-----:02: CINVL #p,Ar +1111 0100 pp01 0rrr:42:-----:-----:02: CINVP #p,Ar +1111 0100 pp01 1rrr:42:-----:-----:00: CINVA #p +1111 0100 pp10 1rrr:42:-----:-----:02: CPUSHL #p,Ar +1111 0100 pp11 0rrr:42:-----:-----:02: CPUSHP #p,Ar +1111 0100 pp11 1rrr:42:-----:-----:00: CPUSHA #p +% destination register number is encoded in the following word +1111 0110 0010 0rrr:40:-----:-----:12: MOVE16 ArP,AxP +1111 0110 00ss sSSS:40:-----:-----:12: MOVE16 s[Dreg-Aipi],L +1111 0110 00dd dDDD:40:-----:-----:12: MOVE16 L,d[Areg-Aipi] +1111 0110 00ss sSSS:40:-----:-----:12: MOVE16 s[Aind],L +1111 0110 00dd dDDD:40:-----:-----:12: MOVE16 L,d[Aipi-Aind]