Test for AT instruction code 0x02 (SET_DAT)
-------------------------------------------

For each test the assembly and machine code are listed as is the data dump or expected error if test case has
been created specifically to fail (with a data dump if any data was expected to have changed before the error
occurred).

A summary of the tests follows:
Test 1 - Check some basic usage (odd addresses).
Test 2 - Check full address range.
Test 3 - Copying to address out of range.
Test 4 - Copying from address out of range.
Test 5 - Copying to address out of range.
Test 6 - Copying from address out of range.

Assembly Code (Test 1):
-----------------------

00000000* SET @00000000 #1111111111111111
0000000d  SET @00000001 $00000000
0000001a  SET @00000003 $00000000
00000027  SET @00000005 $00000000
00000034  SET @00000007 $00000000
00000041  SET @00000009 $00000000
0000004e  SET @0000000b $00000000
0000005b  SET @0000000d $00000000
00000068  SET @0000000f $00000000
00000075  SET @00000011 $00000000
00000082  SET @00000013 $00000000
0000008f  SET @00000015 $00000000
0000009c  SET @00000017 $00000000
000000a9  SET @00000019 $00000000
000000b6  SET @0000001b $00000000
000000c3  SET @0000001d $00000000
000000d0  SET @0000001f $00000000
000000dd  SET @00000021 $00000000
000000ea  SET @00000023 $00000000
000000f7  SET @00000025 $00000000
00000104  SET @00000027 $00000000
00000111  SET @00000029 $00000000
0000011e  SET @0000002b $00000000
0000012b  SET @0000002d $00000000
00000138  SET @0000002f $00000000
00000145  SET @00000031 $00000000
00000152  SET @00000033 $00000000
0000015f  SET @00000035 $00000000
0000016c  SET @00000037 $00000000
00000179  SET @00000039 $00000000
00000186  SET @0000003b $00000000
00000193  SET @0000003d $00000000
000001a0  SET @0000003f $00000000
000001ab  FIN

Machine Code (Test 1):
----------------------

01000000001111111111111111020100000000000000020300000000000000020500000000000000020700000000000000020900
000000000000020b00000000000000020d00000000000000020f0000000000000002110000000000000002130000000000000002
1500000000000000021700000000000000021900000000000000021b00000000000000021d00000000000000021f000000000000
00022100000000000000022300000000000000022500000000000000022700000000000000022900000000000000022b00000000
000000022d00000000000000022f0000000000000002310000000000000002330000000000000002350000000000000002370000
0000000000023900000000000000023b00000000000000023d00000000000000023f0000000000000028


Data Dump (Test 1):
-------------------

00000000 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 
00000010 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000020 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000030 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000040 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000050 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000060 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000070 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000080 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000090 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000a0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000b0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000c0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000d0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000e0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000000f0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000100 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000110 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000120 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000130 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000140 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000150 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000160 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000170 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000180 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
00000190 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001a0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001b0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001c0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001d0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001e0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
000001f0 00 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11

Assembly Code (Test 2):
-----------------------

00000000* SET @00000000 #ffffffffffffffff
0000000d  SET @00000002 $00000000
0000001a  SET @00000004 $00000002
00000027  SET @00000006 $00000004
00000034  SET @00000008 $00000006
00000041  SET @0000000a $00000008
0000004e  SET @0000000c $0000000a
0000005b  SET @0000000e $0000000c
00000068  SET @00000010 $0000000e
00000075  SET @00000012 $00000010
00000082  SET @00000014 $00000012
0000008f  SET @00000016 $00000014
0000009c  SET @00000018 $00000016
000000a9  SET @0000001a $00000018
000000b6  SET @0000001c $0000001a
000000c3  SET @0000001e $0000001c
000000d0  SET @00000020 $0000001e
000000dd  SET @00000022 $00000020
000000ea  SET @00000024 $00000022
000000f7  SET @00000026 $00000024
00000104  SET @00000028 $00000026
00000111  SET @0000002a $00000028
0000011e  SET @0000002c $0000002a
0000012b  SET @0000002e $0000002c
00000138  SET @00000030 $0000002e
00000145  SET @00000032 $00000030
00000152  SET @00000034 $00000034
0000015f  SET @00000036 $00000036
0000016c  SET @00000038 $00000038
00000179  SET @0000003a $0000003a
00000186  SET @0000003c $0000003c
00000193  SET @0000003e $0000003e
000001ab  FIN

Machine Code (Test 2):
----------------------

0100000000ffffffffffffffff020200000000000000020400000002000000020600000004000000020800000006000000020a00
000008000000020c0000000a000000020e0000000c00000002100000000e00000002120000001000000002140000001200000002
1600000014000000021800000016000000021a00000018000000021c0000001a000000021e0000001c00000002200000001e0000
00022200000020000000022400000022000000022600000024000000022800000026000000022a00000028000000022c0000002a
000000022e0000002c00000002300000002e00000002320000003000000002340000003200000002360000003400000002380000
0036000000023a00000038000000023c0000003a000000023e0000003c00000028

Data Dump (Test 2):
-------------------

00000000 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000010 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000020 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000030 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000040 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000050 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000060 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000070 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000080 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000090 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000a0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000b0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000c0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000d0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000e0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000000f0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000100 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000110 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000120 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000130 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000140 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000150 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000160 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000170 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000180 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
00000190 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001a0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001b0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001c0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001d0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001e0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 
000001f0 ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00 

Assembly Code (Test 3):
-----------------------

00000000* SET @00000000 #ffffffffffffffff
0000000d  SET @00000040 $00000000
0000001a  FIN

Machine Code (Test 3):
-----------------------

0100000000ffffffffffffffff02400000000000000028

Runtime Error (Test 3):
-----------------------

error: overflow


Assembly Code (Test 4):
-----------------------

00000000* SET @00000000 #ffffffffffffffff
0000000d  SET @00000000 $00000040
0000001a  FIN

Machine Code (Test 4):
----------------------

0100000000ffffffffffffffff02020000004000000028

Runtime Error (Test 4):
-----------------------

error: overflow

Assembly Code (Test 5):
-----------------------

00000000* SET @00000000 #ffffffffffffffff
0000000d  SET @ffffffff $00000000
0000001a  FIN

Machine Code (Test 5):
----------------------

0100000000ffffffffffffffff02ffffffff0000000028

Runtime Error (Test 5):
-----------------------

error: overflow

Assembly Code (Test 6):
-----------------------

00000000* SET @00000000 #ffffffffffffffff
0000000d  SET @00000000 $ffffffff
0000001a  FIN

Machine Code (Test 6):
----------------------

0100000000ffffffffffffffff020200000ffffffff028

Runtime Error (Test 6):
-----------------------

error: overflow