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