Test for AT instruction code 0x1e (BNZ_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 - Jump forwards and backwords.
Test 3 - Jump to out range address
Test 4 - Jump to not valid address point
Test 5 - infinite loop

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

00000000* SET @00000000 #0000000000000001
0000000d  BNZ $00000000, :00000021
00000013  SET @00000001 #1111111111111111
00000020  FIN
00000021  DEC @00000000
00000026  BNZ $00000000, :00000039
0000002c  SET @00000002 #ffffffffffffffff
00000039  FIN

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

010000000001000000000000001e0000000014010100000011111111111111112805000000001e00000000130102000000ffffff
ffffffffff28

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

00000000 00 00 00 00 00 00 00 00 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 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 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 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 #0000000000000001
0000000d  BNZ $00000000, :00000021
00000013  SET @00000001 #1111111111111111
00000020  FIN
00000021  SET @0000003f #ffffffffffffffff
0000002e  BNZ $0000003f, :00000013
00000034  SET @00000002 #ffffffffffffffff
00000041  FIN

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

010000000001000000000000001e00000000140101000000111111111111111128013f000000ffffffffffffffff1e3f000000e5
0102000000ffffffffffffffff28

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

00000000 01 00 00 00 00 00 00 00 11 11 11 11 11 11 11 11 
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 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 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 ff ff ff ff ff ff ff ff 

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

00000000* SET @00000000 #0000000000000001
0000000d  BNZ $00000000, :00000023
00000013  SET @00000001 #1111111111111111
00000020  FIN
00000021  SET @0000003f #ffffffffffffffff
0000002e  BNZ $0000003f, :00000013
00000034  SET @00000002 #ffffffffffffffff
00000041  FIN

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

010000000001000000000000001e00000000160101000000111111111111111128013f000000ffffffffffffffff1e3f000000e5
0102000000ffffffffffffffff28

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

error: invalid code

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

00000000* SET @00000000 #0000000000000001
0000000d  BNZ $00000000, :00000021
00000013  SET @00000001 #1111111111111111
00000020  FIN
00000021  SET @0000003f #ffffffffffffffff
0000002e  BNZ $0000003f, :ffffffff
00000034  SET @00000002 #ffffffffffffffff
00000041  FIN

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

010000000001000000000000001e00000000140101000000111111111111111128013f000000ffffffffffffffff1e3f000000d1
0102000000ffffffffffffffff28

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

error: invalid code

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

00000000* SET @00000000 #0000000000000001
0000000d  BNZ $00000000, :00000020
00000013  SET @00000001 #1111111111111111
00000020  SET @0000003f #ffffffffffffffff
0000002d  BNZ $0000003f, :00000013
00000033  SET @00000002 #ffffffffffffffff
00000040  FIN

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

010000000001000000000000001e000000001301010000001111111111111111013f000000ffffffffffffffff1e3f000000e601
02000000ffffffffffffffff28

Runtime Result (Test 5):
-----------------------

stopped - zero balance