#
# 68k_test_15
#
# fifteenth test file for the 68k core testing program
#
# tests AND instructions in the 0xcxxx range
#

# $Id$

#
# NOTE: Someone plays fast and loose with flags...
#

# test AND.W D0, D1 (0xc240)
start and.w d0, d1, take 1
set mem 0x002000 = 0xc240
set reg d0 = 0x00000000
set reg d1 = 0xffffffff
set pc 0x002000
set flags 0x001f
set cycles 4
run
check cycles 0
check pc 0x002002
check reg d1 = 0xffff0000
check flags 0x0014
done

# test AND.W D0, D1 (0xc240)
start and.w d0, d1, take 2
set mem 0x002000 = 0xc240
set reg d0 = 0x0000aa55
set reg d1 = 0xffffffff
set pc 0x002000
set flags 0x001f
set cycles 4
run
check cycles 0
check pc 0x002002
check reg d1 = 0xffffaa55
check flags 0x0018
done

# test AND.W D0, D1 (0xc240)
start and.w d0, d1, take 3
set mem 0x002000 = 0xc240
set reg d0 = 0x0000a5a5
set reg d1 = 0xffff55aa
set pc 0x002000
set flags 0x0000
set cycles 4
run
check cycles 0
check pc 0x002002
check reg d1 = 0xffff05a0
check flags 0x0000
done

# test AND.L D0, D1 (0xc280)
start and.l d0, d1, take 1
set mem 0x002000 = 0xc280
set reg d0 = 0x00000000
set reg d1 = 0xffffffff
set pc 0x002000
set flags 0x001f
set cycles 8
run
check cycles 0
check pc 0x002002
check reg d1 = 0x0000000
check flags 0x0014
done

# test AND.L D0, D1 (0xc280)
start and.l d0, d1, take 2
set mem 0x002000 = 0xc280
set reg d0 = 0xaa55aa55
set reg d1 = 0xffffffff
set pc 0x002000
set flags 0x001f
set cycles 8
run
check cycles 0
check pc 0x002002
check reg d1 = 0xaa55aa55
check flags 0x0018
done

# test AND.L D0, D1 (0xc280)
start and.l d0, d1, take 3
set mem 0x002000 = 0xc280
set reg d0 = 0xa5a5a5a5
set reg d1 = 0x55aa55aa
set pc 0x002000
set flags 0x0000
set cycles 8
run
check cycles 0
check pc 0x002002
check reg d1 = 0x05a005a0
check flags 0x0000
done

#
# $Log$
#
