Test for AT instruction code 0x11 (POP_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 address range.
Test 3 - POP without PSH first
Test 4 - POP to address out of range

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

00000000* SET @00000000 #1111111100000000
0000000d  PSH $00000000
00000012  PSH $00000000
00000017  PSH $00000000
0000001c  PSH $00000000
00000021  PSH $00000000
00000026  PSH $00000000
0000002b  PSH $00000000
00000030  PSH $00000000
00000035  PSH $00000000
0000003a  PSH $00000000
0000003f  PSH $00000000
00000044  POP @00000001
00000049  POP @00000002
0000004e  POP @00000003
00000053  POP @00000004
00000058  POP @00000005
0000005d  POP @00000006
00000062  POP @00000007
00000067  POP @00000008
0000006c  POP @00000009
00000071  POP @0000000a
00000076  FIN

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

01000000000000000011111111100000000010000000001000000000100000000010000000001000000000100000000010000000
00100000000010000000001000000000110100000011020000001103000000110400000011050000001106000000110700000011
080000001109000000110a00000028

Stacks Dump (Test 1):
---------------------

00000000 00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11 
00000010 00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11 
00000020 00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11 
00000030 00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 11 
00000040 00 00 00 00 11 11 11 11 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 00 00 00 00 00 00 00 00 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00000120 00 00 00 00 00 00 00 00 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 2):
-----------------------

00000000* SET @00000000 #1111111100000000
0000000d  PSH $00000000
00000012  SET @00000008 #1211111100000000
0000001f  PSH $00000008
00000024  SET @00000018 #1311111100000000
00000031  PSH $00000018
00000036  SET @00000028 #1411111100000000
00000043  PSH $00000028
00000048  SET @00000038 #1511111100000000
00000055  PSH $00000038
0000005a  SET @0000003a #1611111100000000
00000067  PSH $0000003a
0000006c  SET @0000003c #1711111100000000
00000079  PSH $0000003c
0000007e  SET @0000003e #1811111100000000
0000008b  PSH $0000003e
00000090  POP @00000001
00000095  POP @00000009
0000009a  POP @00000019
0000009f  POP @00000029
000000a4  POP @00000039
000000a9  POP @0000003d
000000ae  POP @0000003f
000000b3  FIN

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

01000000000000000011111111100000000001080000000000000011111112100800000001180000000000000011111113101800
0000012800000000000000111111141028000000013800000000000000111111151038000000013a000000000000001111111610
3a000000013c0000000000000011111117103c000000013e0000000000000011111118103e000000110100000011090000001119
00000011290000001139000000113d000000113f00000028

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

00000000 00 00 00 00 11 11 11 11 00 00 00 00 11 11 11 17 
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00000020 00 00 00 00 00 00 00 00 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 11 11 11 12 00 00 00 00 11 11 11 16 
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 00 00 00 00 00 00 00 00 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 11 11 11 13 00 00 00 00 11 11 11 15 
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00000120 00 00 00 00 00 00 00 00 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 11 11 11 14 00 00 00 00 11 11 11 14 
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 11 11 11 15 00 00 00 00 11 11 11 13 
000001d0 00 00 00 00 11 11 11 16 00 00 00 00 00 00 00 00 
000001e0 00 00 00 00 11 11 11 17 00 00 00 00 11 11 11 12 
000001f0 00 00 00 00 11 11 11 18 00 00 00 00 11 11 11 11 

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

00000000* POP @00000001
0000000d  FIN

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

111000000028

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

error: overflow

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

00000000  SET @00000000 #0000000011111111
0000000d  PSH $00000000
00000012* POP @00000040
00000017  FIN

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

010000000011111111000000001000000000114000000028

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

error: overflow