#
# 6280_test_10
#
# test load/store instructions
#

#
# test LDX Imm (0xa2)
#

start ldx imm (0xa2), take 1
set mem 0x2000 = 0xa2
set mem 0x2001 = 0x00
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 2
run
check cycles 0
check pc 0x2002
check reg x = 0x00
check flags 0x02
done

#
# test LDX ZPage (0xa6)
#

start ldx zpage (0xa6), take 1
set mem 0x2000 = 0xa6
set mem 0x2001 = 0x45
set mem 0x0045 = 0xaa
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 3
run
check cycles 0
check pc 0x2002
check reg x = 0xaa
check flags 0x80
done

#
# test LDX ZPage, Y (0xb6)
#

start ldx zpagey (0xb6), take 1
set mem 0x2000 = 0xb6
set mem 0x2001 = 0x45
set mem 0x0040 = 0xaa
set reg y = 0xfb
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2002
check reg x = 0xaa
check flags 0x80
done

#
# test LDX Abs (0xae)
#

start ldx abs (0xae), take 1
set mem 0x2000 = 0xae
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7745 = 0xaa
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check reg x = 0xaa
check flags 0x80
done

#
# test LDX Abs, Y (0xbe)
#

start ldx absy (0xbe), take 1
set mem 0x2000 = 0xbe
set mem 0x2001 = 0x00
set mem 0x2002 = 0x77
set mem 0x77fb = 0xaa
set reg y = 0xfb
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check reg x = 0xaa
check flags 0x80
done

start ldx absy (0xbe), take 2
set mem 0x2000 = 0xbe
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7840 = 0xaa
set reg y = 0xfb
set reg x = 0x42
set flags 0x00
set pc 0x2000
set cycles 5
run
check cycles 0
check pc 0x2003
check reg x = 0xaa
check flags 0x80
done

#
# test LDY Imm (0xa0)
#

start ldy imm (0xa0), take 1
set mem 0x2000 = 0xa0
set mem 0x2001 = 0x00
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 2
run
check cycles 0
check pc 0x2002
check reg y = 0x00
check flags 0x02
done

#
# test LDY ZPage (0xa4)
#

start ldy zpage (0xa4), take 1
set mem 0x2000 = 0xa4
set mem 0x2001 = 0x45
set mem 0x0045 = 0xaa
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 3
run
check cycles 0
check pc 0x2002
check reg y = 0xaa
check flags 0x80
done

#
# test LDY ZPage, X (0xb4)
#

start ldy zpagex (0xb4), take 1
set mem 0x2000 = 0xb4
set mem 0x2001 = 0x45
set mem 0x0040 = 0xaa
set reg x = 0xfb
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2002
check reg y = 0xaa
check flags 0x80
done

#
# test LDY Abs (0xac)
#

start ldy abs (0xac), take 1
set mem 0x2000 = 0xac
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7745 = 0xaa
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check reg y = 0xaa
check flags 0x80
done

#
# test LDY Abs, X (0xbc)
#

start ldy absx (0xbc), take 1
set mem 0x2000 = 0xbc
set mem 0x2001 = 0x00
set mem 0x2002 = 0x77
set mem 0x77fb = 0xaa
set reg x = 0xfb
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check reg y = 0xaa
check flags 0x80
done

start ldy absx (0xbc), take 2
set mem 0x2000 = 0xbc
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7840 = 0xaa
set reg x = 0xfb
set reg y = 0x42
set flags 0x00
set pc 0x2000
set cycles 5
run
check cycles 0
check pc 0x2003
check reg y = 0xaa
check flags 0x80
done

#
# test STX ZPage (0x86)
#

start stx zpage (0x86), take 1
set mem 0x2000 = 0x86
set mem 0x2001 = 0x45
set mem 0x0045 = 0xaa
set reg x = 0x42
set flags 0x82
set pc 0x2000
set cycles 3
run
check cycles 0
check pc 0x2002
check mem 0x0045 = 0x42
check flags 0x82
done

#
# test STX ZPage, Y (0x96)
#

start stx zpagey (0x96), take 1
set mem 0x2000 = 0x96
set mem 0x2001 = 0x45
set mem 0x0040 = 0x42
set reg y = 0xfb
set reg x = 0xaa
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2002
check mem 0x0040 = 0xaa
check flags 0x00
done

#
# test STX Abs (0x8e)
#

start stx abs (0x8e), take 1
set mem 0x2000 = 0x8e
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7745 = 0xaa
set reg x = 0x00
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check mem 0x7745 = 0x00
check flags 0x00
done

#
# test STY ZPage (0x84)
#

start sty zpage (0x84), take 1
set mem 0x2000 = 0x84
set mem 0x2001 = 0x45
set mem 0x0045 = 0xaa
set reg y = 0x42
set flags 0x82
set pc 0x2000
set cycles 3
run
check cycles 0
check pc 0x2002
check mem 0x0045 = 0x42
check flags 0x82
done

#
# test STY ZPage, X (0x94)
#

start sty zpagex (0x94), take 1
set mem 0x2000 = 0x94
set mem 0x2001 = 0x45
set mem 0x0040 = 0x42
set reg x = 0xfb
set reg y = 0xaa
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2002
check mem 0x0040 = 0xaa
check flags 0x00
done

#
# test STY Abs (0x8c)
#

start sty abs (0x8c), take 1
set mem 0x2000 = 0x8c
set mem 0x2001 = 0x45
set mem 0x2002 = 0x77
set mem 0x7745 = 0xaa
set reg y = 0x00
set flags 0x00
set pc 0x2000
set cycles 4
run
check cycles 0
check pc 0x2003
check mem 0x7745 = 0x00
check flags 0x00
done

#
# EOF
#
