****************************************************************************
* "ISAN" © Instruction Stream ANalyzer Configuration file
* Format: Base Opcode, Don't Care Mask, Instruction Name (no spaces please)
* (Any lines not starting with a '$' are ignored)
****************************************************************************


* The following two lines work but can be achieved automatically (and more
* efficiently) by adding the "TOTAL" command line switch.

*$0000,$FFFF,"  -- TOTAL --  "	;OUCH !! matches all 64K combinations!
*$FFFF,$0000,"---------------"

*---------------------------------------------------------------------
* WATCH HOW YOU USE THE DON'T CARE MASK FIELD, THE MORE 1s IN IT, THE
* SLOWER "ISAN" WILL BE AT UPDATING ITS WINDOW !!
*	|
*	|
*	V
*---------------------------------------------------------------------

* /--------------------	Opcode template
* |
* |     /--------------	Opcode "don't care" mask (any 1 bits can be either 1 or 0)
* |     |
* |     |     /-------- Opcode Label (give it anything you want !)
* V     V     V

$6100,$00FF,"BSR"		;does it have loads of user routines ?
$4E75,$0000,"RTS"		;program broken down in many subroutines ?

$2C78,$0000,"MOVE.L short,a6"	;does program get _AbsExecBase often ?
$4EAE,$0000,"JSR offs(A6)"	;does program call system often ?
$4E55,$0000,"LINK #x,A5"	;is it likely to be C (creation of dynamic vars)
$4E5D,$0000,"UNLK A5"		;is it likely to be C ? (freeing of dyna vars)
$4878,$0000,"PEA short"
$4879,$0000,"PEA long"

$10C0,$0E07,"MOVE.B Dn,(An)+"	;lots of character based operations ?
$1018,$0E07,"MOVE.B (An)+,Dn"	;
$10D8,$0E07,"MOVE.B (An)+,(An)+" ;copying a lot of stuff ?

$48E7,$0000,"MOVEM.L list,-(SP)" ;scared to corrupt registers ?
$4CDF,$0000,"MOVEM.L (SP)+,list"

$13C0,$0007,"MOVE.B Dn,abs long" ;writing to byte I/O registers ?

$7000,$0E00,"MOVEQ #0,Dn"	;uses constant 0 a lot ?
$7001,$0E00,"MOVEQ #1,Dn"	;uses constant 1 a lot ?
$7002,$0E00,"MOVEQ #2,Dn"	;uses constant 2 a lot ?
$70FF,$0E00,"MOVEQ #-1,Dn"	;uses constant -1 a lot ?
$7000,$0EFF,"MOVEQ #X,Dn"	;uses MOVEQ in general ?

$51C8,$0007,"DBRA Dn,label"	;SUB/BNE or DBRA ?

$5040,$0E07,"ADDQ.W #X,Dn"	;does it use the quick forms or not *?
$508F,$0EC0,"ADDQ.x #X,SP"	;does it use controlled garbage accumulation?*

$4EB8,$0000,"JSR abs short"	;jsr to short 64K address space ?? (virus ?)
$4EB9,$0000,"JSR abs long"	;relocatable only because of LoadSeg() !

$6000,$0000,"BRA.L"		;does it have lots of inefficient branches ?
$6600,$00FF,"BNE"
$6700,$00FF,"BEQ"
$6400,$00FF,"BCC"
$6500,$00FF,"BCS"
$6A00,$00FF,"BPL"
$6B00,$00FF,"BMI"
$4A80,$0007,"TST.L Dn"		;probably not assembler ...(MOVEs set flags)
$E508,$00C7,"LSL.x #2,Dn"	;doing manual index scaling ? (not 020 code)

$80FC,$0E3F,"DIVU ea,Dn"	;aha... need to convert to decimal maybe ?
$81FC,$0E3F,"DIVS ea,Dn"
$C0FC,$0E3F,"MULU ea,Dn"
$C1FC,$0E3F,"MULS ea,Dn"

$4E76,$0000,"TRAPV"		;is it compiled HLL with run-time checks on ?
$4E40,$000F,"TRAP #X"
$4840,$0007,"SWAP Dn"
$0800,$003F,"BTST"
$0840,$003F,"BCHG"
$0880,$003F,"BCLR"
$08C0,$003F,"BSET"

$4E71,$0000,"NOP"		;time to waste.. (not on MY machine you have!)
				;or internal CPU syncing.
$4E54,$0000,"LINK #x,A4"	;
$4E5C,$0000,"UNLK A4"		;
$0000,$0000,"OR.B #x,D0"	;range snooping debugging examples
$0001,$0000,"OR.B #x,D1"
$0001,$0001,"OR.B #x,D0-D1"
