Emulation-Primitives.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on November 8, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: 3.8 Emulation Primitives</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 3.8 Emulation Primitives">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 3.8 Emulation Primitives">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="Emulation-Primitives"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Profiling.html#Profiling" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Lists-of-Pairs-of-Ports.html#Lists-of-Pairs-of-Ports" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Character-Table.html#Character-Table" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="Emulation-Primitives-1"></a>
  58. <h2 class="section">3.8 Emulation Primitives</h2>
  59. <p>The functions documented in this section can be used to take very
  60. specific control over the evaluation of virtual code applications. It is
  61. unlikely that a client program will have any need for them unless it
  62. aims to replace or extend the <code>avm_apply</code> function.
  63. </p>
  64. <p>The virtual machine is somewhat removed from a conventional von Neumann
  65. model of computation, so emulating it in C or any other imperative
  66. language is less straightforward than one would prefer. An elaborate
  67. system of interdependent data structures is used to represent partially
  68. evaluated computations, which does not particularly lend itself to a
  69. convenient, modular API. The abstraction provided by the functions in
  70. this section is limited mainly to that of simple memory management and
  71. stack operations. Consequently, a developer wishing to build on them
  72. effectively would need to <em>grok</em> the data structures involved,
  73. which are described in some detail.
  74. </p>
  75. <table class="menu" border="0" cellspacing="0">
  76. <tr><td align="left" valign="top"><a href="Lists-of-Pairs-of-Ports.html#Lists-of-Pairs-of-Ports">3.8.1 Lists of Pairs of Ports</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  77. </td></tr>
  78. <tr><td align="left" valign="top"><a href="Ports-and-Packets.html#Ports-and-Packets">3.8.2 Ports and Packets</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  79. </td></tr>
  80. <tr><td align="left" valign="top"><a href="Instruction-Stacks.html#Instruction-Stacks">3.8.3 Instruction Stacks</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
  81. </td></tr>
  82. </table>
  83. <hr size="1">
  84. <table cellpadding="1" cellspacing="1" border="0">
  85. <tr><td valign="middle" align="left">[<a href="Profiling.html#Profiling" title="Previous section in reading order"> &lt; </a>]</td>
  86. <td valign="middle" align="left">[<a href="Lists-of-Pairs-of-Ports.html#Lists-of-Pairs-of-Ports" title="Next section in reading order"> &gt; </a>]</td>
  87. <td valign="middle" align="left"> &nbsp; </td>
  88. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  89. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Up section"> Up </a>]</td>
  90. <td valign="middle" align="left">[<a href="Character-Table.html#Character-Table" title="Next chapter"> &gt;&gt; </a>]</td>
  91. <td valign="middle" align="left"> &nbsp; </td>
  92. <td valign="middle" align="left"> &nbsp; </td>
  93. <td valign="middle" align="left"> &nbsp; </td>
  94. <td valign="middle" align="left"> &nbsp; </td>
  95. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  96. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  97. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  98. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  99. </tr></table>
  100. <p>
  101. <font size="-1">
  102. This document was generated on <i>November 8, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  103. </font>
  104. <br>
  105. </p>
  106. </body>
  107. </html>