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