You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport" content="width=device-width, initial-scale=1.0"><metaname="generator" content="rustdoc"><metaname="description" content="Documentation for Rustdoc"><title>Help</title><linkrel="preload" as="font" type="font/woff2" crossoriginhref="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><linkrel="preload" as="font" type="font/woff2" crossoriginhref="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><linkrel="preload" as="font" type="font/woff2" crossoriginhref="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><linkrel="preload" as="font" type="font/woff2" crossoriginhref="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><linkrel="preload" as="font" type="font/woff2" crossoriginhref="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><linkrel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet" href="./static.files/rustdoc-ac92e1bbe349e143.css"><metaname="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="sage" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><scriptsrc="./static.files/storage-f2adc0d6ca4d09fb.js"></script><scriptdefersrc="./static.files/main-305769736d49e732.js"></script><noscript><linkrel="stylesheet" href="./static.files/noscript-feafe1bb7466e4bd.css"></noscript><linkrel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><linkrel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><linkrel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><bodyclass="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="logo-container" href="./index.html"><imgclass="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt=""></a></nav><navclass="sidebar"><divclass="sidebar-crate"><aclass="logo-container" href="./index.html"><imgclass="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2><ahref="./index.html">Rustdoc</a><spanclass="version">1.76.0</span></h2></div><divclass="version">(07dca489a 2024-02-04)</div><h2class="location">Help</h2><divclass="sidebar-elems"></div></nav><divclass="sidebar-resizer"></div>
2
-
<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button" tabindex="-1"><ahref="./sage/all.html" title="show sidebar"></a></div><inputclass="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><divid="help-button" tabindex="-1"><ahref="./help.html" title="help">?</a></div><divid="settings-menu" tabindex="-1"><ahref="./settings.html" title="settings"><imgwidth="22" height="22" alt="Change settings" src="./static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content" class="content"><divclass="main-heading"><h1>Rustdoc help</h1><spanclass="out-of-band"><aid="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <ahref="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
1
+
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport" content="width=device-width, initial-scale=1.0"><metaname="generator" content="rustdoc"><metaname="description" content="Documentation for Rustdoc"><title>Help</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/${f}">`).join(""))</script><linkrel="stylesheet" href="./static.files/normalize-9960930a.css"><linkrel="stylesheet" href="./static.files/rustdoc-42caa33d.css"><metaname="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="sage" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.1 (e71f9a9a9 2025-01-27)" data-channel="1.84.1" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><scriptsrc="./static.files/storage-59e33391.js"></script><scriptdefersrc="./static.files/main-5f194d8c.js"></script><noscript><linkrel="stylesheet" href="./static.files/noscript-893ab5e7.css"></noscript><linkrel="alternate icon" type="image/png" href="./static.files/favicon-32x32-6580c154.png"><linkrel="icon" type="image/svg+xml" href="./static.files/favicon-044be391.svg"></head><bodyclass="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle" title="show sidebar"></button><aclass="logo-container" href="./index.html"><imgclass="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt=""></a></nav><navclass="sidebar"><divclass="sidebar-crate"><aclass="logo-container" href="./index.html"><imgclass="rust-logo" src="./static.files/rust-logo-9a9549ea.svg" alt="logo"></a><h2><ahref="./index.html">Rustdoc</a><spanclass="version">1.84.1</span></h2></div><divclass="version">(e71f9a9a9 2025-01-27)</div><h2class="location">Help</h2><divclass="sidebar-elems"></div></nav><divclass="sidebar-resizer"></div><main><divclass="width-limiter"><rustdoc-search></rustdoc-search><sectionid="main-content" class="content"><divclass="main-heading"><h1>Rustdoc help</h1><spanclass="out-of-band"><aid="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <ahref="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button" tabindex="-1"><ahref="../../../sage/all.html" title="show sidebar"></a></div><inputclass="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><divid="help-button" tabindex="-1"><ahref="../../../help.html" title="help">?</a></div><divid="settings-menu" tabindex="-1"><ahref="../../../settings.html" title="settings"><imgwidth="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content" class="content"><divclass="main-heading"><h1>Module <ahref="../../index.html">sage</a>::<wbr><ahref="../index.html">asm</a>::<wbr><aclass="mod" href="#">core</a><buttonid="copy-path" title="Copy item path to clipboard"><imgsrc="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="src" href="../../../src/sage/asm/core.rs.html#1-1659">source</a> · <buttonid="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><detailsclass="toggle top-doc" open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><h2id="core-assembly-variant"><ahref="#core-assembly-variant">Core Assembly Variant</a></h2>
1
+
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport" content="width=device-width, initial-scale=1.0"><metaname="generator" content="rustdoc"><metaname="description" content="Core Assembly Variant"><title>sage::asm::core - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><linkrel="stylesheet" href="../../../static.files/normalize-9960930a.css"><linkrel="stylesheet" href="../../../static.files/rustdoc-42caa33d.css"><metaname="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="sage" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.1 (e71f9a9a9 2025-01-27)" data-channel="1.84.1" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><scriptsrc="../../../static.files/storage-59e33391.js"></script><scriptdefersrc="../sidebar-items.js"></script><scriptdefersrc="../../../static.files/main-5f194d8c.js"></script><noscript><linkrel="stylesheet" href="../../../static.files/noscript-893ab5e7.css"></noscript><linkrel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-6580c154.png"><linkrel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><bodyclass="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle" title="show sidebar"></button></nav><navclass="sidebar"><divclass="sidebar-crate"><h2><ahref="../../../sage/index.html">sage</a><spanclass="version">0.1.1-alpha</span></h2></div><divclass="sidebar-elems"><sectionid="rustdoc-toc"><h2class="location"><ahref="#">Module core</a></h2><h3><ahref="#">Sections</a></h3><ulclass="block top-toc"><li><ahref="#core-assembly-variant" title="Core Assembly Variant">Core Assembly Variant</a><ul><li><ahref="#what-kinds-of-instructions-are-supported-by-this-variant" title="What kinds of instructions are supported by this variant?">What kinds of instructions are supported by this variant?</a></li><li><ahref="#what-kinds-of-instructions-are-not-supported-by-this-variant" title="What kinds of instructions are not supported by this variant?">What kinds of instructions are not supported by this variant?</a></li></ul></li></ul><h3><ahref="#structs">Module Items</a></h3><ulclass="block"><li><ahref="#structs" title="Structs">Structs</a></li><li><ahref="#enums" title="Enums">Enums</a></li></ul></section><divid="rustdoc-modnav"><h2><ahref="../index.html">In sage::<wbr>asm</a></h2></div></div></nav><divclass="sidebar-resizer"></div><main><divclass="width-limiter"><rustdoc-search></rustdoc-search><sectionid="main-content" class="content"><divclass="main-heading"><spanclass="rustdoc-breadcrumbs"><ahref="../../index.html">sage</a>::<wbr><ahref="../index.html">asm</a></span><h1>Module <span>core</span><buttonid="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><spanclass="sub-heading"><aclass="src" href="../../../src/sage/asm/core.rs.html#1-1659">Source</a></span></div><detailsclass="toggle top-doc" open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><h2id="core-assembly-variant"><aclass="doc-anchor" href="#core-assembly-variant">§</a>Core Assembly Variant</h2>
3
2
<p>This variant of the assembly language is intended to be used
4
3
with the core variant of the virtual machine. It is extremely
5
4
portable, but minimal.</p>
6
5
<p><ahref="./enum.CoreOp.html"><em><strong>Click here to view opcodes!</strong></em></a></p>
7
-
<h3id="what-kinds-of-instructions-are-supported-by-this-variant"><ahref="#what-kinds-of-instructions-are-supported-by-this-variant">What kinds of instructions are supported by this variant?</a></h3>
6
+
<h3id="what-kinds-of-instructions-are-supported-by-this-variant"><aclass="doc-anchor" href="#what-kinds-of-instructions-are-supported-by-this-variant">§</a>What kinds of instructions are supported by this variant?</h3>
8
7
<p>This variant attempts to support <em>as many instructions as possible
9
8
that can be implemented WITHOUT the standard virtual machine variant</em>.
10
9
This includes instructions for operations like <code>Copy</code> (a <code>memcpy</code> clone),
11
10
static stack allocation, <code>Swap</code> (which uses a TMP register without the
12
11
more optimized standard <code>Swap</code> instruction), and <code>DivMod</code>, which
13
12
performs a division and modulo operation in a single instruction.</p>
14
-
<h3id="what-kinds-of-instructions-are-not-supported-by-this-variant"><ahref="#what-kinds-of-instructions-are-not-supported-by-this-variant">What kinds of instructions are <em>not</em> supported by this variant?</a></h3>
13
+
<h3id="what-kinds-of-instructions-are-not-supported-by-this-variant"><aclass="doc-anchor" href="#what-kinds-of-instructions-are-not-supported-by-this-variant">§</a>What kinds of instructions are <em>not</em> supported by this variant?</h3>
15
14
<p>Mainly, this variant is lacking in I/O instructions and memory
16
15
allocation instructions. This is because of the bare bones
17
16
core virtual machine specification which only includes 2 I/O
<p>Standard instructions, like <code>PutInt</code>, can be implemented as
21
20
user defined functions in the core assembly language simply
22
21
using <code>Put</code>, and assuming-standard out, to display the integer in decimal.</p>
23
-
</div></details><h2id="structs" class="section-header"><ahref="#structs">Structs</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="struct" href="struct.CoreProgram.html" title="struct sage::asm::core::CoreProgram">CoreProgram</a></div><divclass="desc docblock-short">An assembly program composed of core instructions, which can be assembled
24
-
into the core virtual machine instructions.</div></li></ul><h2id="enums" class="section-header"><ahref="#enums">Enums</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="enum" href="enum.CoreOp.html" title="enum sage::asm::core::CoreOp">CoreOp</a></div><divclass="desc docblock-short">A core instruction of the assembly language. These are instructions
22
+
</div></details><h2id="structs" class="section-header">Structs<ahref="#structs"class="anchor">§</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="struct" href="struct.CoreProgram.html" title="struct sage::asm::core::CoreProgram">Core<wbr>Program</a></div><divclass="desc docblock-short">An assembly program composed of core instructions, which can be assembled
23
+
into the core virtual machine instructions.</div></li></ul><h2id="enums" class="section-header">Enums<ahref="#enums"class="anchor">§</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="enum" href="enum.CoreOp.html" title="enum sage::asm::core::CoreOp">CoreOp</a></div><divclass="desc docblock-short">A core instruction of the assembly language. These are instructions
25
24
guaranteed to be implemented for every target possible.</div></li></ul></section></div></main></body></html>
0 commit comments