Test for AT instruction code 0x03 (CLR_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.
Test 2 - Check highest value works.
Test 3 - Check full address range.
Test 4 - Check overwriting works.
Test 5 - Check address range edge fail.
Test 6 - Check negative adddress fails.

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

00000000* SET @00000000 #0000000000000000
0000000d  SET @00000003 #0000000000000003
0000001a  SET @00000006 #0000000000000006
00000027  SET @00000009 #0000000000000009
00000034  SET @0000000c #000000000000000c
00000041  SET @0000000f #000000000000000f
0000004e  SET @00000012 #0000000000000012
0000005b  SET @00000015 #0000000000000015
00000068  SET @00000018 #0000000000000018
00000075  SET @0000001b #000000000000001b
00000082  SET @0000001e #000000000000001e
0000008f  SET @00000021 #0000000000000021
0000009c  SET @00000024 #0000000000000024
000000a9  SET @00000027 #0000000000000027
000000b6  SET @0000002a #000000000000002a
000000c3  SET @0000002d #000000000000002d
000000d0  SET @00000030 #0000000000000030
000000dd  SET @00000033 #0000000000000033
000000ea  SET @00000036 #0000000000000036
000000f7  SET @00000039 #0000000000000039
00000104  SET @0000003c #000000000000003c
00000111  SET @0000003f #000000000000003f
0000011e  CLR @00000000
00000123  CLR @00000003
00000128  CLR @00000006
0000012d  CLR @00000009
00000132  CLR @0000000c
00000137  CLR @0000000f
0000013c  CLR @00000012
00000141  CLR @00000015
00000146  CLR @00000018
0000014b  CLR @0000001b
00000150  CLR @0000001e
00000155  CLR @00000021
0000015a  CLR @00000024
0000015f  CLR @00000027
00000164  CLR @0000002a
00000169  CLR @0000002d
0000016e  CLR @00000030
00000173  CLR @00000033
00000178  CLR @00000036
0000017d  CLR @00000039
00000182  CLR @0000003c
00000187  CLR @0000003f
0000018c  FIN

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

01000000000000000000000000010300000003000000000000000106000000060000000000000001090000000900000000000000
010c0000000c00000000000000010f0000000f000000000000000112000000120000000000000001150000001500000000000000
01180000001800000000000000011b0000001b00000000000000011e0000001e0000000000000001210000002100000000000000
0124000000240000000000000001270000002700000000000000012a0000002a00000000000000012d0000002d00000000000000
01300000003000000000000000013300000033000000000000000136000000360000000000000001390000003900000000000000
013c0000003c00000000000000013f0000003f000000000000000300000000030300000003060000000309000000030c00000003
0f000000031200000003150000000318000000031b000000031e000000032100000003240000000327000000032a000000032d00
00000330000000033300000003360000000339000000033c000000033f00000028

(data dump should be all zeros)

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

00000000* SET @00000001 #ffffffffffffffff
0000000d  SET @00000004 #ffffffffffffffff
0000001a  SET @00000007 #ffffffffffffffff
00000027  SET @0000000a #ffffffffffffffff
00000034  SET @0000000d #ffffffffffffffff
00000041  SET @00000010 #ffffffffffffffff
0000004e  SET @00000013 #ffffffffffffffff
0000005b  SET @00000016 #ffffffffffffffff
00000068  SET @00000019 #ffffffffffffffff
00000075  SET @0000001c #ffffffffffffffff
00000082  SET @0000001f #ffffffffffffffff
0000008f  SET @00000022 #ffffffffffffffff
0000009c  SET @00000025 #ffffffffffffffff
000000a9  SET @00000028 #ffffffffffffffff
000000b6  SET @0000002b #ffffffffffffffff
000000c3  SET @0000002e #ffffffffffffffff
000000d0  SET @00000031 #ffffffffffffffff
000000dd  SET @00000034 #ffffffffffffffff
000000ea  SET @00000037 #ffffffffffffffff
000000f7  SET @0000003a #ffffffffffffffff
00000104  SET @0000003d #ffffffffffffffff
00000111  CLR @00000001
00000116  CLR @00000004
0000011b  CLR @00000007
00000120  CLR @0000000a
00000125  CLR @0000000d
0000012a  CLR @00000010
0000012f  CLR @00000013
00000134  CLR @00000016
00000139  CLR @00000019
0000013e  CLR @0000001c
00000143  CLR @0000001f
00000148  CLR @00000022
0000014d  CLR @00000025
00000152  CLR @00000028
00000157  CLR @0000002b
0000015c  CLR @0000002e
00000161  CLR @00000031
00000166  CLR @00000034
0000016b  CLR @00000037
00000170  CLR @0000003a
00000175  CLR @0000003d
0000017a  FIN

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

0101000000ffffffffffffffff0104000000ffffffffffffffff0107000000ffffffffffffffff010a000000ffffffffffffffff
010d000000ffffffffffffffff0110000000ffffffffffffffff0113000000ffffffffffffffff0116000000ffffffffffffffff
0119000000ffffffffffffffff011c000000ffffffffffffffff011f000000ffffffffffffffff0122000000ffffffffffffffff
0125000000ffffffffffffffff0128000000ffffffffffffffff012b000000ffffffffffffffff012e000000ffffffffffffffff
0131000000ffffffffffffffff0134000000ffffffffffffffff0137000000ffffffffffffffff013a000000ffffffffffffffff
013d000000ffffffffffffffff030100000003040000000307000000030a000000030d0000000310000000031300000003160000
000319000000031c000000031f000000032200000003250000000328000000032b000000032e0000000331000000033400000003
37000000033a000000033d00000028

(data dump should be all zeros)

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

00000000* SET @00000002 #efcdab8967452301
0000000d  SET @00000005 #efcdab8967452301
0000001a  SET @00000008 #efcdab8967452301
00000027  SET @0000000b #efcdab8967452301
00000034  SET @0000000e #efcdab8967452301
00000041  SET @00000011 #efcdab8967452301
0000004e  SET @00000014 #efcdab8967452301
0000005b  SET @00000017 #efcdab8967452301
00000068  SET @0000001a #efcdab8967452301
00000075  SET @0000001d #efcdab8967452301
00000082  SET @00000020 #efcdab8967452301
0000008f  SET @00000023 #efcdab8967452301
0000009c  SET @00000026 #efcdab8967452301
000000a9  SET @00000029 #efcdab8967452301
000000b6  SET @0000002c #efcdab8967452301
000000c3  SET @0000002f #efcdab8967452301
000000d0  SET @00000032 #efcdab8967452301
000000dd  SET @00000035 #efcdab8967452301
000000ea  SET @00000038 #efcdab8967452301
000000f7  SET @0000003b #efcdab8967452301
00000104  SET @0000003e #efcdab8967452301
00000111  CLR @00000002
00000116  CLR @00000005
0000011b  CLR @00000008
00000120  CLR @0000000b
00000125  CLR @0000000e
0000012a  CLR @00000011
0000012f  CLR @00000014
00000134  CLR @00000017
00000139  CLR @0000001a
0000013e  CLR @0000001d
00000143  CLR @00000020
00000148  CLR @00000023
0000014d  CLR @00000026
00000152  CLR @00000029
00000157  CLR @0000002c
0000015c  CLR @0000002f
00000161  CLR @00000032
00000166  CLR @00000035
0000016b  CLR @00000038
00000170  CLR @0000003b
00000175  CLR @0000003e
0000017a  FIN

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

01020000000123456789abcdef01050000000123456789abcdef01080000000123456789abcdef010b0000000123456789abcdef
010e0000000123456789abcdef01110000000123456789abcdef01140000000123456789abcdef01170000000123456789abcdef
011a0000000123456789abcdef011d0000000123456789abcdef01200000000123456789abcdef01230000000123456789abcdef
01260000000123456789abcdef01290000000123456789abcdef012c0000000123456789abcdef012f0000000123456789abcdef
01320000000123456789abcdef01350000000123456789abcdef01380000000123456789abcdef013b0000000123456789abcdef
013e0000000123456789abcdef030200000003050000000308000000030b000000030e0000000311000000031400000003170000
00031a000000031d0000000320000000032300000003260000000329000000032c000000032f0000000332000000033500000003
38000000033b000000033e00000028

(data dump should be all zeros)

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

00000000* SET @00000002 #0000000000000000
0000000d  SET @00000003 #ffffffffffffffff
0000001a  SET @00000004 #1111111111111111
00000027  SET @00000011 #5555555555555555
00000034  SET @00000014 #8888888888888888
00000041  SET @00000017 #4444444444444444
0000004e  SET @00000022 #2222222222222222
0000005b  SET @00000023 #7777777777777777
00000068  SET @00000024 #3333333333333333
00000075  CLR @00000003
0000007a  CLR @00000003
0000007f  CLR @00000003
00000084  CLR @00000011
00000089  CLR @00000011
0000008e  CLR @00000017
00000093  CLR @00000017
00000098  CLR @00000023
0000009d  CLR @00000023
000000a2  CLR @00000023
000000a7  FIN

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

010200000000000000000000000103000000ffffffffffffffff0104000000111111111111111101110000005555555555555555
01140000008888888888888888011700000044444444444444440122000000222222222222222201230000007777777777777777
01240000003333333333333333030300000003030000000303000000031100000003110000000317000000031700000003230000
000323000000032300000028

Data Dump (Test 4):
-------------------

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

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

00000000* SET @0000003e #ffffffffffffffff
0000000d  SET @0000003f #ffffffffffffffff
0000001a  CLR @0000003f
0000001f  CLR @00000040
00000024  FIN

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

013e000000ffffffffffffffff013f000000ffffffffffffffff033f000000034000000028

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

error: overflow

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

00000000* CLR @ffffffff
00000005  FIN

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

03ffffffff28

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