<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CIYAM AT - Test for AT instruction code 0x11 (POP_DAT)</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="copyright" content="Copyright 2015 CIYAM Developers"/> <link rel="stylesheet" href="document.css" type="text/css"/> </head> <div id="content"> <div id="header"> <div id="appname"><a href="//ciyam.org/at">AT</a></div> <h3 class="right-top">Test for AT instruction code 0x11 (POP_DAT)</h3> </div> <div id="main"> <div id="text"> <pre> 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 </pre> </div> </div> <div style="visibility: visible;" id="footer"> <p> <div class="footer-icon"><a target="_blank" href="//ciyam.org/"><img src="logo-gryscl-128.png" /></a></div> © 2012-2015 CIYAM Developers </p> </div> </body> </html>