;
; nono
; Copyright (C) 2020 nono project
; Licensed under nono-license.txt
;

; ビットパターンはこの定義順に展開するので、前の行を後の行で上書きする。
; そのためより限定的なほうを後ろ(下)に記述すること。
; それ以外は概ねソートすること。
;
; ビットパターン
;	0, 1   … 0 または 1 固定のビット
;	n      … 0 および 1 の両方に展開される
;	yyy    … レジスタ番号(%000-%111)に展開。
;
;ビットパターン		ADDRESSING	MPU	関数名			表示名
0010010000000000	..........	-3-	pflusha			PFLUSHA
00110000nnn00000	..........	-3-	pflush			PFLUSH SFC,#<mask>
00110000nnn00001	..........	-3-	pflush			PFLUSH DFC,#<mask>
00110000nnn01yyy	..........	-3-	pflush			PFLUSH Dy,#<mask>
00110000nnn10nnn	..........	-3-	pflush			PFLUSH #<imm>,#<mask>
00001n0000000000	..m..rxw..	-3-	pmove_ea_tt		PMOVE.L <ea>,TTn
00001n0100000000	..m..rxw..	-3-	pmove_ea_tt		PMOVEFD.L <ea>,TTn
00001n1000000000	..m..rxw..	-3-	pmove_tt_ea		PMOVE.L TTn,<ea>
0010000000000000	..m..rxw..	-3-	ploadw			PLOADW SFC,<ea>
0010000000000001	..m..rxw..	-3-	ploadw			PLOADW DFC,<ea>
0010000000001yyy	..m..rxw..	-3-	ploadw			PLOADW Dy,<ea>
0010000000010nnn	..m..rxw..	-3-	ploadw			PLOADW #<imm>,<ea>
0010001000000000	..m..rxw..	-3-	ploadr			PLOADR SFC,<ea>
0010001000000001	..m..rxw..	-3-	ploadr			PLOADR DFC,<ea>
0010001000001yyy	..m..rxw..	-3-	ploadr			PLOADR Dy,<ea>
0010001000010nnn	..m..rxw..	-3-	ploadr			PLOADR #<imm>,<ea>
00111000nnn00000	..m..rxw..	-3-	pflush_ea		PFLUSH SFC,#<mask>,<ea>
00111000nnn00001	..m..rxw..	-3-	pflush_ea		PFLUSH DFC,#<mask>,<ea>
00111000nnn01yyy	..m..rxw..	-3-	pflush_ea		PFLUSH Dy,#<mask>,<ea>
00111000nnn10nnn	..m..rxw..	-3-	pflush_ea		PFLUSH #<imm>,#<mask>,<ea>
0100000000000000	..m..rxw..	-3-	pmove_ea_tc		PMOVE.L <ea>,TC
0100000100000000	..m..rxw..	-3-	pmove_ea_tc		PMOVEFD.L <ea>,TC
0100001000000000	..m..rxw..	-3-	pmove_tc_ea		PMOVE.L TC,<ea>
0100100000000000	..m..rxw..	-3-	pmove_ea_srp	PMOVE.Q <ea>,SRP
0100100100000000	..m..rxw..	-3-	pmove_ea_srp	PMOVEFD.Q <ea>,SRP
0100101000000000	..m..rxw..	-3-	pmove_srp_ea	PMOVE.Q SRP,<ea>
0100110000000000	..m..rxw..	-3-	pmove_ea_crp	PMOVE.Q <ea>,CRP
0100110100000000	..m..rxw..	-3-	pmove_ea_crp	PMOVEFD.Q <ea>,CRP
0100111000000000	..m..rxw..	-3-	pmove_crp_ea	PMOVE.Q CRP,<ea>
0110000000000000	..m..rxw..	-3-	pmove_ea_mmusr	PMOVE.W <ea>,MMUSR
0110001000000000	..m..rxw..	-3-	pmove_mmusr_ea	PMOVE.W MMUSR,<ea>
100nnn0000000000	..m..rxw..	-3-	ptestw		PTESTW SFC,<ea>,#<level>
100nnn0000000001	..m..rxw..	-3-	ptestw		PTESTW DFC,<ea>,#<level>
100nnn0000001yyy	..m..rxw..	-3-	ptestw		PTESTW Dy,<ea>,#<level>
100nnn0000010nnn	..m..rxw..	-3-	ptestw		PTESTW #<imm>,<ea>,#<level>
100nnn01nnn00000	..m..rxw..	-3-	ptestw_an	PTESTW SFC,<ea>,#<level>,An
100nnn01nnn00001	..m..rxw..	-3-	ptestw_an	PTESTW DFC,<ea>,#<level>,An
100nnn01nnn01yyy	..m..rxw..	-3-	ptestw_an	PTESTW Dy,<ea>,#<level>,An
100nnn01nnn10nnn	..m..rxw..	-3-	ptestw_an	PTESTW #<imm>,<ea>,#<level>,An
100nnn1000000000	..m..rxw..	-3-	ptestr		PTESTR SFC,<ea>,#<level>
100nnn1000000001	..m..rxw..	-3-	ptestr		PTESTR DFC,<ea>,#<level>
100nnn1000001yyy	..m..rxw..	-3-	ptestr		PTESTR Dy,<ea>,#<level>
100nnn1000010nnn	..m..rxw..	-3-	ptestr		PTESTR #<imm>,<ea>,#<level>
100nnn11nnn00000	..m..rxw..	-3-	ptestr_an	PTESTR SFC,<ea>,#<level>,An
100nnn11nnn00001	..m..rxw..	-3-	ptestr_an	PTESTR DFC,<ea>,#<level>,An
100nnn11nnn01yyy	..m..rxw..	-3-	ptestr_an	PTESTR Dy,<ea>,#<level>,An
100nnn11nnn10nnn	..m..rxw..	-3-	ptestr_an	PTESTR #<imm>,<ea>,#<level>,An
