aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjohannst <johannst@users.noreply.github.com>2023-02-27 22:52:40 +0000
committerjohannst <johannst@users.noreply.github.com>2023-02-27 22:52:40 +0000
commit872cf6d06f4d77637b4627fdc583bab79ee2372f (patch)
tree07022610d914be3813d283577a71a18f26b81d64
downloadjuicebox-asm-872cf6d06f4d77637b4627fdc583bab79ee2372f.tar.gz
juicebox-asm-872cf6d06f4d77637b4627fdc583bab79ee2372f.zip
deploy: 6486b862edc2750dba83848f62d6c9f3d4c6d3c2
-rw-r--r--.lock0
-rw-r--r--.nojekyll0
-rw-r--r--crates.js1
-rw-r--r--help.html1
-rw-r--r--implementors/core/clone/trait.Clone.js3
-rw-r--r--implementors/core/convert/trait.From.js3
-rw-r--r--implementors/core/marker/trait.Copy.js3
-rw-r--r--implementors/core/marker/trait.Freeze.js3
-rw-r--r--implementors/core/marker/trait.Send.js3
-rw-r--r--implementors/core/marker/trait.Sync.js3
-rw-r--r--implementors/core/marker/trait.Unpin.js3
-rw-r--r--implementors/core/ops/drop/trait.Drop.js3
-rw-r--r--implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js3
-rw-r--r--implementors/core/panic/unwind_safe/trait.UnwindSafe.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Add.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Dec.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Jmp.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Jnz.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Jz.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Mov.js3
-rw-r--r--implementors/juicebox_asm/insn/trait.Test.js3
-rw-r--r--index.html1
-rw-r--r--juicebox_asm/all.html1
-rw-r--r--juicebox_asm/enum.MemOp.html8
-rw-r--r--juicebox_asm/imm/struct.Imm16.html11
-rw-r--r--juicebox_asm/imm/struct.Imm32.html11
-rw-r--r--juicebox_asm/imm/struct.Imm64.html11
-rw-r--r--juicebox_asm/imm/struct.Imm8.html11
-rw-r--r--juicebox_asm/index.html1
-rw-r--r--juicebox_asm/insn/trait.Add.html11
-rw-r--r--juicebox_asm/insn/trait.Dec.html11
-rw-r--r--juicebox_asm/insn/trait.Jmp.html11
-rw-r--r--juicebox_asm/insn/trait.Jnz.html11
-rw-r--r--juicebox_asm/insn/trait.Jz.html11
-rw-r--r--juicebox_asm/insn/trait.Mov.html11
-rw-r--r--juicebox_asm/insn/trait.Test.html11
-rw-r--r--juicebox_asm/label/struct.Label.html11
-rw-r--r--juicebox_asm/prelude/enum.Reg16.html24
-rw-r--r--juicebox_asm/prelude/enum.Reg32.html24
-rw-r--r--juicebox_asm/prelude/enum.Reg64.html24
-rw-r--r--juicebox_asm/prelude/enum.Reg8.html28
-rw-r--r--juicebox_asm/prelude/index.html1
-rw-r--r--juicebox_asm/prelude/sidebar-items.js1
-rw-r--r--juicebox_asm/prelude/struct.Imm16.html6
-rw-r--r--juicebox_asm/prelude/struct.Imm32.html6
-rw-r--r--juicebox_asm/prelude/struct.Imm64.html6
-rw-r--r--juicebox_asm/prelude/struct.Imm8.html6
-rw-r--r--juicebox_asm/prelude/struct.Label.html20
-rw-r--r--juicebox_asm/prelude/trait.Add.html4
-rw-r--r--juicebox_asm/prelude/trait.Dec.html4
-rw-r--r--juicebox_asm/prelude/trait.Jmp.html4
-rw-r--r--juicebox_asm/prelude/trait.Jnz.html4
-rw-r--r--juicebox_asm/prelude/trait.Jz.html4
-rw-r--r--juicebox_asm/prelude/trait.Mov.html4
-rw-r--r--juicebox_asm/prelude/trait.Test.html6
-rw-r--r--juicebox_asm/reg/enum.Reg16.html11
-rw-r--r--juicebox_asm/reg/enum.Reg32.html11
-rw-r--r--juicebox_asm/reg/enum.Reg64.html11
-rw-r--r--juicebox_asm/reg/enum.Reg8.html11
-rw-r--r--juicebox_asm/rt/index.html1
-rw-r--r--juicebox_asm/rt/sidebar-items.js1
-rw-r--r--juicebox_asm/rt/struct.Runtime.html8
-rw-r--r--juicebox_asm/sidebar-items.js1
-rw-r--r--juicebox_asm/struct.Asm.html7
-rw-r--r--search-index.js5
-rw-r--r--settings.html1
-rw-r--r--source-files.js4
-rw-r--r--src/juicebox_asm/imm.rs.html72
-rw-r--r--src/juicebox_asm/insn.rs.html94
-rw-r--r--src/juicebox_asm/insn/add.rs.html28
-rw-r--r--src/juicebox_asm/insn/dec.rs.html28
-rw-r--r--src/juicebox_asm/insn/jmp.rs.html16
-rw-r--r--src/juicebox_asm/insn/jnz.rs.html16
-rw-r--r--src/juicebox_asm/insn/jz.rs.html16
-rw-r--r--src/juicebox_asm/insn/mov.rs.html212
-rw-r--r--src/juicebox_asm/insn/ret.rs.html16
-rw-r--r--src/juicebox_asm/insn/test.rs.html28
-rw-r--r--src/juicebox_asm/label.rs.html146
-rw-r--r--src/juicebox_asm/lib.rs.html610
-rw-r--r--src/juicebox_asm/prelude.rs.html18
-rw-r--r--src/juicebox_asm/reg.rs.html648
-rw-r--r--src/juicebox_asm/rt.rs.html104
-rw-r--r--static.files/COPYRIGHT-002d5dd09d9a4f50.txt46
-rw-r--r--static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt94
-rw-r--r--static.files/FiraSans-Medium-8f9a781e4970d388.woff2bin0 -> 132780 bytes
-rw-r--r--static.files/FiraSans-Regular-018c141bf0843ffd.woff2bin0 -> 129188 bytes
-rw-r--r--static.files/LICENSE-APACHE-b91fa81cba47b86a.txt201
-rw-r--r--static.files/LICENSE-MIT-65090b722b3f6c56.txt23
-rw-r--r--static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2bin0 -> 399468 bytes
-rw-r--r--static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt99
-rw-r--r--static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2bin0 -> 44896 bytes
-rw-r--r--static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt93
-rw-r--r--static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2bin0 -> 52228 bytes
-rw-r--r--static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2bin0 -> 52348 bytes
-rw-r--r--static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2bin0 -> 81320 bytes
-rw-r--r--static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2bin0 -> 59860 bytes
-rw-r--r--static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md93
-rw-r--r--static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2bin0 -> 76180 bytes
-rw-r--r--static.files/ayu-8af5e100b21cd173.css1
-rw-r--r--static.files/clipboard-7571035ce49a181d.svg1
-rw-r--r--static.files/dark-f23faae4a2daf9a6.css1
-rw-r--r--static.files/down-arrow-927217e04c7463ac.svg1
-rw-r--r--static.files/favicon-16x16-8b506e7a72182f1c.pngbin0 -> 715 bytes
-rw-r--r--static.files/favicon-2c020d218678b618.svg24
-rw-r--r--static.files/favicon-32x32-422f7d1d52889060.pngbin0 -> 1125 bytes
-rw-r--r--static.files/light-ebce58d0a40c3431.css1
-rw-r--r--static.files/main-c55e1eb52e1886b4.js8
-rw-r--r--static.files/normalize-76eba96aa4d2e634.css2
-rw-r--r--static.files/noscript-13285aec31fa243e.css1
-rw-r--r--static.files/rust-logo-151179464ae7ed46.svg61
-rw-r--r--static.files/rustdoc-6827029ac823cab7.css1
-rw-r--r--static.files/scrape-examples-ef1e698c1d417c0c.js1
-rw-r--r--static.files/search-444266647c4dba98.js1
-rw-r--r--static.files/settings-af96d9e2fc13e081.css3
-rw-r--r--static.files/settings-bebeae96e00e4617.js13
-rw-r--r--static.files/source-script-5cf2e01a42cc9858.js1
-rw-r--r--static.files/storage-d43fa987303ecbbb.js1
-rw-r--r--static.files/toggle-minus-31bbd6e4c77f5c96.svg1
-rw-r--r--static.files/toggle-plus-1092eb4930d581b0.svg1
-rw-r--r--static.files/wheel-5ec35bf9ca753509.svg1
120 files changed, 3270 insertions, 0 deletions
diff --git a/.lock b/.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.lock
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.nojekyll
diff --git a/crates.js b/crates.js
new file mode 100644
index 0000000..d1321fc
--- /dev/null
+++ b/crates.js
@@ -0,0 +1 @@
+window.ALL_CRATES = ["juicebox_asm"]; \ No newline at end of file
diff --git a/help.html b/help.html
new file mode 100644
index 0000000..84d082a
--- /dev/null
+++ b/help.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="./juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc help</h1><span class="out-of-band"><a id="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 <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
new file mode 100644
index 0000000..838815d
--- /dev/null
+++ b/implementors/core/clone/trait.Clone.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js
new file mode 100644
index 0000000..cbe2a89
--- /dev/null
+++ b/implementors/core/convert/trait.From.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u64.html\">u64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i64.html\">i64</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u32.html\">u32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i32.html\">i32</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u16.html\">u16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i16.html\">i16</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.u8.html\">u8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.67.1/std/primitive.i8.html\">i8</a>&gt; for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js
new file mode 100644
index 0000000..9dd7634
--- /dev/null
+++ b/implementors/core/marker/trait.Copy.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js
new file mode 100644
index 0000000..384dac4
--- /dev/null
+++ b/implementors/core/marker/trait.Freeze.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl Freeze for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl Freeze for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js
new file mode 100644
index 0000000..e990726
--- /dev/null
+++ b/implementors/core/marker/trait.Send.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js
new file mode 100644
index 0000000..8bf0bba
--- /dev/null
+++ b/implementors/core/marker/trait.Sync.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js
new file mode 100644
index 0000000..3cab694
--- /dev/null
+++ b/implementors/core/marker/trait.Unpin.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/ops/drop/trait.Drop.js b/implementors/core/ops/drop/trait.Drop.js
new file mode 100644
index 0000000..f4aeefa
--- /dev/null
+++ b/implementors/core/ops/drop/trait.Drop.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html\" title=\"trait core::ops::drop::Drop\">Drop</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
new file mode 100644
index 0000000..1cd4688
--- /dev/null
+++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
new file mode 100644
index 0000000..5930d21
--- /dev/null
+++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm16.html\" title=\"struct juicebox_asm::prelude::Imm16\">Imm16</a>",1,["juicebox_asm::imm::Imm16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm32.html\" title=\"struct juicebox_asm::prelude::Imm32\">Imm32</a>",1,["juicebox_asm::imm::Imm32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm64.html\" title=\"struct juicebox_asm::prelude::Imm64\">Imm64</a>",1,["juicebox_asm::imm::Imm64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Imm8.html\" title=\"struct juicebox_asm::prelude::Imm8\">Imm8</a>",1,["juicebox_asm::imm::Imm8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/prelude/struct.Label.html\" title=\"struct juicebox_asm::prelude::Label\">Label</a>",1,["juicebox_asm::label::Label"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg16.html\" title=\"enum juicebox_asm::prelude::Reg16\">Reg16</a>",1,["juicebox_asm::reg::Reg16"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg32.html\" title=\"enum juicebox_asm::prelude::Reg32\">Reg32</a>",1,["juicebox_asm::reg::Reg32"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg64.html\" title=\"enum juicebox_asm::prelude::Reg64\">Reg64</a>",1,["juicebox_asm::reg::Reg64"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/prelude/enum.Reg8.html\" title=\"enum juicebox_asm::prelude::Reg8\">Reg8</a>",1,["juicebox_asm::reg::Reg8"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/rt/struct.Runtime.html\" title=\"struct juicebox_asm::rt::Runtime\">Runtime</a>",1,["juicebox_asm::rt::Runtime"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"juicebox_asm/enum.MemOp.html\" title=\"enum juicebox_asm::MemOp\">MemOp</a>",1,["juicebox_asm::MemOp"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"juicebox_asm/struct.Asm.html\" title=\"struct juicebox_asm::Asm\">Asm</a>",1,["juicebox_asm::Asm"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Add.js b/implementors/juicebox_asm/insn/trait.Add.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Add.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Dec.js b/implementors/juicebox_asm/insn/trait.Dec.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Dec.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Jmp.js b/implementors/juicebox_asm/insn/trait.Jmp.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Jmp.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Jnz.js b/implementors/juicebox_asm/insn/trait.Jnz.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Jnz.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Jz.js b/implementors/juicebox_asm/insn/trait.Jz.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Jz.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Mov.js b/implementors/juicebox_asm/insn/trait.Mov.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Mov.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/implementors/juicebox_asm/insn/trait.Test.js b/implementors/juicebox_asm/insn/trait.Test.js
new file mode 100644
index 0000000..fccfcd2
--- /dev/null
+++ b/implementors/juicebox_asm/insn/trait.Test.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"juicebox_asm":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..479bb89
--- /dev/null
+++ b/index.html
@@ -0,0 +1 @@
+<meta http-equiv="Refresh" content="0; url='juicebox_asm/index.html'"/>
diff --git a/juicebox_asm/all.html b/juicebox_asm/all.html
new file mode 100644
index 0000000..aa7a8df
--- /dev/null
+++ b/juicebox_asm/all.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location">Crate juicebox_asm</h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><h1 class="fqn">List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.Asm.html">Asm</a></li><li><a href="prelude/struct.Imm16.html">prelude::Imm16</a></li><li><a href="prelude/struct.Imm32.html">prelude::Imm32</a></li><li><a href="prelude/struct.Imm64.html">prelude::Imm64</a></li><li><a href="prelude/struct.Imm8.html">prelude::Imm8</a></li><li><a href="prelude/struct.Label.html">prelude::Label</a></li><li><a href="rt/struct.Runtime.html">rt::Runtime</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.MemOp.html">MemOp</a></li><li><a href="prelude/enum.Reg16.html">prelude::Reg16</a></li><li><a href="prelude/enum.Reg32.html">prelude::Reg32</a></li><li><a href="prelude/enum.Reg64.html">prelude::Reg64</a></li><li><a href="prelude/enum.Reg8.html">prelude::Reg8</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="prelude/trait.Add.html">prelude::Add</a></li><li><a href="prelude/trait.Dec.html">prelude::Dec</a></li><li><a href="prelude/trait.Jmp.html">prelude::Jmp</a></li><li><a href="prelude/trait.Jnz.html">prelude::Jnz</a></li><li><a href="prelude/trait.Jz.html">prelude::Jz</a></li><li><a href="prelude/trait.Mov.html">prelude::Mov</a></li><li><a href="prelude/trait.Test.html">prelude::Test</a></li></ul></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/enum.MemOp.html b/juicebox_asm/enum.MemOp.html
new file mode 100644
index 0000000..0ea0a71
--- /dev/null
+++ b/juicebox_asm/enum.MemOp.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `MemOp` enum in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, MemOp"><title>MemOp in juicebox_asm - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">MemOp</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Indirect">Indirect</a></li><li><a href="#variant.IndirectDisp">IndirectDisp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-MemOp">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MemOp">Send</a></li><li><a href="#impl-Sync-for-MemOp">Sync</a></li><li><a href="#impl-Unpin-for-MemOp">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MemOp">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-MemOp">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-MemOp">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-MemOp">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-MemOp">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-MemOp">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-MemOp">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-MemOp">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="index.html">juicebox_asm</a>::<wbr><a class="enum" href="#">MemOp</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/juicebox_asm/lib.rs.html#14-17">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>pub enum MemOp {
+ Indirect(<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>),
+ IndirectDisp(<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>,&nbsp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>),
+}</code></pre></div><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Indirect" class="variant"><a href="#variant.Indirect" class="anchor">§</a><h3 class="code-header">Indirect(<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h3></section><section id="variant.IndirectDisp" class="variant"><a href="#variant.IndirectDisp" class="anchor">§</a><h3 class="code-header">IndirectDisp(<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>,&nbsp;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>)</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#43-47">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-46">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#37-41">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-40">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#31-35">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-34">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#49-53">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-52">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#69-73">source</a><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-72">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#63-67">source</a><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-66">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#57-61">source</a><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-60">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#75-79">source</a><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-78">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-MemOp" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Send-for-MemOp" class="impl has-srclink"><a href="#impl-Send-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Sync-for-MemOp" class="impl has-srclink"><a href="#impl-Sync-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-Unpin-for-MemOp" class="impl has-srclink"><a href="#impl-Unpin-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section><section id="impl-UnwindSafe-for-MemOp" class="impl has-srclink"><a href="#impl-UnwindSafe-for-MemOp" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-MemOp" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-MemOp" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/imm/struct.Imm16.html b/juicebox_asm/imm/struct.Imm16.html
new file mode 100644
index 0000000..fbefc82
--- /dev/null
+++ b/juicebox_asm/imm/struct.Imm16.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/struct.Imm16.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/struct.Imm16.html">../../juicebox_asm/prelude/struct.Imm16.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/struct.Imm16.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/imm/struct.Imm32.html b/juicebox_asm/imm/struct.Imm32.html
new file mode 100644
index 0000000..c310b67
--- /dev/null
+++ b/juicebox_asm/imm/struct.Imm32.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/struct.Imm32.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/struct.Imm32.html">../../juicebox_asm/prelude/struct.Imm32.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/struct.Imm32.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/imm/struct.Imm64.html b/juicebox_asm/imm/struct.Imm64.html
new file mode 100644
index 0000000..9a2ebea
--- /dev/null
+++ b/juicebox_asm/imm/struct.Imm64.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/struct.Imm64.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/struct.Imm64.html">../../juicebox_asm/prelude/struct.Imm64.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/struct.Imm64.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/imm/struct.Imm8.html b/juicebox_asm/imm/struct.Imm8.html
new file mode 100644
index 0000000..bda16d4
--- /dev/null
+++ b/juicebox_asm/imm/struct.Imm8.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/struct.Imm8.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/struct.Imm8.html">../../juicebox_asm/prelude/struct.Imm8.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/struct.Imm8.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/index.html b/juicebox_asm/index.html
new file mode 100644
index 0000000..a58f940
--- /dev/null
+++ b/juicebox_asm/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `juicebox_asm` crate."><meta name="keywords" content="rust, rustlang, rust-lang, juicebox_asm"><title>juicebox_asm - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Crate juicebox_asm</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.1.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Crate <a class="mod" href="#">juicebox_asm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/juicebox_asm/lib.rs.html#1-304">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="prelude/index.html" title="juicebox_asm::prelude mod">prelude</a></div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="rt/index.html" title="juicebox_asm::rt mod">rt</a></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Asm.html" title="juicebox_asm::Asm struct">Asm</a></div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.MemOp.html" title="juicebox_asm::MemOp enum">MemOp</a></div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Add.html b/juicebox_asm/insn/trait.Add.html
new file mode 100644
index 0000000..4dbbe06
--- /dev/null
+++ b/juicebox_asm/insn/trait.Add.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Add.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Add.html">../../juicebox_asm/prelude/trait.Add.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Add.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Dec.html b/juicebox_asm/insn/trait.Dec.html
new file mode 100644
index 0000000..9a2b82d
--- /dev/null
+++ b/juicebox_asm/insn/trait.Dec.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Dec.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Dec.html">../../juicebox_asm/prelude/trait.Dec.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Dec.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jmp.html b/juicebox_asm/insn/trait.Jmp.html
new file mode 100644
index 0000000..2f3bf40
--- /dev/null
+++ b/juicebox_asm/insn/trait.Jmp.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Jmp.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Jmp.html">../../juicebox_asm/prelude/trait.Jmp.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Jmp.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jnz.html b/juicebox_asm/insn/trait.Jnz.html
new file mode 100644
index 0000000..7692604
--- /dev/null
+++ b/juicebox_asm/insn/trait.Jnz.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Jnz.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Jnz.html">../../juicebox_asm/prelude/trait.Jnz.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Jnz.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Jz.html b/juicebox_asm/insn/trait.Jz.html
new file mode 100644
index 0000000..05a2555
--- /dev/null
+++ b/juicebox_asm/insn/trait.Jz.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Jz.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Jz.html">../../juicebox_asm/prelude/trait.Jz.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Jz.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Mov.html b/juicebox_asm/insn/trait.Mov.html
new file mode 100644
index 0000000..fdbd208
--- /dev/null
+++ b/juicebox_asm/insn/trait.Mov.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Mov.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Mov.html">../../juicebox_asm/prelude/trait.Mov.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Mov.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/insn/trait.Test.html b/juicebox_asm/insn/trait.Test.html
new file mode 100644
index 0000000..323461d
--- /dev/null
+++ b/juicebox_asm/insn/trait.Test.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/trait.Test.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/trait.Test.html">../../juicebox_asm/prelude/trait.Test.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/trait.Test.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/label/struct.Label.html b/juicebox_asm/label/struct.Label.html
new file mode 100644
index 0000000..7f69439
--- /dev/null
+++ b/juicebox_asm/label/struct.Label.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/struct.Label.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/struct.Label.html">../../juicebox_asm/prelude/struct.Label.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/struct.Label.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/enum.Reg16.html b/juicebox_asm/prelude/enum.Reg16.html
new file mode 100644
index 0000000..a51ea1f
--- /dev/null
+++ b/juicebox_asm/prelude/enum.Reg16.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="General purpose register operands."><meta name="keywords" content="rust, rustlang, rust-lang, Reg16"><title>Reg16 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Reg16</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.ax">ax</a></li><li><a href="#variant.bp">bp</a></li><li><a href="#variant.bx">bx</a></li><li><a href="#variant.cx">cx</a></li><li><a href="#variant.di">di</a></li><li><a href="#variant.dx">dx</a></li><li><a href="#variant.r10w">r10w</a></li><li><a href="#variant.r11w">r11w</a></li><li><a href="#variant.r12w">r12w</a></li><li><a href="#variant.r13w">r13w</a></li><li><a href="#variant.r14w">r14w</a></li><li><a href="#variant.r15w">r15w</a></li><li><a href="#variant.r8w">r8w</a></li><li><a href="#variant.r9w">r9w</a></li><li><a href="#variant.si">si</a></li><li><a href="#variant.sp">sp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Reg16">Clone</a></li><li><a href="#impl-Copy-for-Reg16">Copy</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm">Mov&lt;Reg16, Reg16&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Reg16">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg16">Send</a></li><li><a href="#impl-Sync-for-Reg16">Sync</a></li><li><a href="#impl-Unpin-for-Reg16">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg16">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Reg16">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Reg16">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Reg16">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Reg16">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Reg16">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-Reg16">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Reg16">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Reg16">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="enum" href="#">Reg16</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/reg.rs.html#76">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>#[repr(u8)]
+pub enum Reg16 {
+<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> ax,
+ cx,
+ dx,
+ bx,
+ sp,
+ bp,
+ si,
+ di,
+ r8w,
+ r9w,
+ r10w,
+ r11w,
+ r12w,
+ r13w,
+ r14w,
+ r15w,
+</details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>General purpose register operands.</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.ax" class="variant"><a href="#variant.ax" class="anchor">§</a><h3 class="code-header">ax</h3></section><section id="variant.cx" class="variant"><a href="#variant.cx" class="anchor">§</a><h3 class="code-header">cx</h3></section><section id="variant.dx" class="variant"><a href="#variant.dx" class="anchor">§</a><h3 class="code-header">dx</h3></section><section id="variant.bx" class="variant"><a href="#variant.bx" class="anchor">§</a><h3 class="code-header">bx</h3></section><section id="variant.sp" class="variant"><a href="#variant.sp" class="anchor">§</a><h3 class="code-header">sp</h3></section><section id="variant.bp" class="variant"><a href="#variant.bp" class="anchor">§</a><h3 class="code-header">bp</h3></section><section id="variant.si" class="variant"><a href="#variant.si" class="anchor">§</a><h3 class="code-header">si</h3></section><section id="variant.di" class="variant"><a href="#variant.di" class="anchor">§</a><h3 class="code-header">di</h3></section><section id="variant.r8w" class="variant"><a href="#variant.r8w" class="anchor">§</a><h3 class="code-header">r8w</h3></section><section id="variant.r9w" class="variant"><a href="#variant.r9w" class="anchor">§</a><h3 class="code-header">r9w</h3></section><section id="variant.r10w" class="variant"><a href="#variant.r10w" class="anchor">§</a><h3 class="code-header">r10w</h3></section><section id="variant.r11w" class="variant"><a href="#variant.r11w" class="anchor">§</a><h3 class="code-header">r11w</h3></section><section id="variant.r12w" class="variant"><a href="#variant.r12w" class="anchor">§</a><h3 class="code-header">r12w</h3></section><section id="variant.r13w" class="variant"><a href="#variant.r13w" class="anchor">§</a><h3 class="code-header">r13w</h3></section><section id="variant.r14w" class="variant"><a href="#variant.r14w" class="anchor">§</a><h3 class="code-header">r14w</h3></section><section id="variant.r15w" class="variant"><a href="#variant.r15w" class="anchor">§</a><h3 class="code-header">r15w</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#76">source</a><a href="#impl-Clone-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#76">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#43-47">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#44-46">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#95-99">source</a><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#96-98">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#69-73">source</a><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#70-72">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#17-21">source</a><a href="#impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#18-20">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><section id="impl-Copy-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#76">source</a><a href="#impl-Copy-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg16" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section><section id="impl-Send-for-Reg16" class="impl has-srclink"><a href="#impl-Send-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section><section id="impl-Sync-for-Reg16" class="impl has-srclink"><a href="#impl-Sync-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section><section id="impl-Unpin-for-Reg16" class="impl has-srclink"><a href="#impl-Unpin-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section><section id="impl-UnwindSafe-for-Reg16" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Reg16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Reg16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Reg16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/enum.Reg32.html b/juicebox_asm/prelude/enum.Reg32.html
new file mode 100644
index 0000000..8b82fc5
--- /dev/null
+++ b/juicebox_asm/prelude/enum.Reg32.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="General purpose register operands."><meta name="keywords" content="rust, rustlang, rust-lang, Reg32"><title>Reg32 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Reg32</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.eax">eax</a></li><li><a href="#variant.ebp">ebp</a></li><li><a href="#variant.ebx">ebx</a></li><li><a href="#variant.ecx">ecx</a></li><li><a href="#variant.edi">edi</a></li><li><a href="#variant.edx">edx</a></li><li><a href="#variant.esi">esi</a></li><li><a href="#variant.esp">esp</a></li><li><a href="#variant.r10d">r10d</a></li><li><a href="#variant.r11d">r11d</a></li><li><a href="#variant.r12d">r12d</a></li><li><a href="#variant.r13d">r13d</a></li><li><a href="#variant.r14d">r14d</a></li><li><a href="#variant.r15d">r15d</a></li><li><a href="#variant.r8d">r8d</a></li><li><a href="#variant.r9d">r9d</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Add%3CReg32%2C%20Reg32%3E-for-Asm">Add&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Clone-for-Reg32">Clone</a></li><li><a href="#impl-Copy-for-Reg32">Copy</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm">Dec&lt;Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm">Mov&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Test%3CReg32%2C%20Reg32%3E-for-Asm">Test&lt;Reg32, Reg32&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Reg32">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg32">Send</a></li><li><a href="#impl-Sync-for-Reg32">Sync</a></li><li><a href="#impl-Unpin-for-Reg32">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg32">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Reg32">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Reg32">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Reg32">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Reg32">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Reg32">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-Reg32">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Reg32">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Reg32">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="enum" href="#">Reg32</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/reg.rs.html#75">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>#[repr(u8)]
+pub enum Reg32 {
+<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> eax,
+ ecx,
+ edx,
+ ebx,
+ esp,
+ ebp,
+ esi,
+ edi,
+ r8d,
+ r9d,
+ r10d,
+ r11d,
+ r12d,
+ r13d,
+ r14d,
+ r15d,
+</details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>General purpose register operands.</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.eax" class="variant"><a href="#variant.eax" class="anchor">§</a><h3 class="code-header">eax</h3></section><section id="variant.ecx" class="variant"><a href="#variant.ecx" class="anchor">§</a><h3 class="code-header">ecx</h3></section><section id="variant.edx" class="variant"><a href="#variant.edx" class="anchor">§</a><h3 class="code-header">edx</h3></section><section id="variant.ebx" class="variant"><a href="#variant.ebx" class="anchor">§</a><h3 class="code-header">ebx</h3></section><section id="variant.esp" class="variant"><a href="#variant.esp" class="anchor">§</a><h3 class="code-header">esp</h3></section><section id="variant.ebp" class="variant"><a href="#variant.ebp" class="anchor">§</a><h3 class="code-header">ebp</h3></section><section id="variant.esi" class="variant"><a href="#variant.esi" class="anchor">§</a><h3 class="code-header">esi</h3></section><section id="variant.edi" class="variant"><a href="#variant.edi" class="anchor">§</a><h3 class="code-header">edi</h3></section><section id="variant.r8d" class="variant"><a href="#variant.r8d" class="anchor">§</a><h3 class="code-header">r8d</h3></section><section id="variant.r9d" class="variant"><a href="#variant.r9d" class="anchor">§</a><h3 class="code-header">r9d</h3></section><section id="variant.r10d" class="variant"><a href="#variant.r10d" class="anchor">§</a><h3 class="code-header">r10d</h3></section><section id="variant.r11d" class="variant"><a href="#variant.r11d" class="anchor">§</a><h3 class="code-header">r11d</h3></section><section id="variant.r12d" class="variant"><a href="#variant.r12d" class="anchor">§</a><h3 class="code-header">r12d</h3></section><section id="variant.r13d" class="variant"><a href="#variant.r13d" class="anchor">§</a><h3 class="code-header">r13d</h3></section><section id="variant.r14d" class="variant"><a href="#variant.r14d" class="anchor">§</a><h3 class="code-header">r14d</h3></section><section id="variant.r15d" class="variant"><a href="#variant.r15d" class="anchor">§</a><h3 class="code-header">r15d</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#9-13">source</a><a href="#impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#10-12">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#75">source</a><a href="#impl-Clone-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#75">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#9-13">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#10-12">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#37-41">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#38-40">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#89-93">source</a><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#90-92">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#63-67">source</a><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#64-66">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#11-15">source</a><a href="#impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#12-14">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#9-13">source</a><a href="#impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.test" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#10-12">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#75">source</a><a href="#impl-Copy-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg32" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section><section id="impl-Send-for-Reg32" class="impl has-srclink"><a href="#impl-Send-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section><section id="impl-Sync-for-Reg32" class="impl has-srclink"><a href="#impl-Sync-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section><section id="impl-Unpin-for-Reg32" class="impl has-srclink"><a href="#impl-Unpin-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section><section id="impl-UnwindSafe-for-Reg32" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Reg32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Reg32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Reg32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/enum.Reg64.html b/juicebox_asm/prelude/enum.Reg64.html
new file mode 100644
index 0000000..7dc291f
--- /dev/null
+++ b/juicebox_asm/prelude/enum.Reg64.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="General purpose register operands."><meta name="keywords" content="rust, rustlang, rust-lang, Reg64"><title>Reg64 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Reg64</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.r10">r10</a></li><li><a href="#variant.r11">r11</a></li><li><a href="#variant.r12">r12</a></li><li><a href="#variant.r13">r13</a></li><li><a href="#variant.r14">r14</a></li><li><a href="#variant.r15">r15</a></li><li><a href="#variant.r8">r8</a></li><li><a href="#variant.r9">r9</a></li><li><a href="#variant.rax">rax</a></li><li><a href="#variant.rbp">rbp</a></li><li><a href="#variant.rbx">rbx</a></li><li><a href="#variant.rcx">rcx</a></li><li><a href="#variant.rdi">rdi</a></li><li><a href="#variant.rdx">rdx</a></li><li><a href="#variant.rsi">rsi</a></li><li><a href="#variant.rsp">rsp</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Add%3CReg64%2C%20Reg64%3E-for-Asm">Add&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Clone-for-Reg64">Clone</a></li><li><a href="#impl-Copy-for-Reg64">Copy</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm">Dec&lt;Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm">Mov&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Test%3CReg64%2C%20Reg64%3E-for-Asm">Test&lt;Reg64, Reg64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Reg64">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg64">Send</a></li><li><a href="#impl-Sync-for-Reg64">Sync</a></li><li><a href="#impl-Unpin-for-Reg64">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg64">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Reg64">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Reg64">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Reg64">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Reg64">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Reg64">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-Reg64">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Reg64">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Reg64">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="enum" href="#">Reg64</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/reg.rs.html#74">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>#[repr(u8)]
+pub enum Reg64 {
+<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 16 variants</span></summary> rax,
+ rcx,
+ rdx,
+ rbx,
+ rsp,
+ rbp,
+ rsi,
+ rdi,
+ r8,
+ r9,
+ r10,
+ r11,
+ r12,
+ r13,
+ r14,
+ r15,
+</details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>General purpose register operands.</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.rax" class="variant"><a href="#variant.rax" class="anchor">§</a><h3 class="code-header">rax</h3></section><section id="variant.rcx" class="variant"><a href="#variant.rcx" class="anchor">§</a><h3 class="code-header">rcx</h3></section><section id="variant.rdx" class="variant"><a href="#variant.rdx" class="anchor">§</a><h3 class="code-header">rdx</h3></section><section id="variant.rbx" class="variant"><a href="#variant.rbx" class="anchor">§</a><h3 class="code-header">rbx</h3></section><section id="variant.rsp" class="variant"><a href="#variant.rsp" class="anchor">§</a><h3 class="code-header">rsp</h3></section><section id="variant.rbp" class="variant"><a href="#variant.rbp" class="anchor">§</a><h3 class="code-header">rbp</h3></section><section id="variant.rsi" class="variant"><a href="#variant.rsi" class="anchor">§</a><h3 class="code-header">rsi</h3></section><section id="variant.rdi" class="variant"><a href="#variant.rdi" class="anchor">§</a><h3 class="code-header">rdi</h3></section><section id="variant.r8" class="variant"><a href="#variant.r8" class="anchor">§</a><h3 class="code-header">r8</h3></section><section id="variant.r9" class="variant"><a href="#variant.r9" class="anchor">§</a><h3 class="code-header">r9</h3></section><section id="variant.r10" class="variant"><a href="#variant.r10" class="anchor">§</a><h3 class="code-header">r10</h3></section><section id="variant.r11" class="variant"><a href="#variant.r11" class="anchor">§</a><h3 class="code-header">r11</h3></section><section id="variant.r12" class="variant"><a href="#variant.r12" class="anchor">§</a><h3 class="code-header">r12</h3></section><section id="variant.r13" class="variant"><a href="#variant.r13" class="anchor">§</a><h3 class="code-header">r13</h3></section><section id="variant.r14" class="variant"><a href="#variant.r14" class="anchor">§</a><h3 class="code-header">r14</h3></section><section id="variant.r15" class="variant"><a href="#variant.r15" class="anchor">§</a><h3 class="code-header">r15</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#3-7">source</a><a href="#impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#4-6">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#74">source</a><a href="#impl-Clone-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#74">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#3-7">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#4-6">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#31-35">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#32-34">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#83-87">source</a><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#84-86">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#57-61">source</a><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#58-60">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#5-9">source</a><a href="#impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#6-8">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#3-7">source</a><a href="#impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.test" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#4-6">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="trait.Test.html#tymethod.test">Read more</a></div></details></div></details><section id="impl-Copy-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#74">source</a><a href="#impl-Copy-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg64" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section><section id="impl-Send-for-Reg64" class="impl has-srclink"><a href="#impl-Send-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section><section id="impl-Sync-for-Reg64" class="impl has-srclink"><a href="#impl-Sync-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section><section id="impl-Unpin-for-Reg64" class="impl has-srclink"><a href="#impl-Unpin-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section><section id="impl-UnwindSafe-for-Reg64" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Reg64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Reg64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Reg64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/enum.Reg8.html b/juicebox_asm/prelude/enum.Reg8.html
new file mode 100644
index 0000000..40d7cda
--- /dev/null
+++ b/juicebox_asm/prelude/enum.Reg8.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="General purpose register operands."><meta name="keywords" content="rust, rustlang, rust-lang, Reg8"><title>Reg8 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Reg8</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.ah">ah</a></li><li><a href="#variant.al">al</a></li><li><a href="#variant.bh">bh</a></li><li><a href="#variant.bl">bl</a></li><li><a href="#variant.bpl">bpl</a></li><li><a href="#variant.ch">ch</a></li><li><a href="#variant.cl">cl</a></li><li><a href="#variant.dh">dh</a></li><li><a href="#variant.dil">dil</a></li><li><a href="#variant.dl">dl</a></li><li><a href="#variant.r10l">r10l</a></li><li><a href="#variant.r11l">r11l</a></li><li><a href="#variant.r12l">r12l</a></li><li><a href="#variant.r13l">r13l</a></li><li><a href="#variant.r14l">r14l</a></li><li><a href="#variant.r15l">r15l</a></li><li><a href="#variant.r8l">r8l</a></li><li><a href="#variant.r9l">r9l</a></li><li><a href="#variant.sil">sil</a></li><li><a href="#variant.spl">spl</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Reg8">Clone</a></li><li><a href="#impl-Copy-for-Reg8">Copy</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm">Mov&lt;Reg8, Reg8&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Reg8">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Reg8">Send</a></li><li><a href="#impl-Sync-for-Reg8">Sync</a></li><li><a href="#impl-Unpin-for-Reg8">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Reg8">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Reg8">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Reg8">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Reg8">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Reg8">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Reg8">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-Reg8">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Reg8">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Reg8">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Enum <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="enum" href="#">Reg8</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/reg.rs.html#77-79">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust enum"><code>#[repr(u8)]
+pub enum Reg8 {
+<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 20 variants</span></summary> al,
+ cl,
+ dl,
+ bl,
+ spl,
+ bpl,
+ sil,
+ dil,
+ r8l,
+ r9l,
+ r10l,
+ r11l,
+ r12l,
+ r13l,
+ r14l,
+ r15l,
+ ah,
+ ch,
+ dh,
+ bh,
+</details>}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>General purpose register operands.</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.al" class="variant"><a href="#variant.al" class="anchor">§</a><h3 class="code-header">al</h3></section><section id="variant.cl" class="variant"><a href="#variant.cl" class="anchor">§</a><h3 class="code-header">cl</h3></section><section id="variant.dl" class="variant"><a href="#variant.dl" class="anchor">§</a><h3 class="code-header">dl</h3></section><section id="variant.bl" class="variant"><a href="#variant.bl" class="anchor">§</a><h3 class="code-header">bl</h3></section><section id="variant.spl" class="variant"><a href="#variant.spl" class="anchor">§</a><h3 class="code-header">spl</h3></section><section id="variant.bpl" class="variant"><a href="#variant.bpl" class="anchor">§</a><h3 class="code-header">bpl</h3></section><section id="variant.sil" class="variant"><a href="#variant.sil" class="anchor">§</a><h3 class="code-header">sil</h3></section><section id="variant.dil" class="variant"><a href="#variant.dil" class="anchor">§</a><h3 class="code-header">dil</h3></section><section id="variant.r8l" class="variant"><a href="#variant.r8l" class="anchor">§</a><h3 class="code-header">r8l</h3></section><section id="variant.r9l" class="variant"><a href="#variant.r9l" class="anchor">§</a><h3 class="code-header">r9l</h3></section><section id="variant.r10l" class="variant"><a href="#variant.r10l" class="anchor">§</a><h3 class="code-header">r10l</h3></section><section id="variant.r11l" class="variant"><a href="#variant.r11l" class="anchor">§</a><h3 class="code-header">r11l</h3></section><section id="variant.r12l" class="variant"><a href="#variant.r12l" class="anchor">§</a><h3 class="code-header">r12l</h3></section><section id="variant.r13l" class="variant"><a href="#variant.r13l" class="anchor">§</a><h3 class="code-header">r13l</h3></section><section id="variant.r14l" class="variant"><a href="#variant.r14l" class="anchor">§</a><h3 class="code-header">r14l</h3></section><section id="variant.r15l" class="variant"><a href="#variant.r15l" class="anchor">§</a><h3 class="code-header">r15l</h3></section><section id="variant.ah" class="variant"><a href="#variant.ah" class="anchor">§</a><h3 class="code-header">ah</h3></section><section id="variant.ch" class="variant"><a href="#variant.ch" class="anchor">§</a><h3 class="code-header">ch</h3></section><section id="variant.dh" class="variant"><a href="#variant.dh" class="anchor">§</a><h3 class="code-header">dh</h3></section><section id="variant.bh" class="variant"><a href="#variant.bh" class="anchor">§</a><h3 class="code-header">bh</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#77-79">source</a><a href="#impl-Clone-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#77-79">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#49-53">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#50-52">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#101-105">source</a><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#102-104">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#75-79">source</a><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#76-78">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#23-27">source</a><a href="#impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#24-26">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><section id="impl-Copy-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/reg.rs.html#77-79">source</a><a href="#impl-Copy-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Reg8" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section><section id="impl-Send-for-Reg8" class="impl has-srclink"><a href="#impl-Send-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section><section id="impl-Sync-for-Reg8" class="impl has-srclink"><a href="#impl-Sync-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section><section id="impl-Unpin-for-Reg8" class="impl has-srclink"><a href="#impl-Unpin-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section><section id="impl-UnwindSafe-for-Reg8" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Reg8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.67.1/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Reg8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Reg8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/index.html b/juicebox_asm/prelude/index.html
new file mode 100644
index 0000000..beedf58
--- /dev/null
+++ b/juicebox_asm/prelude/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `prelude` mod in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, prelude"><title>juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Module prelude</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#reexports">Re-exports</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../index.html">juicebox_asm</a>::<wbr><a class="mod" href="#">prelude</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/prelude.rs.html#1-8">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2><div class="item-table"><div class="item-row"><div class="item-left import-item" id="reexport.Asm"><code>pub use crate::<a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a>;</code></div></div><div class="item-row"><div class="item-left import-item" id="reexport.MemOp"><code>pub use crate::<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>;</code></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Imm8.html" title="juicebox_asm::prelude::Imm8 struct">Imm8</a></div><div class="item-right docblock-short">Immediate operand.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Imm16.html" title="juicebox_asm::prelude::Imm16 struct">Imm16</a></div><div class="item-right docblock-short">Immediate operand.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Imm32.html" title="juicebox_asm::prelude::Imm32 struct">Imm32</a></div><div class="item-right docblock-short">Immediate operand.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Imm64.html" title="juicebox_asm::prelude::Imm64 struct">Imm64</a></div><div class="item-right docblock-short">Immediate operand.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Label.html" title="juicebox_asm::prelude::Label struct">Label</a></div><div class="item-right docblock-short">A label which is used as target for jump instructions.</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Reg8.html" title="juicebox_asm::prelude::Reg8 enum">Reg8</a></div><div class="item-right docblock-short">General purpose register operands.</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Reg16.html" title="juicebox_asm::prelude::Reg16 enum">Reg16</a></div><div class="item-right docblock-short">General purpose register operands.</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Reg32.html" title="juicebox_asm::prelude::Reg32 enum">Reg32</a></div><div class="item-right docblock-short">General purpose register operands.</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.Reg64.html" title="juicebox_asm::prelude::Reg64 enum">Reg64</a></div><div class="item-right docblock-short">General purpose register operands.</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Add.html" title="juicebox_asm::prelude::Add trait">Add</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Dec.html" title="juicebox_asm::prelude::Dec trait">Dec</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Jmp.html" title="juicebox_asm::prelude::Jmp trait">Jmp</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Jnz.html" title="juicebox_asm::prelude::Jnz trait">Jnz</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Jz.html" title="juicebox_asm::prelude::Jz trait">Jz</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Mov.html" title="juicebox_asm::prelude::Mov trait">Mov</a></div></div><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.Test.html" title="juicebox_asm::prelude::Test trait">Test</a></div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/sidebar-items.js b/juicebox_asm/prelude/sidebar-items.js
new file mode 100644
index 0000000..5a5bcf1
--- /dev/null
+++ b/juicebox_asm/prelude/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":[["Reg16","General purpose register operands."],["Reg32","General purpose register operands."],["Reg64","General purpose register operands."],["Reg8","General purpose register operands."]],"struct":[["Imm16","Immediate operand."],["Imm32","Immediate operand."],["Imm64","Immediate operand."],["Imm8","Immediate operand."],["Label","A label which is used as target for jump instructions."]],"trait":[["Add",""],["Dec",""],["Jmp",""],["Jnz",""],["Jz",""],["Mov",""],["Test",""]]}; \ No newline at end of file
diff --git a/juicebox_asm/prelude/struct.Imm16.html b/juicebox_asm/prelude/struct.Imm16.html
new file mode 100644
index 0000000..10d476b
--- /dev/null
+++ b/juicebox_asm/prelude/struct.Imm16.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Immediate operand."><meta name="keywords" content="rust, rustlang, rust-lang, Imm16"><title>Imm16 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Imm16</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-From%3Ci16%3E-for-Imm16">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm16">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm16">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm16">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Imm16">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm16">Send</a></li><li><a href="#impl-Sync-for-Imm16">Sync</a></li><li><a href="#impl-Unpin-for-Imm16">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm16">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Imm16">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Imm16">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Imm16">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Imm16">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Imm16">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Imm16">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Imm16">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="struct" href="#">Imm16</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/imm.rs.html#33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Imm16(_);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Immediate operand.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci16%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#impl-From%3Ci16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#impl-From%3Ci8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#impl-From%3Cu16%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#impl-From%3Cu8%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#33">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#95-99">source</a><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#96-98">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm16" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section><section id="impl-Send-for-Imm16" class="impl has-srclink"><a href="#impl-Send-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section><section id="impl-Sync-for-Imm16" class="impl has-srclink"><a href="#impl-Sync-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section><section id="impl-Unpin-for-Imm16" class="impl has-srclink"><a href="#impl-Unpin-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section><section id="impl-UnwindSafe-for-Imm16" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Imm16" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Imm16" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Imm16" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/struct.Imm32.html b/juicebox_asm/prelude/struct.Imm32.html
new file mode 100644
index 0000000..cadbf85
--- /dev/null
+++ b/juicebox_asm/prelude/struct.Imm32.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Immediate operand."><meta name="keywords" content="rust, rustlang, rust-lang, Imm32"><title>Imm32 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Imm32</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-From%3Ci16%3E-for-Imm32">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm32">From&lt;i32&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm32">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm32">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm32">From&lt;u32&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm32">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Imm32">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm32">Send</a></li><li><a href="#impl-Sync-for-Imm32">Sync</a></li><li><a href="#impl-Unpin-for-Imm32">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm32">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Imm32">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Imm32">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Imm32">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Imm32">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Imm32">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Imm32">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Imm32">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="struct" href="#">Imm32</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/imm.rs.html#34">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Imm32(_);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Immediate operand.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci16%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Ci16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Ci32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Ci8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Cu16%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Cu32%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#impl-From%3Cu8%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#34">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#89-93">source</a><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#90-92">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm32" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section><section id="impl-Send-for-Imm32" class="impl has-srclink"><a href="#impl-Send-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section><section id="impl-Sync-for-Imm32" class="impl has-srclink"><a href="#impl-Sync-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section><section id="impl-Unpin-for-Imm32" class="impl has-srclink"><a href="#impl-Unpin-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section><section id="impl-UnwindSafe-for-Imm32" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Imm32" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Imm32" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Imm32" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/struct.Imm64.html b/juicebox_asm/prelude/struct.Imm64.html
new file mode 100644
index 0000000..2df9f88
--- /dev/null
+++ b/juicebox_asm/prelude/struct.Imm64.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Immediate operand."><meta name="keywords" content="rust, rustlang, rust-lang, Imm64"><title>Imm64 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Imm64</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-From%3Ci16%3E-for-Imm64">From&lt;i16&gt;</a></li><li><a href="#impl-From%3Ci32%3E-for-Imm64">From&lt;i32&gt;</a></li><li><a href="#impl-From%3Ci64%3E-for-Imm64">From&lt;i64&gt;</a></li><li><a href="#impl-From%3Ci8%3E-for-Imm64">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu16%3E-for-Imm64">From&lt;u16&gt;</a></li><li><a href="#impl-From%3Cu32%3E-for-Imm64">From&lt;u32&gt;</a></li><li><a href="#impl-From%3Cu64%3E-for-Imm64">From&lt;u64&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm64">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Imm64">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm64">Send</a></li><li><a href="#impl-Sync-for-Imm64">Sync</a></li><li><a href="#impl-Unpin-for-Imm64">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm64">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Imm64">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Imm64">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Imm64">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Imm64">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Imm64">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Imm64">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Imm64">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="struct" href="#">Imm64</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/imm.rs.html#35">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Imm64(_);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Immediate operand.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci16%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Ci16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i16.html">i16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci32%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Ci32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i32.html">i32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci64%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Ci64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i64.html">i64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i64.html">i64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Ci8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu16%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Cu16%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u16.html">u16</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu32%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Cu32%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u32.html">u32</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u32.html">u32</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu64%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Cu64%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u64.html">u64</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u64.html">u64</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#impl-From%3Cu8%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#35">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#83-87">source</a><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#84-86">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm64" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section><section id="impl-Send-for-Imm64" class="impl has-srclink"><a href="#impl-Send-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section><section id="impl-Sync-for-Imm64" class="impl has-srclink"><a href="#impl-Sync-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section><section id="impl-Unpin-for-Imm64" class="impl has-srclink"><a href="#impl-Unpin-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section><section id="impl-UnwindSafe-for-Imm64" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Imm64" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Imm64" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Imm64" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/struct.Imm8.html b/juicebox_asm/prelude/struct.Imm8.html
new file mode 100644
index 0000000..33bc618
--- /dev/null
+++ b/juicebox_asm/prelude/struct.Imm8.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Immediate operand."><meta name="keywords" content="rust, rustlang, rust-lang, Imm8"><title>Imm8 in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Imm8</a></h2><div class="sidebar-elems"><section><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-From%3Ci8%3E-for-Imm8">From&lt;i8&gt;</a></li><li><a href="#impl-From%3Cu8%3E-for-Imm8">From&lt;u8&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Imm8">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Imm8">Send</a></li><li><a href="#impl-Sync-for-Imm8">Sync</a></li><li><a href="#impl-Unpin-for-Imm8">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Imm8">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Imm8">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Imm8">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Imm8">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Imm8">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Imm8">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Imm8">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Imm8">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="struct" href="#">Imm8</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/imm.rs.html#32">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Imm8(_);</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Immediate operand.</p>
+</div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Ci8%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#32">source</a><a href="#impl-From%3Ci8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#32">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.i8.html">i8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3Cu8%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#32">source</a><a href="#impl-From%3Cu8%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>&gt; for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/imm.rs.html#32">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(imm: <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#101-105">source</a><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#102-104">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Imm8" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section><section id="impl-Send-for-Imm8" class="impl has-srclink"><a href="#impl-Send-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section><section id="impl-Sync-for-Imm8" class="impl has-srclink"><a href="#impl-Sync-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section><section id="impl-Unpin-for-Imm8" class="impl has-srclink"><a href="#impl-Unpin-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section><section id="impl-UnwindSafe-for-Imm8" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Imm8" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Imm8" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Imm8" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/struct.Label.html b/juicebox_asm/prelude/struct.Label.html
new file mode 100644
index 0000000..a9346b4
--- /dev/null
+++ b/juicebox_asm/prelude/struct.Label.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A label which is used as target for jump instructions."><meta name="keywords" content="rust, rustlang, rust-lang, Label"><title>Label in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Label</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Drop-for-Label">Drop</a></li><li><a href="#impl-Jmp%3C%26mut%20Label%3E-for-Asm">Jmp&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jnz%3C%26mut%20Label%3E-for-Asm">Jnz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jz%3C%26mut%20Label%3E-for-Asm">Jz&lt;&amp;mut Label&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Label">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Label">Send</a></li><li><a href="#impl-Sync-for-Label">Sync</a></li><li><a href="#impl-Unpin-for-Label">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Label">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Label">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Label">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Label">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Label">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Label">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Label">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Label">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="struct" href="#">Label</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/label.rs.html#21-27">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Label { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A label which is used as target for jump instructions.</p>
+
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>juicebox_asm::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">let </span><span class="kw-2">mut </span>lbl = Label::new();
+<span class="kw">let </span><span class="kw-2">mut </span>asm = Asm::new();
+
+<span class="comment">// Skip the mov instruction.
+</span>asm.jmp(<span class="kw-2">&amp;mut </span>lbl);
+asm.mov(Reg64::rax, Reg64::rax);
+asm.bind(<span class="kw-2">&amp;mut </span>lbl);</code></pre></div>
+<h2 id="panics"><a href="#panics">Panics</a></h2>
+<p>Panics if the label is dropped while not yet bound, or having unresolved relocations.
+This is mainly a safety-guard to detect wrong usage.</p>
+</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Label" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/label.rs.html#29-63">source</a><a href="#impl-Label" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/label.rs.html#31-36">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h4></section></summary><div class="docblock"><p>Create a new <code>unbound</code> <a href="struct.Label.html" title="Label">Label</a>.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Drop-for-Label" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/label.rs.html#65-72">source</a><a href="#impl-Drop-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/label.rs.html#66-71">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jmp.rs.html#3-7">source</a><a href="#impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jmp.html" title="trait juicebox_asm::prelude::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jmp.rs.html#4-6">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jnz.rs.html#3-7">source</a><a href="#impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jnz.html" title="trait juicebox_asm::prelude::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jnz.rs.html#4-6">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jz.rs.html#3-7">source</a><a href="#impl-Jz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jz.html" title="trait juicebox_asm::prelude::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jz.rs.html#4-6">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Label" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section><section id="impl-Send-for-Label" class="impl has-srclink"><a href="#impl-Send-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section><section id="impl-Sync-for-Label" class="impl has-srclink"><a href="#impl-Sync-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section><section id="impl-Unpin-for-Label" class="impl has-srclink"><a href="#impl-Unpin-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section><section id="impl-UnwindSafe-for-Label" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Label" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Label" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Label" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Add.html b/juicebox_asm/prelude/trait.Add.html
new file mode 100644
index 0000000..71c02d9
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Add.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Add` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Add"><title>Add in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Add</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.add">add</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Add</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#10-13">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Add&lt;T, U&gt; {
+ fn <a href="#tymethod.add" class="fn">add</a>(&amp;mut self, op1: T, op2: U);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.add" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#12">source</a><h4 class="code-header">fn <a href="#tymethod.add" class="fn">add</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an add instruction.</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#9-13">source</a><a href="#impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/add.rs.html#3-7">source</a><a href="#impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Add.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Dec.html b/juicebox_asm/prelude/trait.Dec.html
new file mode 100644
index 0000000..099f88f
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Dec.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Dec` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Dec"><title>Dec in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Dec</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.dec">dec</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Dec</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#15-18">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Dec&lt;T&gt; {
+ fn <a href="#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: T);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.dec" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#17">source</a><h4 class="code-header">fn <a href="#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a decrement instruction.</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#9-13">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/dec.rs.html#3-7">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Dec.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Jmp.html b/juicebox_asm/prelude/trait.Jmp.html
new file mode 100644
index 0000000..4d2bc46
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Jmp.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Jmp` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Jmp"><title>Jmp in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Jmp</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jmp">jmp</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Jmp</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#20-23">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Jmp&lt;T&gt; {
+ fn <a href="#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: T);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.jmp" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#22">source</a><h4 class="code-header">fn <a href="#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit an unconditional jump instruction.</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jmp.rs.html#3-7">source</a><a href="#impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jmp.html" title="trait juicebox_asm::prelude::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Jmp.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Jnz.html b/juicebox_asm/prelude/trait.Jnz.html
new file mode 100644
index 0000000..8bd9098
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Jnz.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Jnz` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Jnz"><title>Jnz in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Jnz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jnz">jnz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Jnz</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#25-28">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Jnz&lt;T&gt; {
+ fn <a href="#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: T);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.jnz" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#27">source</a><h4 class="code-header">fn <a href="#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jnz.rs.html#3-7">source</a><a href="#impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jnz.html" title="trait juicebox_asm::prelude::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Jnz.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Jz.html b/juicebox_asm/prelude/trait.Jz.html
new file mode 100644
index 0000000..1e8cba2
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Jz.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Jz` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Jz"><title>Jz in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Jz</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.jz">jz</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Jz</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#30-33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Jz&lt;T&gt; {
+ fn <a href="#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: T);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.jz" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#32">source</a><h4 class="code-header">fn <a href="#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: T)</h4></section></summary><div class="docblock"><p>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Jz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/jz.rs.html#3-7">source</a><a href="#impl-Jz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Jz.html" title="trait juicebox_asm::prelude::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Jz.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Mov.html b/juicebox_asm/prelude/trait.Mov.html
new file mode 100644
index 0000000..96188d4
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Mov.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Mov` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Mov"><title>Mov in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Mov</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.mov">mov</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Mov</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#35-38">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Mov&lt;T, U&gt; {
+ fn <a href="#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: T, op2: U);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.mov" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#37">source</a><h4 class="code-header">fn <a href="#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit an move instruction.</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#49-53">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#43-47">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#37-41">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#31-35">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#75-79">source</a><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#23-27">source</a><a href="#impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#101-105">source</a><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="struct" href="struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#69-73">source</a><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#17-21">source</a><a href="#impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#95-99">source</a><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="struct" href="struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#63-67">source</a><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#11-15">source</a><a href="#impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#89-93">source</a><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="struct" href="struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#57-61">source</a><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="../enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#5-9">source</a><a href="#impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/mov.rs.html#83-87">source</a><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="struct" href="struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Mov.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/prelude/trait.Test.html b/juicebox_asm/prelude/trait.Test.html
new file mode 100644
index 0000000..4dacf0b
--- /dev/null
+++ b/juicebox_asm/prelude/trait.Test.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Test` trait in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Test"><title>Test in juicebox_asm::prelude - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Test</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.test">test</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In juicebox_asm::prelude</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Trait <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">prelude</a>::<wbr><a class="trait" href="#">Test</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/insn.rs.html#40-46">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust trait"><code>pub trait Test&lt;T, U&gt; {
+ fn <a href="#tymethod.test" class="fn">test</a>(&amp;mut self, op1: T, op2: U);
+}</code></pre></div><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="rustdoc-toggle method-toggle" open><summary><section id="tymethod.test" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn.rs.html#45">source</a><h4 class="code-header">fn <a href="#tymethod.test" class="fn">test</a>(&amp;mut self, op1: T, op2: U)</h4></section></summary><div class="docblock"><p>Emit a logical compare instruction.</p>
+<p>Computes the bit-wise logical AND of first operand and the second operand and sets the
+<code>SF</code>, <code>ZF</code>, and <code>PF</code> status flags, the result is discarded.</p>
+</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#9-13">source</a><a href="#impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/insn/test.rs.html#3-7">source</a><a href="#impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="../struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><script src="../../implementors/juicebox_asm/insn/trait.Test.js" async></script></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/reg/enum.Reg16.html b/juicebox_asm/reg/enum.Reg16.html
new file mode 100644
index 0000000..d506c7f
--- /dev/null
+++ b/juicebox_asm/reg/enum.Reg16.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/enum.Reg16.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/enum.Reg16.html">../../juicebox_asm/prelude/enum.Reg16.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/enum.Reg16.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/reg/enum.Reg32.html b/juicebox_asm/reg/enum.Reg32.html
new file mode 100644
index 0000000..79cfaf5
--- /dev/null
+++ b/juicebox_asm/reg/enum.Reg32.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/enum.Reg32.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/enum.Reg32.html">../../juicebox_asm/prelude/enum.Reg32.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/enum.Reg32.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/reg/enum.Reg64.html b/juicebox_asm/reg/enum.Reg64.html
new file mode 100644
index 0000000..0fff5d7
--- /dev/null
+++ b/juicebox_asm/reg/enum.Reg64.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/enum.Reg64.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/enum.Reg64.html">../../juicebox_asm/prelude/enum.Reg64.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/enum.Reg64.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/reg/enum.Reg8.html b/juicebox_asm/reg/enum.Reg8.html
new file mode 100644
index 0000000..339c6e5
--- /dev/null
+++ b/juicebox_asm/reg/enum.Reg8.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="refresh" content="0;URL=../../juicebox_asm/prelude/enum.Reg8.html">
+ <title>Redirection</title>
+</head>
+<body>
+ <p>Redirecting to <a href="../../juicebox_asm/prelude/enum.Reg8.html">../../juicebox_asm/prelude/enum.Reg8.html</a>...</p>
+ <script>location.replace("../../juicebox_asm/prelude/enum.Reg8.html" + location.search + location.hash);</script>
+</body>
+</html> \ No newline at end of file
diff --git a/juicebox_asm/rt/index.html b/juicebox_asm/rt/index.html
new file mode 100644
index 0000000..d6ffe84
--- /dev/null
+++ b/juicebox_asm/rt/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `rt` mod in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, rt"><title>juicebox_asm::rt - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Module rt</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../index.html">juicebox_asm</a>::<wbr><a class="mod" href="#">rt</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/rt.rs.html#1-51">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.Runtime.html" title="juicebox_asm::rt::Runtime struct">Runtime</a></div><div class="item-right docblock-short">A simple <code>mmap</code>ed runtime with executable pages.</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/rt/sidebar-items.js b/juicebox_asm/rt/sidebar-items.js
new file mode 100644
index 0000000..9040803
--- /dev/null
+++ b/juicebox_asm/rt/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"struct":[["Runtime","A simple `mmap`ed runtime with executable pages."]]}; \ No newline at end of file
diff --git a/juicebox_asm/rt/struct.Runtime.html b/juicebox_asm/rt/struct.Runtime.html
new file mode 100644
index 0000000..59812f1
--- /dev/null
+++ b/juicebox_asm/rt/struct.Runtime.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A simple `mmap`ed runtime with executable pages."><meta name="keywords" content="rust, rustlang, rust-lang, Runtime"><title>Runtime in juicebox_asm::rt - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Runtime</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.as_fn">as_fn</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Drop-for-Runtime">Drop</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Runtime">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Runtime">!Send</a></li><li><a href="#impl-Sync-for-Runtime">!Sync</a></li><li><a href="#impl-Unpin-for-Runtime">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Runtime">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Runtime">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Runtime">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Runtime">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Runtime">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Runtime">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Runtime">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Runtime">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm::rt</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">juicebox_asm</a>::<wbr><a href="index.html">rt</a>::<wbr><a class="struct" href="#">Runtime</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/juicebox_asm/rt.rs.html#5-8">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Runtime { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A simple <code>mmap</code>ed runtime with executable pages.</p>
+</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Runtime" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/rt.rs.html#10-43">source</a><a href="#impl-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/rt.rs.html#12-36">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(code: &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>]) -&gt; <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h4></section></summary><div class="docblock"><p>Create a new <a href="struct.Runtime.html" title="Runtime">Runtime</a>.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_fn" class="method has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/rt.rs.html#40-42">source</a><h4 class="code-header">pub unsafe fn <a href="#method.as_fn" class="fn">as_fn</a>&lt;F&gt;(&amp;self) -&gt; F</h4></section></summary><div class="docblock"><p>Reinterpret the block of code as <code>F</code>.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Drop-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/rt.rs.html#45-51">source</a><a href="#impl-Drop-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/juicebox_asm/rt.rs.html#46-50">source</a><a href="#method.drop" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html#tymethod.drop" class="fn">drop</a>(&amp;mut self)</h4></section></summary><div class='docblock'>Executes the destructor for this type. <a href="https://doc.rust-lang.org/1.67.1/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Runtime" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section><section id="impl-Send-for-Runtime" class="impl has-srclink"><a href="#impl-Send-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section><section id="impl-Sync-for-Runtime" class="impl has-srclink"><a href="#impl-Sync-for-Runtime" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section><section id="impl-Unpin-for-Runtime" class="impl has-srclink"><a href="#impl-Unpin-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section><section id="impl-UnwindSafe-for-Runtime" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Runtime" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Runtime.html" title="struct juicebox_asm::rt::Runtime">Runtime</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Runtime" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Runtime" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/juicebox_asm/sidebar-items.js b/juicebox_asm/sidebar-items.js
new file mode 100644
index 0000000..a1b0c17
--- /dev/null
+++ b/juicebox_asm/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":[["MemOp",""]],"mod":[["prelude",""],["rt",""]],"struct":[["Asm",""]]}; \ No newline at end of file
diff --git a/juicebox_asm/struct.Asm.html b/juicebox_asm/struct.Asm.html
new file mode 100644
index 0000000..d227900
--- /dev/null
+++ b/juicebox_asm/struct.Asm.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Asm` struct in crate `juicebox_asm`."><meta name="keywords" content="rust, rustlang, rust-lang, Asm"><title>Asm in juicebox_asm - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location"><a href="#">Asm</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.bind">bind</a></li><li><a href="#method.into_code">into_code</a></li><li><a href="#method.new">new</a></li><li><a href="#method.resolve">resolve</a></li><li><a href="#method.ret">ret</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Add%3CReg32%2C%20Reg32%3E-for-Asm">Add&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Add%3CReg64%2C%20Reg64%3E-for-Asm">Add&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Dec%3CReg32%3E-for-Asm">Dec&lt;Reg32&gt;</a></li><li><a href="#impl-Dec%3CReg64%3E-for-Asm">Dec&lt;Reg64&gt;</a></li><li><a href="#impl-Jmp%3C%26mut%20Label%3E-for-Asm">Jmp&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jnz%3C%26mut%20Label%3E-for-Asm">Jnz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Jz%3C%26mut%20Label%3E-for-Asm">Jz&lt;&amp;mut Label&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm">Mov&lt;MemOp, Reg16&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm">Mov&lt;MemOp, Reg32&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm">Mov&lt;MemOp, Reg64&gt;</a></li><li><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm">Mov&lt;MemOp, Reg8&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm">Mov&lt;Reg16, Imm16&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm">Mov&lt;Reg16, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm">Mov&lt;Reg16, Reg16&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm">Mov&lt;Reg32, Imm32&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm">Mov&lt;Reg32, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm">Mov&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm">Mov&lt;Reg64, Imm64&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm">Mov&lt;Reg64, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm">Mov&lt;Reg64, Reg64&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm">Mov&lt;Reg8, Imm8&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm">Mov&lt;Reg8, MemOp&gt;</a></li><li><a href="#impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm">Mov&lt;Reg8, Reg8&gt;</a></li><li><a href="#impl-Test%3CReg32%2C%20Reg32%3E-for-Asm">Test&lt;Reg32, Reg32&gt;</a></li><li><a href="#impl-Test%3CReg64%2C%20Reg64%3E-for-Asm">Test&lt;Reg64, Reg64&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Asm">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Asm">Send</a></li><li><a href="#impl-Sync-for-Asm">Sync</a></li><li><a href="#impl-Unpin-for-Asm">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Asm">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Asm">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Asm">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Asm">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Asm">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Asm">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Asm">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Asm">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In juicebox_asm</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="index.html">juicebox_asm</a>::<wbr><a class="struct" href="#">Asm</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/juicebox_asm/lib.rs.html#42-44">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Asm { /* private fields */ }</code></pre></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/ret.rs.html#3-7">source</a><a href="#impl-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><section id="method.ret" class="method has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/ret.rs.html#4-6">source</a><h4 class="code-header">pub fn <a href="#method.ret" class="fn">ret</a>(&amp;mut self)</h4></section></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Asm-1" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/lib.rs.html#46-233">source</a><a href="#impl-Asm-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/lib.rs.html#47-50">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h4></section><section id="method.into_code" class="method has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/lib.rs.html#52-54">source</a><h4 class="code-header">pub fn <a href="#method.into_code" class="fn">into_code</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>&gt;</h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bind" class="method has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/lib.rs.html#75-81">source</a><h4 class="code-header">pub fn <a href="#method.bind" class="fn">bind</a>(&amp;mut self, label: &amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class="docblock"><p>Bind the <a href="prelude/struct.Label.html" title="Label">Label</a> to the current location.</p>
+</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.resolve" class="method has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/lib.rs.html#84-99">source</a><h4 class="code-header">pub fn <a href="#method.resolve" class="fn">resolve</a>(&amp;mut self, label: &amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class="docblock"><p>If the <a href="prelude/struct.Label.html" title="Label">Label</a> is bound, patch any pending relocation.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/add.rs.html#9-13">source</a><a href="#impl-Add%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/add.rs.html#10-12">source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/add.rs.html#3-7">source</a><a href="#impl-Add%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Add.html" title="trait juicebox_asm::prelude::Add">Add</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/add.rs.html#4-6">source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Add.html#tymethod.add" class="fn">add</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an add instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/dec.rs.html#9-13">source</a><a href="#impl-Dec%3CReg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.dec-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/dec.rs.html#10-12">source</a><a href="#method.dec-1" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Dec%3CReg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/dec.rs.html#3-7">source</a><a href="#impl-Dec%3CReg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Dec.html" title="trait juicebox_asm::prelude::Dec">Dec</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.dec" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/dec.rs.html#4-6">source</a><a href="#method.dec" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Dec.html#tymethod.dec" class="fn">dec</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a decrement instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jmp.rs.html#3-7">source</a><a href="#impl-Jmp%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Jmp.html" title="trait juicebox_asm::prelude::Jmp">Jmp</a>&lt;&amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jmp" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jmp.rs.html#4-6">source</a><a href="#method.jmp" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Jmp.html#tymethod.jmp" class="fn">jmp</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit an unconditional jump instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jnz.rs.html#3-7">source</a><a href="#impl-Jnz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Jnz.html" title="trait juicebox_asm::prelude::Jnz">Jnz</a>&lt;&amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jnz" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jnz.rs.html#4-6">source</a><a href="#method.jnz" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Jnz.html#tymethod.jnz" class="fn">jnz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Jz%3C%26mut%20Label%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jz.rs.html#3-7">source</a><a href="#impl-Jz%3C%26mut%20Label%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Jz.html" title="trait juicebox_asm::prelude::Jz">Jz</a>&lt;&amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.jz" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/jz.rs.html#4-6">source</a><a href="#method.jz" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Jz.html#tymethod.jz" class="fn">jz</a>(&amp;mut self, op1: &amp;mut <a class="struct" href="prelude/struct.Label.html" title="struct juicebox_asm::prelude::Label">Label</a>)</h4></section></summary><div class='docblock'>Emit a conditional jump if zero instruction (<code>ZF = 1</code>).</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#43-47">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#44-46">source</a><a href="#method.mov-6" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#37-41">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#38-40">source</a><a href="#method.mov-5" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#31-35">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#32-34">source</a><a href="#method.mov-4" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#49-53">source</a><a href="#impl-Mov%3CMemOp%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#50-52">source</a><a href="#method.mov-7" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>, op2: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#95-99">source</a><a href="#impl-Mov%3CReg16%2C%20Imm16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="struct" href="prelude/struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#96-98">source</a><a href="#method.mov-14" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="struct" href="prelude/struct.Imm16.html" title="struct juicebox_asm::prelude::Imm16">Imm16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#69-73">source</a><a href="#impl-Mov%3CReg16%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#70-72">source</a><a href="#method.mov-10" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#17-21">source</a><a href="#impl-Mov%3CReg16%2C%20Reg16%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#18-20">source</a><a href="#method.mov-2" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>, op2: <a class="enum" href="prelude/enum.Reg16.html" title="enum juicebox_asm::prelude::Reg16">Reg16</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#89-93">source</a><a href="#impl-Mov%3CReg32%2C%20Imm32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="struct" href="prelude/struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#90-92">source</a><a href="#method.mov-13" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="struct" href="prelude/struct.Imm32.html" title="struct juicebox_asm::prelude::Imm32">Imm32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#63-67">source</a><a href="#impl-Mov%3CReg32%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#64-66">source</a><a href="#method.mov-9" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#11-15">source</a><a href="#impl-Mov%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#12-14">source</a><a href="#method.mov-1" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#83-87">source</a><a href="#impl-Mov%3CReg64%2C%20Imm64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="struct" href="prelude/struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#84-86">source</a><a href="#method.mov-12" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="struct" href="prelude/struct.Imm64.html" title="struct juicebox_asm::prelude::Imm64">Imm64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#57-61">source</a><a href="#impl-Mov%3CReg64%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#58-60">source</a><a href="#method.mov-8" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#5-9">source</a><a href="#impl-Mov%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#6-8">source</a><a href="#method.mov" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#101-105">source</a><a href="#impl-Mov%3CReg8%2C%20Imm8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="struct" href="prelude/struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#102-104">source</a><a href="#method.mov-15" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="struct" href="prelude/struct.Imm8.html" title="struct juicebox_asm::prelude::Imm8">Imm8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#75-79">source</a><a href="#impl-Mov%3CReg8%2C%20MemOp%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#76-78">source</a><a href="#method.mov-11" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="enum" href="enum.MemOp.html" title="enum juicebox_asm::MemOp">MemOp</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#23-27">source</a><a href="#impl-Mov%3CReg8%2C%20Reg8%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Mov.html" title="trait juicebox_asm::prelude::Mov">Mov</a>&lt;<a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mov-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/mov.rs.html#24-26">source</a><a href="#method.mov-3" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Mov.html#tymethod.mov" class="fn">mov</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>, op2: <a class="enum" href="prelude/enum.Reg8.html" title="enum juicebox_asm::prelude::Reg8">Reg8</a>)</h4></section></summary><div class='docblock'>Emit an move instruction.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/test.rs.html#9-13">source</a><a href="#impl-Test%3CReg32%2C%20Reg32%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.test-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/test.rs.html#10-12">source</a><a href="#method.test-1" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>, op2: <a class="enum" href="prelude/enum.Reg32.html" title="enum juicebox_asm::prelude::Reg32">Reg32</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="prelude/trait.Test.html#tymethod.test">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/test.rs.html#3-7">source</a><a href="#impl-Test%3CReg64%2C%20Reg64%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="prelude/trait.Test.html" title="trait juicebox_asm::prelude::Test">Test</a>&lt;<a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>&gt; for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.test" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/juicebox_asm/insn/test.rs.html#4-6">source</a><a href="#method.test" class="anchor">§</a><h4 class="code-header">fn <a href="prelude/trait.Test.html#tymethod.test" class="fn">test</a>(&amp;mut self, op1: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>, op2: <a class="enum" href="prelude/enum.Reg64.html" title="enum juicebox_asm::prelude::Reg64">Reg64</a>)</h4></section></summary><div class='docblock'>Emit a logical compare instruction. <a href="prelude/trait.Test.html#tymethod.test">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Asm" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Send-for-Asm" class="impl has-srclink"><a href="#impl-Send-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Sync-for-Asm" class="impl has-srclink"><a href="#impl-Sync-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-Unpin-for-Asm" class="impl has-srclink"><a href="#impl-Unpin-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section><section id="impl-UnwindSafe-for-Asm" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Asm" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Asm.html" title="struct juicebox_asm::Asm">Asm</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.67.1/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.67.1/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.67.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.67.1/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Asm" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-Asm" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.67.1/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.67.1/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/search-index.js b/search-index.js
new file mode 100644
index 0000000..391af50
--- /dev/null
+++ b/search-index.js
@@ -0,0 +1,5 @@
+var searchIndex = JSON.parse('{\
+"juicebox_asm":{"doc":"","t":[3,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,0,11,11,11,11,11,11,11,11,8,2,8,3,3,3,3,8,8,8,3,2,8,4,4,4,4,8,10,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,11,11,11,11,11,11,11,11,13,10,13,13,13,13,11,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11],"n":["Asm","Indirect","IndirectDisp","MemOp","add","add","bind","borrow","borrow","borrow_mut","borrow_mut","dec","dec","from","from","into","into","into_code","jmp","jnz","jz","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","mov","new","prelude","resolve","ret","rt","test","test","try_from","try_from","try_into","try_into","type_id","type_id","Add","Asm","Dec","Imm16","Imm32","Imm64","Imm8","Jmp","Jnz","Jz","Label","MemOp","Mov","Reg16","Reg32","Reg64","Reg8","Test","add","ah","al","ax","bh","bl","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bp","bpl","bx","ch","cl","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cx","dec","dh","di","dil","dl","drop","dx","eax","ebp","ebx","ecx","edi","edx","esi","esp","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","jmp","jnz","jz","mov","new","r10","r10d","r10l","r10w","r11","r11d","r11l","r11w","r12","r12d","r12l","r12w","r13","r13d","r13l","r13w","r14","r14d","r14l","r14w","r15","r15d","r15l","r15w","r8","r8d","r8l","r8w","r9","r9d","r9l","r9w","rax","rbp","rbx","rcx","rdi","rdx","rsi","rsp","si","sil","sp","spl","test","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","Runtime","as_fn","borrow","borrow_mut","drop","from","into","new","try_from","try_into","type_id"],"q":["juicebox_asm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","juicebox_asm::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","juicebox_asm::rt","","","","","","","","","",""],"d":["","","","","","","Bind the Label to the current location.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","","","","","","","","","","","","","","","","","","","","","If the Label is bound, patch any pending relocation.","","","","","","","","","","","","","","Immediate operand.","Immediate operand.","Immediate operand.","Immediate operand.","","","","A label which is used as target for jump instructions.","","","General purpose register operands.","General purpose register operands.","General purpose register operands.","General purpose register operands.","","Emit an add instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Emit a decrement instruction.","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Emit an unconditional jump instruction.","Emit a conditional jump if not zero instruction (<code>ZF = 0</code>).","Emit a conditional jump if zero instruction (<code>ZF = 1</code>).","Emit an move instruction.","Create a new <code>unbound</code> Label.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Emit a logical compare instruction.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A simple <code>mmap</code>ed runtime with executable pages.","Reinterpret the block of code as <code>F</code>.","","","","Returns the argument unchanged.","Calls <code>U::from(self)</code>.","Create a new Runtime.","","",""],"i":[0,7,7,0,1,1,1,7,1,7,1,1,1,7,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,7,1,7,1,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,9,8,9,9,4,10,11,12,13,3,2,8,9,4,10,11,12,13,3,2,8,9,8,9,8,9,9,3,2,8,9,3,2,8,9,8,25,9,8,9,9,4,8,2,2,2,2,2,2,2,2,4,10,10,10,11,11,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,3,2,8,9,4,10,11,12,13,3,2,8,9,26,27,28,29,4,3,2,9,8,3,2,9,8,3,2,9,8,3,2,9,8,3,2,9,8,3,2,9,8,3,2,9,8,3,2,9,8,3,3,3,3,3,3,3,3,8,9,8,9,30,3,2,8,9,4,10,11,12,13,3,2,8,9,4,10,11,12,13,3,2,8,9,4,10,11,12,13,3,2,8,9,0,23,23,23,23,23,23,23,23,23,23],"f":[0,0,0,0,[[1,2,2]],[[1,3,3]],[[1,4]],[[]],[[]],[[]],[[]],[[1,2]],[[1,3]],[[]],[[]],[[]],[[]],[1,[[6,[5]]]],[[1,4]],[[1,4]],[[1,4]],[[1,7,8]],[[1,3,7]],[[1,3,3]],[[1,2,2]],[[1,9,10]],[[1,8,11]],[[1,2,12]],[[1,3,13]],[[1,9,7]],[[1,8,7]],[[1,2,7]],[[1,8,8]],[[1,7,9]],[[1,9,9]],[[1,7,3]],[[1,7,2]],[[],1],0,[[1,4]],[1],0,[[1,2,2]],[[1,3,3]],[[],14],[[],14],[[],14],[[],14],[[],15],[[],15],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[3,3],[2,2],[8,8],[9,9],[[]],[[]],[[]],[[]],0,[[]],0,0,0,0,[4],0,0,0,0,0,0,0,0,0,[[]],[5,10],[16,10],[[]],[[]],[17,11],[5,11],[16,11],[18,11],[19,12],[16,12],[5,12],[[]],[17,12],[18,12],[20,12],[[]],[18,13],[20,13],[19,13],[21,13],[22,13],[5,13],[16,13],[17,13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],4],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],0,[23],[[]],[[]],[23],[[]],[[]],[[],23],[[],14],[[],14],[[],15]],"p":[[3,"Asm"],[4,"Reg32"],[4,"Reg64"],[3,"Label"],[15,"u8"],[3,"Vec"],[4,"MemOp"],[4,"Reg16"],[4,"Reg8"],[3,"Imm8"],[3,"Imm16"],[3,"Imm32"],[3,"Imm64"],[4,"Result"],[3,"TypeId"],[15,"i8"],[15,"i16"],[15,"u16"],[15,"u32"],[15,"i32"],[15,"i64"],[15,"u64"],[3,"Runtime"],[8,"Add"],[8,"Dec"],[8,"Jmp"],[8,"Jnz"],[8,"Jz"],[8,"Mov"],[8,"Test"]]}\
+}');
+if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
+if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
diff --git a/settings.html b/settings.html
new file mode 100644
index 0000000..4e80905
--- /dev/null
+++ b/settings.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="./static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="./static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="./static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="./static.files/storage-d43fa987303ecbbb.js"></script><script defer src="./static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="./juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="./juicebox_asm/index.html"><div class="logo-container"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></div></a><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable Javascript be able to update your settings.</section></noscript><link rel="stylesheet" type="text/css" href="./static.files/settings-af96d9e2fc13e081.css"><script defer src="./static.files/settings-bebeae96e00e4617.js"></script></section></div></main><div id="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/source-files.js b/source-files.js
new file mode 100644
index 0000000..850f313
--- /dev/null
+++ b/source-files.js
@@ -0,0 +1,4 @@
+var sourcesIndex = JSON.parse('{\
+"juicebox_asm":["",[["insn",[],["add.rs","dec.rs","jmp.rs","jnz.rs","jz.rs","mov.rs","ret.rs","test.rs"]]],["imm.rs","insn.rs","label.rs","lib.rs","prelude.rs","reg.rs","rt.rs"]]\
+}');
+createSourceSidebar();
diff --git a/src/juicebox_asm/imm.rs.html b/src/juicebox_asm/imm.rs.html
new file mode 100644
index 0000000..0990c92
--- /dev/null
+++ b/src/juicebox_asm/imm.rs.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/imm.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>imm.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+</pre><pre class="rust"><code><span class="doccomment">/// Trait to interact with immediate operands.
+</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait </span>Imm {
+ <span class="doccomment">/// Get immediate operand as slice of bytes.
+ </span><span class="kw">fn </span>bytes(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>[u8];
+}
+
+<span class="macro">macro_rules! </span>impl_imm {
+ (<span class="macro-nonterminal">$name</span>:ident, <span class="macro-nonterminal">$size</span>:expr, from: $( <span class="macro-nonterminal">$from</span>:ty ),* $(,)<span class="question-mark">?</span>) =&gt; {
+ <span class="doccomment">/// Immediate operand.
+ </span><span class="kw">pub struct </span><span class="macro-nonterminal">$name</span>([u8; <span class="macro-nonterminal">$size</span>]);
+
+ <span class="kw">impl </span>Imm <span class="kw">for </span><span class="macro-nonterminal">$name </span>{
+ <span class="doccomment">/// Get immediate operand as slice of bytes.
+ </span><span class="kw">fn </span>bytes(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;</span>[u8] {
+ <span class="kw-2">&amp;</span><span class="self">self</span>.<span class="number">0
+ </span>}
+ }
+
+ $(
+ <span class="kw">impl </span>From&lt;<span class="macro-nonterminal">$from</span>&gt; <span class="kw">for </span><span class="macro-nonterminal">$name </span>{
+ <span class="kw">fn </span>from(imm: <span class="macro-nonterminal">$from</span>) -&gt; <span class="self">Self </span>{
+ <span class="kw">let </span><span class="kw-2">mut </span>buf = [<span class="number">0u8</span>; <span class="macro-nonterminal">$size</span>];
+ <span class="kw">let </span>imm = imm.to_ne_bytes();
+ buf[<span class="number">0</span>..imm.len()].copy_from_slice(<span class="kw-2">&amp;</span>imm);
+ <span class="macro-nonterminal">$name</span>(buf)
+ }
+ }
+ )*
+ }
+}
+
+<span class="macro">impl_imm!</span>(Imm8, <span class="number">1</span>, from: u8, i8);
+<span class="macro">impl_imm!</span>(Imm16, <span class="number">2</span>, from: u16, i16, u8, i8);
+<span class="macro">impl_imm!</span>(Imm32, <span class="number">4</span>, from: u32, i32, u16, i16, u8, i8);
+<span class="macro">impl_imm!</span>(Imm64, <span class="number">8</span>, from: u64, i64, u32, i32, u16, i16, u8, i8);
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn.rs.html b/src/juicebox_asm/insn.rs.html
new file mode 100644
index 0000000..93134d8
--- /dev/null
+++ b/src/juicebox_asm/insn.rs.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>insn.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+</pre><pre class="rust"><code><span class="kw">mod </span>add;
+<span class="kw">mod </span>dec;
+<span class="kw">mod </span>jmp;
+<span class="kw">mod </span>jnz;
+<span class="kw">mod </span>jz;
+<span class="kw">mod </span>mov;
+<span class="kw">mod </span>ret;
+<span class="kw">mod </span>test;
+
+<span class="kw">pub trait </span>Add&lt;T, U&gt; {
+ <span class="doccomment">/// Emit an add instruction.
+ </span><span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T, op2: U);
+}
+
+<span class="kw">pub trait </span>Dec&lt;T&gt; {
+ <span class="doccomment">/// Emit a decrement instruction.
+ </span><span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
+}
+
+<span class="kw">pub trait </span>Jmp&lt;T&gt; {
+ <span class="doccomment">/// Emit an unconditional jump instruction.
+ </span><span class="kw">fn </span>jmp(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
+}
+
+<span class="kw">pub trait </span>Jnz&lt;T&gt; {
+ <span class="doccomment">/// Emit a conditional jump if not zero instruction (`ZF = 0`).
+ </span><span class="kw">fn </span>jnz(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
+}
+
+<span class="kw">pub trait </span>Jz&lt;T&gt; {
+ <span class="doccomment">/// Emit a conditional jump if zero instruction (`ZF = 1`).
+ </span><span class="kw">fn </span>jz(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T);
+}
+
+<span class="kw">pub trait </span>Mov&lt;T, U&gt; {
+ <span class="doccomment">/// Emit an move instruction.
+ </span><span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T, op2: U);
+}
+
+<span class="kw">pub trait </span>Test&lt;T, U&gt; {
+ <span class="doccomment">/// Emit a logical compare instruction.
+ ///
+ /// Computes the bit-wise logical AND of first operand and the second operand and sets the
+ /// `SF`, `ZF`, and `PF` status flags, the result is discarded.
+ </span><span class="kw">fn </span>test(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: T, op2: U);
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/add.rs.html b/src/juicebox_asm/insn/add.rs.html
new file mode 100644
index 0000000..eb5d35f
--- /dev/null
+++ b/src/juicebox_asm/insn/add.rs.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/add.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>add.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Add&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: Reg64) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x01</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Add&lt;Reg32, Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>add(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32, op2: Reg32) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x01</span>, op1, op2);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/dec.rs.html b/src/juicebox_asm/insn/dec.rs.html
new file mode 100644
index 0000000..4cf1c5e
--- /dev/null
+++ b/src/juicebox_asm/insn/dec.rs.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/dec.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>dec.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Dec&lt;Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64) {
+ <span class="self">self</span>.encode_r(<span class="number">0xff</span>, <span class="number">1</span>, op1);
+ }
+}
+
+<span class="kw">impl </span>Dec&lt;Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>dec(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32) {
+ <span class="self">self</span>.encode_r(<span class="number">0xff</span>, <span class="number">1</span>, op1);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/jmp.rs.html b/src/juicebox_asm/insn/jmp.rs.html
new file mode 100644
index 0000000..f3e4859
--- /dev/null
+++ b/src/juicebox_asm/insn/jmp.rs.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/jmp.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>jmp.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Jmp&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>jmp(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="self">self</span>.encode_jmp_label(<span class="kw-2">&amp;</span>[<span class="number">0xe9</span>], op1);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/jnz.rs.html b/src/juicebox_asm/insn/jnz.rs.html
new file mode 100644
index 0000000..ac38297
--- /dev/null
+++ b/src/juicebox_asm/insn/jnz.rs.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/jnz.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>jnz.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Jnz&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>jnz(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="self">self</span>.encode_jmp_label(<span class="kw-2">&amp;</span>[<span class="number">0x0f</span>, <span class="number">0x85</span>], op1);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/jz.rs.html b/src/juicebox_asm/insn/jz.rs.html
new file mode 100644
index 0000000..b6f16c1
--- /dev/null
+++ b/src/juicebox_asm/insn/jz.rs.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/jz.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>jz.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Jz&lt;<span class="kw-2">&amp;mut </span>Label&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>jz(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="self">self</span>.encode_jmp_label(<span class="kw-2">&amp;</span>[<span class="number">0x0f</span>, <span class="number">0x84</span>], op1);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/mov.rs.html b/src/juicebox_asm/insn/mov.rs.html
new file mode 100644
index 0000000..ebc9193
--- /dev/null
+++ b/src/juicebox_asm/insn/mov.rs.html
@@ -0,0 +1,212 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/mov.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mov.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="comment">// -- MOV : reg reg
+
+</span><span class="kw">impl </span>Mov&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: Reg64) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg32, Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32, op2: Reg32) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg16, Reg16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg16, op2: Reg16) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg8, Reg8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg8, op2: Reg8) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x88</span>, op1, op2);
+ }
+}
+
+<span class="comment">// -- MOV : mem reg
+
+</span><span class="kw">impl </span>Mov&lt;MemOp, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg64) {
+ <span class="self">self</span>.encode_mr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;MemOp, Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg32) {
+ <span class="self">self</span>.encode_mr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;MemOp, Reg16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg16) {
+ <span class="self">self</span>.encode_mr(<span class="number">0x89</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;MemOp, Reg8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: MemOp, op2: Reg8) {
+ <span class="self">self</span>.encode_mr(<span class="number">0x88</span>, op1, op2);
+ }
+}
+
+<span class="comment">// -- MOV : reg mem
+
+</span><span class="kw">impl </span>Mov&lt;Reg64, MemOp&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: MemOp) {
+ <span class="self">self</span>.encode_rm(<span class="number">0x8b</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg32, MemOp&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32, op2: MemOp) {
+ <span class="self">self</span>.encode_rm(<span class="number">0x8b</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg16, MemOp&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg16, op2: MemOp) {
+ <span class="self">self</span>.encode_rm(<span class="number">0x8b</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg8, MemOp&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg8, op2: MemOp) {
+ <span class="self">self</span>.encode_rm(<span class="number">0x8a</span>, op1, op2);
+ }
+}
+
+<span class="comment">// -- MOV : reg imm
+
+</span><span class="kw">impl </span>Mov&lt;Reg64, Imm64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: Imm64) {
+ <span class="self">self</span>.encode_oi(<span class="number">0xb8</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg32, Imm32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32, op2: Imm32) {
+ <span class="self">self</span>.encode_oi(<span class="number">0xb8</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg16, Imm16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg16, op2: Imm16) {
+ <span class="self">self</span>.encode_oi(<span class="number">0xb8</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Mov&lt;Reg8, Imm8&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>mov(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg8, op2: Imm8) {
+ <span class="self">self</span>.encode_oi(<span class="number">0xb0</span>, op1, op2);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/ret.rs.html b/src/juicebox_asm/insn/ret.rs.html
new file mode 100644
index 0000000..a1ae96b
--- /dev/null
+++ b/src/juicebox_asm/insn/ret.rs.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/ret.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>ret.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::Asm;
+
+<span class="kw">impl </span>Asm {
+ <span class="kw">pub fn </span>ret(<span class="kw-2">&amp;mut </span><span class="self">self</span>) {
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[<span class="number">0xc3</span>]);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/insn/test.rs.html b/src/juicebox_asm/insn/test.rs.html
new file mode 100644
index 0000000..e158f34
--- /dev/null
+++ b/src/juicebox_asm/insn/test.rs.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/insn/test.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>test.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../../source-files.js"></script><script defer src="../../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../../juicebox_asm/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+</pre><pre class="rust"><code><span class="kw">use </span><span class="kw">crate</span>::prelude::<span class="kw-2">*</span>;
+
+<span class="kw">impl </span>Test&lt;Reg64, Reg64&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>test(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg64, op2: Reg64) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x85</span>, op1, op2);
+ }
+}
+
+<span class="kw">impl </span>Test&lt;Reg32, Reg32&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>test(<span class="kw-2">&amp;mut </span><span class="self">self</span>, op1: Reg32, op2: Reg32) {
+ <span class="self">self</span>.encode_rr(<span class="number">0x85</span>, op1, op2);
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/label.rs.html b/src/juicebox_asm/label.rs.html
new file mode 100644
index 0000000..cf7e7ae
--- /dev/null
+++ b/src/juicebox_asm/label.rs.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/label.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>label.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+</pre><pre class="rust"><code><span class="kw">use </span>std::collections::HashSet;
+
+<span class="doccomment">/// A label which is used as target for jump instructions.
+///
+/// ```rust
+/// use juicebox_asm::prelude::*;
+///
+/// let mut lbl = Label::new();
+/// let mut asm = Asm::new();
+///
+/// // Skip the mov instruction.
+/// asm.jmp(&amp;mut lbl);
+/// asm.mov(Reg64::rax, Reg64::rax);
+/// asm.bind(&amp;mut lbl);
+/// ```
+///
+/// # Panics
+///
+/// Panics if the label is dropped while not yet bound, or having unresolved relocations.
+/// This is mainly a safety-guard to detect wrong usage.
+</span><span class="kw">pub struct </span>Label {
+ <span class="doccomment">/// Location of the label. Will be set after the label is bound, else None.
+ </span>location: <span class="prelude-ty">Option</span>&lt;usize&gt;,
+
+ <span class="doccomment">/// Offsets that must be patched with the label location.
+ </span>offsets: HashSet&lt;usize&gt;,
+}
+
+<span class="kw">impl </span>Label {
+ <span class="doccomment">/// Create a new `unbound` [Label].
+ </span><span class="kw">pub fn </span>new() -&gt; Label {
+ Label {
+ location: <span class="prelude-val">None</span>,
+ offsets: HashSet::new(),
+ }
+ }
+
+ <span class="doccomment">/// Bind the label to the `location`.
+ </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>bind(<span class="kw-2">&amp;mut </span><span class="self">self</span>, loc: usize) {
+ <span class="comment">// A label can only be bound once!
+ </span><span class="macro">assert!</span>(!<span class="self">self</span>.is_bound());
+
+ <span class="self">self</span>.location = <span class="prelude-val">Some</span>(loc);
+ }
+
+ <span class="doccomment">/// Record an offset that must be patched with the label location.
+ </span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>record_offset(<span class="kw-2">&amp;mut </span><span class="self">self</span>, off: usize) {
+ <span class="self">self</span>.offsets.insert(off);
+ }
+
+ <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>location(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="prelude-ty">Option</span>&lt;usize&gt; {
+ <span class="self">self</span>.location
+ }
+
+ <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn </span>offsets_mut(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="kw-2">&amp;mut </span>HashSet&lt;usize&gt; {
+ <span class="kw-2">&amp;mut </span><span class="self">self</span>.offsets
+ }
+
+ <span class="doccomment">/// Check whether the label is bound to a location.
+ </span><span class="kw">const fn </span>is_bound(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.location.is_some()
+ }
+}
+
+<span class="kw">impl </span>Drop <span class="kw">for </span>Label {
+ <span class="kw">fn </span>drop(<span class="kw-2">&amp;mut </span><span class="self">self</span>) {
+ <span class="comment">// Ensure the label was bound when it is dropped.
+ </span><span class="macro">assert!</span>(<span class="self">self</span>.is_bound());
+ <span class="comment">// Ensure all offsets have been patched when the label is dropped.
+ </span><span class="macro">assert!</span>(<span class="self">self</span>.offsets.is_empty());
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/lib.rs.html b/src/juicebox_asm/lib.rs.html
new file mode 100644
index 0000000..7b17af1
--- /dev/null
+++ b/src/juicebox_asm/lib.rs.html
@@ -0,0 +1,610 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+</pre><pre class="rust"><code><span class="kw">pub mod </span>prelude;
+<span class="kw">pub mod </span>rt;
+
+<span class="kw">mod </span>imm;
+<span class="kw">mod </span>insn;
+<span class="kw">mod </span>label;
+<span class="kw">mod </span>reg;
+
+<span class="kw">use </span>imm::Imm;
+<span class="kw">use </span>label::Label;
+<span class="kw">use </span>reg::Reg;
+<span class="kw">use </span>reg::{Reg16, Reg32, Reg64, Reg8};
+
+<span class="kw">pub enum </span>MemOp {
+ Indirect(Reg64),
+ IndirectDisp(Reg64, i32),
+}
+
+<span class="kw">impl </span>MemOp {
+ <span class="kw">const fn </span>base(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Reg64 {
+ <span class="kw">match </span><span class="self">self </span>{
+ MemOp::Indirect(base) =&gt; <span class="kw-2">*</span>base,
+ MemOp::IndirectDisp(base, ..) =&gt; <span class="kw-2">*</span>base,
+ }
+ }
+}
+
+<span class="doccomment">/// Encode the `REX` byte.
+</span><span class="kw">const fn </span>rex(w: bool, r: u8, x: u8, b: u8) -&gt; u8 {
+ <span class="kw">let </span>w = <span class="kw">if </span>w { <span class="number">1 </span>} <span class="kw">else </span>{ <span class="number">0 </span>};
+ <span class="kw">let </span>r = (r &gt;&gt; <span class="number">3</span>) &amp; <span class="number">1</span>;
+ <span class="kw">let </span>x = (x &gt;&gt; <span class="number">3</span>) &amp; <span class="number">1</span>;
+ <span class="kw">let </span>b = (b &gt;&gt; <span class="number">3</span>) &amp; <span class="number">1</span>;
+ <span class="number">0b0100_0000 </span>| ((w &amp; <span class="number">1</span>) &lt;&lt; <span class="number">3</span>) | (r &lt;&lt; <span class="number">2</span>) | (x &lt;&lt; <span class="number">1</span>) | b
+}
+
+<span class="doccomment">/// Encode the `ModR/M` byte.
+</span><span class="kw">const fn </span>modrm(mod_: u8, reg: u8, rm: u8) -&gt; u8 {
+ ((mod_ &amp; <span class="number">0b11</span>) &lt;&lt; <span class="number">6</span>) | ((reg &amp; <span class="number">0b111</span>) &lt;&lt; <span class="number">3</span>) | (rm &amp; <span class="number">0b111</span>)
+}
+
+<span class="kw">pub struct </span>Asm {
+ buf: Vec&lt;u8&gt;,
+}
+
+<span class="kw">impl </span>Asm {
+ <span class="kw">pub fn </span>new() -&gt; Asm {
+ <span class="kw">let </span>buf = Vec::with_capacity(<span class="number">1024</span>);
+ Asm { buf }
+ }
+
+ <span class="kw">pub fn </span>into_code(<span class="self">self</span>) -&gt; Vec&lt;u8&gt; {
+ <span class="self">self</span>.buf
+ }
+
+ <span class="kw">fn </span>emit(<span class="kw-2">&amp;mut </span><span class="self">self</span>, bytes: <span class="kw-2">&amp;</span>[u8]) {
+ <span class="self">self</span>.buf.extend_from_slice(bytes);
+ }
+
+ <span class="kw">fn </span>emit_optional(<span class="kw-2">&amp;mut </span><span class="self">self</span>, bytes: <span class="kw-2">&amp;</span>[<span class="prelude-ty">Option</span>&lt;u8&gt;]) {
+ <span class="kw">for </span>byte <span class="kw">in </span>bytes.iter().filter_map(|<span class="kw-2">&amp;</span>b| b) {
+ <span class="self">self</span>.buf.push(byte);
+ }
+ }
+
+ <span class="kw">fn </span>emit_at(<span class="kw-2">&amp;mut </span><span class="self">self</span>, pos: usize, bytes: <span class="kw-2">&amp;</span>[u8]) {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(buf) = <span class="self">self</span>.buf.get_mut(pos..pos + bytes.len()) {
+ buf.copy_from_slice(bytes);
+ } <span class="kw">else </span>{
+ <span class="macro">unimplemented!</span>();
+ }
+ }
+
+ <span class="doccomment">/// Bind the [Label] to the current location.
+ </span><span class="kw">pub fn </span>bind(<span class="kw-2">&amp;mut </span><span class="self">self</span>, label: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="comment">// Bind the label to the current offset.
+ </span>label.bind(<span class="self">self</span>.buf.len());
+
+ <span class="comment">// Resolve any pending relocations for the label.
+ </span><span class="self">self</span>.resolve(label);
+ }
+
+ <span class="doccomment">/// If the [Label] is bound, patch any pending relocation.
+ </span><span class="kw">pub fn </span>resolve(<span class="kw-2">&amp;mut </span><span class="self">self</span>, label: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="kw">if let </span><span class="prelude-val">Some</span>(loc) = label.location() {
+ <span class="kw">let </span>loc = i32::try_from(loc).expect(<span class="string">&quot;Label location did not fit into i32.&quot;</span>);
+
+ <span class="comment">// Resolve any pending relocations for the label.
+ </span><span class="kw">for </span>off <span class="kw">in </span>label.offsets_mut().drain() {
+ <span class="comment">// Displacement is relative to the next instruction following the jump.
+ // We record the offset to patch at the first byte of the disp32 therefore we need
+ // to account for that in the disp computation.
+ </span><span class="kw">let </span>disp32 = loc - i32::try_from(off).expect(<span class="string">&quot;Label offset did not fit into i32&quot;</span>) - <span class="number">4 </span><span class="comment">/* account for the disp32 */</span>;
+
+ <span class="comment">// Patch the relocation with the disp32.
+ </span><span class="self">self</span>.emit_at(off, <span class="kw-2">&amp;</span>disp32.to_ne_bytes());
+ }
+ }
+ }
+
+ <span class="comment">// -- Encode utilities.
+
+ </span><span class="kw">fn </span>encode_rr&lt;T: Reg&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, op1: T, op2: T)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeRR&lt;T&gt;,
+ {
+ <span class="comment">// MR operand encoding.
+ // op1 -&gt; modrm.rm
+ // op2 -&gt; modrm.reg
+ </span><span class="kw">let </span>modrm = modrm(
+ <span class="number">0b11</span>, <span class="comment">/* mod */
+ </span>op2.idx(), <span class="comment">/* reg */
+ </span>op1.idx(), <span class="comment">/* rm */
+ </span>);
+
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRR&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRR&lt;T&gt;&gt;::rex(op1, op2);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
+ }
+
+ <span class="kw">fn </span>encode_oi&lt;T: Reg, U: Imm&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, op1: T, op2: U)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeRI&lt;T&gt;,
+ {
+ <span class="kw">let </span>opc = opc + (op1.idx() &amp; <span class="number">0b111</span>);
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::rex(op1);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc]);
+ <span class="self">self</span>.emit(op2.bytes());
+ }
+
+ <span class="kw">fn </span>encode_ri&lt;T: Reg, U: Imm&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, opc_ext: u8, op1: T, op2: U)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeRI&lt;T&gt;,
+ {
+ <span class="comment">// MI operand encoding.
+ // op1 -&gt; modrm.rm
+ // opc extension -&gt; modrm.reg
+ </span><span class="kw">let </span>modrm = modrm(
+ <span class="number">0b11</span>, <span class="comment">/* mod */
+ </span>opc_ext, <span class="comment">/* reg */
+ </span>op1.idx(), <span class="comment">/* rm */
+ </span>);
+
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::rex(op1);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
+ <span class="self">self</span>.emit(op2.bytes());
+ }
+
+ <span class="kw">fn </span>encode_r&lt;T: Reg&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, opc_ext: u8, op1: T)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeRI&lt;T&gt;,
+ {
+ <span class="comment">// M operand encoding.
+ // op1 -&gt; modrm.rm
+ // opc extension -&gt; modrm.reg
+ </span><span class="kw">let </span>modrm = modrm(
+ <span class="number">0b11</span>, <span class="comment">/* mod */
+ </span>opc_ext, <span class="comment">/* reg */
+ </span>op1.idx(), <span class="comment">/* rm */
+ </span>);
+
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeRI&lt;T&gt;&gt;::rex(op1);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
+ }
+
+ <span class="kw">fn </span>encode_mr&lt;T: Reg&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, op1: MemOp, op2: T)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeMR&lt;T&gt;,
+ {
+ <span class="comment">// MR operand encoding.
+ // op1 -&gt; modrm.rm
+ // op2 -&gt; modrm.reg
+ </span><span class="kw">let </span>mode = <span class="kw">match </span>op1 {
+ MemOp::Indirect(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().need_sib() &amp;&amp; !op1.base().is_pc_rel());
+ <span class="number">0b00
+ </span>}
+ MemOp::IndirectDisp(..) =&gt; {
+ <span class="macro">assert!</span>(!op1.base().need_sib());
+ <span class="number">0b10
+ </span>}
+ };
+
+ <span class="kw">let </span>modrm = modrm(
+ mode, <span class="comment">/* mode */
+ </span>op2.idx(), <span class="comment">/* reg */
+ </span>op1.base().idx(), <span class="comment">/* rm */
+ </span>);
+ <span class="kw">let </span>prefix = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeMR&lt;T&gt;&gt;::legacy_prefix();
+ <span class="kw">let </span>rex = &lt;<span class="self">Self </span><span class="kw">as </span>EncodeMR&lt;T&gt;&gt;::rex(<span class="kw-2">&amp;</span>op1, op2);
+
+ <span class="self">self</span>.emit_optional(<span class="kw-2">&amp;</span>[prefix, rex]);
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[opc, modrm]);
+ <span class="kw">if let </span>MemOp::IndirectDisp(<span class="kw">_</span>, disp) = op1 {
+ <span class="self">self</span>.emit(<span class="kw-2">&amp;</span>disp.to_ne_bytes());
+ }
+ }
+
+ <span class="kw">fn </span>encode_rm&lt;T: Reg&gt;(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: u8, op1: T, op2: MemOp)
+ <span class="kw">where
+ </span><span class="self">Self</span>: EncodeMR&lt;T&gt;,
+ {
+ <span class="comment">// RM operand encoding.
+ // op1 -&gt; modrm.reg
+ // op2 -&gt; modrm.rm
+ </span><span class="self">self</span>.encode_mr(opc, op2, op1);
+ }
+
+ <span class="kw">fn </span>encode_jmp_label(<span class="kw-2">&amp;mut </span><span class="self">self</span>, opc: <span class="kw-2">&amp;</span>[u8], op1: <span class="kw-2">&amp;mut </span>Label) {
+ <span class="comment">// Emit the opcode.
+ </span><span class="self">self</span>.emit(opc);
+
+ <span class="comment">// Record relocation offset starting at the first byte of the disp32.
+ </span>op1.record_offset(<span class="self">self</span>.buf.len());
+
+ <span class="comment">// Emit a zeroed disp32, which serves as placeholder for the relocation.
+ </span><span class="self">self</span>.emit(<span class="kw-2">&amp;</span>[<span class="number">0u8</span>; <span class="number">4</span>]);
+
+ <span class="comment">// Resolve any pending relocations for the label.
+ </span><span class="self">self</span>.resolve(op1);
+ }
+}
+
+<span class="comment">// -- Encoder helper.
+
+</span><span class="kw">trait </span>EncodeRR&lt;T: Reg&gt; {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">None
+ </span>}
+
+ <span class="kw">fn </span>rex(op1: T, op2: T) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="kw">if </span>op1.need_rex() || op2.need_rex() {
+ <span class="prelude-val">Some</span>(rex(op1.rexw(), op2.idx(), <span class="number">0</span>, op1.idx()))
+ } <span class="kw">else </span>{
+ <span class="prelude-val">None
+ </span>}
+ }
+}
+
+<span class="kw">impl </span>EncodeRR&lt;Reg8&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeRR&lt;Reg32&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeRR&lt;Reg16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">Some</span>(<span class="number">0x66</span>)
+ }
+}
+<span class="kw">impl </span>EncodeRR&lt;Reg64&gt; <span class="kw">for </span>Asm {}
+
+<span class="kw">trait </span>EncodeRI&lt;T: Reg&gt; {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">None
+ </span>}
+
+ <span class="kw">fn </span>rex(op1: T) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="kw">if </span>op1.need_rex() {
+ <span class="prelude-val">Some</span>(rex(op1.rexw(), <span class="number">0</span>, <span class="number">0</span>, op1.idx()))
+ } <span class="kw">else </span>{
+ <span class="prelude-val">None
+ </span>}
+ }
+}
+
+<span class="kw">impl </span>EncodeRI&lt;Reg8&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeRI&lt;Reg32&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeRI&lt;Reg16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">Some</span>(<span class="number">0x66</span>)
+ }
+}
+<span class="kw">impl </span>EncodeRI&lt;Reg64&gt; <span class="kw">for </span>Asm {}
+
+<span class="kw">trait </span>EncodeMR&lt;T: Reg&gt; {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">None
+ </span>}
+
+ <span class="kw">fn </span>rex(op1: <span class="kw-2">&amp;</span>MemOp, op2: T) -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="kw">if </span>op2.need_rex() || (op1.base().is_ext()) {
+ <span class="prelude-val">Some</span>(rex(op2.rexw(), op2.idx(), <span class="number">0</span>, op1.base().idx()))
+ } <span class="kw">else </span>{
+ <span class="prelude-val">None
+ </span>}
+ }
+}
+
+<span class="kw">impl </span>EncodeMR&lt;Reg8&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeMR&lt;Reg16&gt; <span class="kw">for </span>Asm {
+ <span class="kw">fn </span>legacy_prefix() -&gt; <span class="prelude-ty">Option</span>&lt;u8&gt; {
+ <span class="prelude-val">Some</span>(<span class="number">0x66</span>)
+ }
+}
+<span class="kw">impl </span>EncodeMR&lt;Reg32&gt; <span class="kw">for </span>Asm {}
+<span class="kw">impl </span>EncodeMR&lt;Reg64&gt; <span class="kw">for </span>Asm {}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/prelude.rs.html b/src/juicebox_asm/prelude.rs.html
new file mode 100644
index 0000000..51df87d
--- /dev/null
+++ b/src/juicebox_asm/prelude.rs.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/prelude.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>prelude.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+</pre><pre class="rust"><code><span class="kw">pub use </span><span class="kw">crate</span>::Asm;
+<span class="kw">pub use </span><span class="kw">crate</span>::MemOp;
+
+<span class="kw">pub use </span><span class="kw">crate</span>::imm::{Imm16, Imm32, Imm64, Imm8};
+<span class="kw">pub use </span><span class="kw">crate</span>::label::Label;
+<span class="kw">pub use </span><span class="kw">crate</span>::reg::{Reg16, Reg32, Reg64, Reg8};
+
+<span class="kw">pub use </span><span class="kw">crate</span>::insn::{Add, Dec, Jmp, Jnz, Jz, Mov, Test};
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/reg.rs.html b/src/juicebox_asm/reg.rs.html
new file mode 100644
index 0000000..65ff29e
--- /dev/null
+++ b/src/juicebox_asm/reg.rs.html
@@ -0,0 +1,648 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/reg.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>reg.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
+<a href="#318" id="318">318</a>
+<a href="#319" id="319">319</a>
+<a href="#320" id="320">320</a>
+<a href="#321" id="321">321</a>
+<a href="#322" id="322">322</a>
+<a href="#323" id="323">323</a>
+</pre><pre class="rust"><code><span class="doccomment">/// Trait to interact with register operands.
+</span><span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait </span>Reg {
+ <span class="doccomment">/// Get the raw x64 register code.
+ </span><span class="kw">fn </span>idx(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; u8;
+
+ <span class="doccomment">/// Check if the registers needs the `REX.W` bit.
+ </span><span class="kw">fn </span>rexw(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool;
+
+ <span class="doccomment">/// Check if the register is an extended registers.
+ </span><span class="kw">fn </span>is_ext(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.idx() &gt; <span class="number">7
+ </span>}
+
+ <span class="doccomment">/// Check if the register requires a `REX` byte.
+ </span><span class="kw">fn </span>need_rex(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.is_ext() || <span class="self">self</span>.rexw()
+ }
+
+ <span class="doccomment">/// Check if the register requires a `SIB` byte if used as addressing operand.
+ ///
+ /// See [64 bit
+ /// addressing](https://wiki.osdev.org/X86-64_Instruction_Encoding#32.2F64-bit_addressing) for
+ /// further details.
+ </span><span class="kw">fn </span>need_sib(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.idx() == <span class="number">4 </span>|| <span class="self">self</span>.idx() == <span class="number">12
+ </span>}
+
+ <span class="doccomment">/// Check if the register is interpreted as `PC` relative if used as addressing operand.
+ ///
+ /// See [64 bit
+ /// addressing](https://wiki.osdev.org/X86-64_Instruction_Encoding#32.2F64-bit_addressing) for
+ /// further details.
+ </span><span class="kw">fn </span>is_pc_rel(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.idx() == <span class="number">5 </span>|| <span class="self">self</span>.idx() == <span class="number">13
+ </span>}
+}
+
+<span class="macro">macro_rules! </span>impl_reg {
+ (ENUM_ONLY, <span class="macro-nonterminal">$name</span>:ident, { $(<span class="macro-nonterminal">$reg</span>:ident),+ $(,)<span class="question-mark">? </span>}) =&gt; {
+ <span class="doccomment">/// General purpose register operands.
+ </span><span class="attr">#[allow(non_camel_case_types)]
+ #[derive(Copy, Clone)]
+ #[repr(u8)]
+ </span><span class="kw">pub enum </span><span class="macro-nonterminal">$name </span>{
+ $( <span class="macro-nonterminal">$reg</span>, )+
+ }
+
+ <span class="attr">#[cfg(test)]
+ </span><span class="kw">impl </span><span class="macro-nonterminal">$name </span>{
+ <span class="kw">fn </span>iter() -&gt; <span class="kw">impl </span>Iterator&lt;Item = <span class="kw-2">&amp;</span><span class="lifetime">&#39;static </span><span class="macro-nonterminal">$name</span>&gt; {
+ <span class="kw">use </span><span class="macro-nonterminal">$name</span>::<span class="kw-2">*</span>;
+ [$( <span class="macro-nonterminal">$reg</span>, )+].iter()
+ }
+ }
+ };
+
+ (<span class="macro-nonterminal">$name</span>:ident, <span class="macro-nonterminal">$rexw</span>:expr, { $(<span class="macro-nonterminal">$reg</span>:ident),+ $(,)<span class="question-mark">? </span>}) =&gt; {
+ <span class="macro">impl_reg!</span>(ENUM_ONLY, <span class="macro-nonterminal">$name</span>, { $( <span class="macro-nonterminal">$reg</span>, )+ });
+
+ <span class="kw">impl </span>Reg <span class="kw">for </span><span class="macro-nonterminal">$name </span>{
+ <span class="doccomment">/// Get the raw x64 register code.
+ </span><span class="kw">fn </span>idx(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; u8 {
+ <span class="kw-2">*</span><span class="self">self </span><span class="kw">as </span>u8
+ }
+
+ <span class="doccomment">/// Check if the registers needs the `REX.W` bit.
+ </span><span class="kw">fn </span>rexw(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="macro-nonterminal">$rexw
+ </span>}
+ }
+ }
+}
+
+<span class="macro">impl_reg!</span>(Reg64, <span class="bool-val">true</span>, { rax, rcx, rdx, rbx, rsp, rbp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15 });
+<span class="macro">impl_reg!</span>(Reg32, <span class="bool-val">false</span>, { eax, ecx, edx, ebx, esp, ebp, esi, edi, r8d, r9d, r10d, r11d, r12d, r13d, r14d, r15d });
+<span class="macro">impl_reg!</span>(Reg16, <span class="bool-val">false</span>, { ax, cx, dx, bx, sp, bp, si, di, r8w, r9w, r10w, r11w, r12w, r13w, r14w, r15w });
+<span class="macro">impl_reg!</span>(ENUM_ONLY,
+ Reg8, { al, cl, dl, bl, spl, bpl, sil, dil, r8l, r9l, r10l, r11l, r12l, r13l, r14l, r15l,
+ ah, ch, dh, bh });
+
+<span class="kw">impl </span>Reg <span class="kw">for </span>Reg8 {
+ <span class="doccomment">/// Get the raw x64 register code.
+ </span><span class="kw">fn </span>idx(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; u8 {
+ <span class="kw">match </span><span class="self">self </span>{
+ Reg8::ah =&gt; <span class="number">4</span>,
+ Reg8::ch =&gt; <span class="number">5</span>,
+ Reg8::dh =&gt; <span class="number">6</span>,
+ Reg8::bh =&gt; <span class="number">7</span>,
+ <span class="kw">_ </span>=&gt; <span class="kw-2">*</span><span class="self">self </span><span class="kw">as </span>u8,
+ }
+ }
+
+ <span class="doccomment">/// Check if the registers needs the `REX.W` bit.
+ </span><span class="kw">fn </span>rexw(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="bool-val">false
+ </span>}
+
+ <span class="doccomment">/// Check whether the gp register needs a `REX` prefix
+ /// Check if the register requires a `REX` byte.
+ ///
+ /// For 1 byte addressing, register indexes `[4:7]` require a `REX` prefix, or else they will
+ /// be decoded as `{AH, CH, DH, BH}` accordingly.
+ ///
+ /// See [Registers](https://wiki.osdev.org/X86-64_Instruction_Encoding#Registers) for
+ /// further details or conduct `Table 3-1. Register Codes` in the *Intel Software Developers
+ /// Manual - Volume 2*.
+ </span><span class="kw">fn </span>need_rex(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+ <span class="self">self</span>.idx() &gt; <span class="number">7 </span>|| <span class="macro">matches!</span>(<span class="self">self</span>, Reg8::spl | Reg8::bpl | Reg8::sil | Reg8::dil)
+ }
+}
+
+<span class="attr">#[cfg(test)]
+</span><span class="kw">mod </span>tests {
+ <span class="kw">use super</span>::<span class="kw-2">*</span>;
+
+ <span class="attr">#[test]
+ </span><span class="kw">fn </span>test_reg8() {
+ <span class="kw">use </span>Reg8::<span class="kw-2">*</span>;
+
+ <span class="kw">for </span>r <span class="kw">in </span>Reg8::iter() {
+ <span class="comment">// Check register index.
+ </span><span class="kw">let </span>idx = <span class="kw">match </span>r {
+ al =&gt; <span class="number">0</span>,
+ cl =&gt; <span class="number">1</span>,
+ dl =&gt; <span class="number">2</span>,
+ bl =&gt; <span class="number">3</span>,
+ spl =&gt; <span class="number">4</span>,
+ bpl =&gt; <span class="number">5</span>,
+ sil =&gt; <span class="number">6</span>,
+ dil =&gt; <span class="number">7</span>,
+ r8l =&gt; <span class="number">8</span>,
+ r9l =&gt; <span class="number">9</span>,
+ r10l =&gt; <span class="number">10</span>,
+ r11l =&gt; <span class="number">11</span>,
+ r12l =&gt; <span class="number">12</span>,
+ r13l =&gt; <span class="number">13</span>,
+ r14l =&gt; <span class="number">14</span>,
+ r15l =&gt; <span class="number">15</span>,
+ ah =&gt; <span class="number">4</span>,
+ ch =&gt; <span class="number">5</span>,
+ dh =&gt; <span class="number">6</span>,
+ bh =&gt; <span class="number">7</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.idx(), idx);
+
+ <span class="comment">// Check REX.W bit.
+ </span><span class="macro">assert_eq!</span>(r.rexw(), <span class="bool-val">false</span>);
+
+ <span class="comment">// Check need REX byte.
+ </span><span class="kw">let </span>rex = <span class="kw">match </span>r {
+ r8l | r9l | r10l | r11l | r12l | r13l | r14l | r15l | spl | bpl | sil | dil =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_rex(), rex);
+
+ <span class="comment">// Check need SIB byte.
+ </span><span class="kw">let </span>sib = <span class="kw">match </span>r {
+ spl | r12l | ah =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_sib(), sib);
+
+ <span class="comment">// Check if is PC relative addressing.
+ </span><span class="kw">let </span>rel = <span class="kw">match </span>r {
+ bpl | r13l | ch =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.is_pc_rel(), rel);
+ }
+ }
+
+ <span class="attr">#[test]
+ </span><span class="kw">fn </span>test_reg16() {
+ <span class="kw">use </span>Reg16::<span class="kw-2">*</span>;
+
+ <span class="kw">for </span>r <span class="kw">in </span>Reg16::iter() {
+ <span class="comment">// Check register index.
+ </span><span class="kw">let </span>idx = <span class="kw">match </span>r {
+ ax =&gt; <span class="number">0</span>,
+ cx =&gt; <span class="number">1</span>,
+ dx =&gt; <span class="number">2</span>,
+ bx =&gt; <span class="number">3</span>,
+ sp =&gt; <span class="number">4</span>,
+ bp =&gt; <span class="number">5</span>,
+ si =&gt; <span class="number">6</span>,
+ di =&gt; <span class="number">7</span>,
+ r8w =&gt; <span class="number">8</span>,
+ r9w =&gt; <span class="number">9</span>,
+ r10w =&gt; <span class="number">10</span>,
+ r11w =&gt; <span class="number">11</span>,
+ r12w =&gt; <span class="number">12</span>,
+ r13w =&gt; <span class="number">13</span>,
+ r14w =&gt; <span class="number">14</span>,
+ r15w =&gt; <span class="number">15</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.idx(), idx);
+
+ <span class="comment">// Check REX.W bit.
+ </span><span class="macro">assert_eq!</span>(r.rexw(), <span class="bool-val">false</span>);
+
+ <span class="comment">// Check need REX byte.
+ </span><span class="kw">let </span>rex = <span class="kw">match </span>r {
+ r8w | r9w | r10w | r11w | r12w | r13w | r14w | r15w =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_rex(), rex);
+
+ <span class="comment">// Check need SIB byte.
+ </span><span class="kw">let </span>sib = <span class="kw">match </span>r {
+ sp | r12w =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_sib(), sib);
+
+ <span class="comment">// Check if is PC relative addressing.
+ </span><span class="kw">let </span>rel = <span class="kw">match </span>r {
+ bp | r13w =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.is_pc_rel(), rel);
+ }
+ }
+
+ <span class="attr">#[test]
+ </span><span class="kw">fn </span>test_reg32() {
+ <span class="kw">use </span>Reg32::<span class="kw-2">*</span>;
+
+ <span class="kw">for </span>r <span class="kw">in </span>Reg32::iter() {
+ <span class="comment">// Check register index.
+ </span><span class="kw">let </span>idx = <span class="kw">match </span>r {
+ eax =&gt; <span class="number">0</span>,
+ ecx =&gt; <span class="number">1</span>,
+ edx =&gt; <span class="number">2</span>,
+ ebx =&gt; <span class="number">3</span>,
+ esp =&gt; <span class="number">4</span>,
+ ebp =&gt; <span class="number">5</span>,
+ esi =&gt; <span class="number">6</span>,
+ edi =&gt; <span class="number">7</span>,
+ r8d =&gt; <span class="number">8</span>,
+ r9d =&gt; <span class="number">9</span>,
+ r10d =&gt; <span class="number">10</span>,
+ r11d =&gt; <span class="number">11</span>,
+ r12d =&gt; <span class="number">12</span>,
+ r13d =&gt; <span class="number">13</span>,
+ r14d =&gt; <span class="number">14</span>,
+ r15d =&gt; <span class="number">15</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.idx(), idx);
+
+ <span class="comment">// Check REX.W bit.
+ </span><span class="macro">assert_eq!</span>(r.rexw(), <span class="bool-val">false</span>);
+
+ <span class="comment">// Check need REX byte.
+ </span><span class="kw">let </span>rex = <span class="kw">match </span>r {
+ r8d | r9d | r10d | r11d | r12d | r13d | r14d | r15d =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_rex(), rex);
+
+ <span class="comment">// Check need SIB byte.
+ </span><span class="kw">let </span>sib = <span class="kw">match </span>r {
+ esp | r12d =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_sib(), sib);
+
+ <span class="comment">// Check if is PC relative addressing.
+ </span><span class="kw">let </span>rel = <span class="kw">match </span>r {
+ ebp | r13d =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.is_pc_rel(), rel);
+ }
+ }
+
+ <span class="attr">#[test]
+ </span><span class="kw">fn </span>test_reg64() {
+ <span class="kw">use </span>Reg64::<span class="kw-2">*</span>;
+
+ <span class="kw">for </span>r <span class="kw">in </span>Reg64::iter() {
+ <span class="comment">// Check register index.
+ </span><span class="kw">let </span>idx = <span class="kw">match </span>r {
+ rax =&gt; <span class="number">0</span>,
+ rcx =&gt; <span class="number">1</span>,
+ rdx =&gt; <span class="number">2</span>,
+ rbx =&gt; <span class="number">3</span>,
+ rsp =&gt; <span class="number">4</span>,
+ rbp =&gt; <span class="number">5</span>,
+ rsi =&gt; <span class="number">6</span>,
+ rdi =&gt; <span class="number">7</span>,
+ r8 =&gt; <span class="number">8</span>,
+ r9 =&gt; <span class="number">9</span>,
+ r10 =&gt; <span class="number">10</span>,
+ r11 =&gt; <span class="number">11</span>,
+ r12 =&gt; <span class="number">12</span>,
+ r13 =&gt; <span class="number">13</span>,
+ r14 =&gt; <span class="number">14</span>,
+ r15 =&gt; <span class="number">15</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.idx(), idx);
+
+ <span class="comment">// Check REX.W bit.
+ </span><span class="macro">assert_eq!</span>(r.rexw(), <span class="bool-val">true</span>);
+
+ <span class="comment">// Check need REX byte.
+ </span><span class="macro">assert_eq!</span>(r.need_rex(), <span class="bool-val">true</span>);
+
+ <span class="comment">// Check need SIB byte.
+ </span><span class="kw">let </span>sib = <span class="kw">match </span>r {
+ rsp | r12 =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.need_sib(), sib);
+
+ <span class="comment">// Check if is PC relative addressing.
+ </span><span class="kw">let </span>rel = <span class="kw">match </span>r {
+ rbp | r13 =&gt; <span class="bool-val">true</span>,
+ <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>,
+ };
+ <span class="macro">assert_eq!</span>(r.is_pc_rel(), rel);
+ }
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/src/juicebox_asm/rt.rs.html b/src/juicebox_asm/rt.rs.html
new file mode 100644
index 0000000..a44e465
--- /dev/null
+++ b/src/juicebox_asm/rt.rs.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/rt.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>rt.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-6827029ac823cab7.css" id="mainThemeStyle"><link rel="stylesheet" id="themeStyle" href="../../static.files/light-ebce58d0a40c3431.css"><link rel="stylesheet" disabled href="../../static.files/dark-f23faae4a2daf9a6.css"><link rel="stylesheet" disabled href="../../static.files/ayu-8af5e100b21cd173.css"><script id="default-settings" ></script><script src="../../static.files/storage-d43fa987303ecbbb.js"></script><script defer src="../../static.files/source-script-5cf2e01a42cc9858.js"></script><script defer src="../../source-files.js"></script><script defer src="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-13285aec31fa243e.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><div class="width-limiter"><nav class="sub"><a class="sub-logo-container" href="../../juicebox_asm/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+</pre><pre class="rust"><code><span class="kw">use </span>core::ffi::c_void;
+<span class="kw">use </span>nix::sys::mman::{mmap, munmap, MapFlags, ProtFlags};
+
+<span class="doccomment">/// A simple `mmap`ed runtime with executable pages.
+</span><span class="kw">pub struct </span>Runtime {
+ buf: <span class="kw-2">*mut </span>c_void,
+ len: usize,
+}
+
+<span class="kw">impl </span>Runtime {
+ <span class="doccomment">/// Create a new [Runtime].
+ </span><span class="kw">pub fn </span>new(code: <span class="kw-2">&amp;</span>[u8]) -&gt; Runtime {
+ <span class="comment">// Allocate a single page.
+ </span><span class="kw">let </span>len = core::num::NonZeroUsize::new(<span class="number">4096</span>).unwrap();
+ <span class="kw">let </span>buf = <span class="kw">unsafe </span>{
+ mmap(
+ <span class="prelude-val">None</span>,
+ len,
+ ProtFlags::PROT_WRITE | ProtFlags::PROT_READ | ProtFlags::PROT_EXEC,
+ MapFlags::MAP_PRIVATE | MapFlags::MAP_ANONYMOUS,
+ <span class="number">0</span>, <span class="comment">/* fd */
+ </span><span class="number">0</span>, <span class="comment">/* off */
+ </span>)
+ .unwrap()
+ };
+ {
+ <span class="comment">// Copy over code.
+ </span><span class="macro">assert!</span>(code.len() &lt; len.get());
+ <span class="kw">unsafe </span>{ std::ptr::copy_nonoverlapping(code.as_ptr(), buf.cast(), len.get()) };
+ }
+
+ Runtime {
+ buf,
+ len: len.get(),
+ }
+ }
+
+ <span class="doccomment">/// Reinterpret the block of code as `F`.
+ </span><span class="attr">#[inline]
+ </span><span class="kw">pub unsafe fn </span>as_fn&lt;F&gt;(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; F {
+ <span class="kw">unsafe </span>{ std::mem::transmute_copy(<span class="kw-2">&amp;</span><span class="self">self</span>.buf) }
+ }
+}
+
+<span class="kw">impl </span>Drop <span class="kw">for </span>Runtime {
+ <span class="kw">fn </span>drop(<span class="kw-2">&amp;mut </span><span class="self">self</span>) {
+ <span class="kw">unsafe </span>{
+ munmap(<span class="self">self</span>.buf, <span class="self">self</span>.len).expect(<span class="string">&quot;Failed to munmap Runtime&quot;</span>);
+ }
+ }
+}
+</code></pre></div>
+</section></div></main><div id="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="juicebox_asm" data-themes="" data-resource-suffix="" data-rustdoc-version="1.67.1 (d5a82bbd2 2023-02-07)" data-search-js="search-444266647c4dba98.js" data-settings-js="settings-bebeae96e00e4617.js" data-settings-css="settings-af96d9e2fc13e081.css" ></div></body></html> \ No newline at end of file
diff --git a/static.files/COPYRIGHT-002d5dd09d9a4f50.txt b/static.files/COPYRIGHT-002d5dd09d9a4f50.txt
new file mode 100644
index 0000000..34e4813
--- /dev/null
+++ b/static.files/COPYRIGHT-002d5dd09d9a4f50.txt
@@ -0,0 +1,46 @@
+These documentation pages include resources by third parties. This copyright
+file applies only to those resources. The following third party resources are
+included, and carry their own copyright notices and license terms:
+
+* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2):
+
+ Copyright (c) 2014, Mozilla Foundation https://mozilla.org/
+ with Reserved Font Name Fira Sans.
+
+ Copyright (c) 2014, Telefonica S.A.
+
+ Licensed under the SIL Open Font License, Version 1.1.
+ See FiraSans-LICENSE.txt.
+
+* rustdoc.css, main.js, and playpen.js:
+
+ Copyright 2015 The Rust Developers.
+ Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or
+ the MIT license (LICENSE-MIT.txt) at your option.
+
+* normalize.css:
+
+ Copyright (c) Nicolas Gallagher and Jonathan Neal.
+ Licensed under the MIT license (see LICENSE-MIT.txt).
+
+* Source Code Pro (SourceCodePro-Regular.ttf.woff2,
+ SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2):
+
+ Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/),
+ with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark
+ of Adobe Systems Incorporated in the United States and/or other countries.
+
+ Licensed under the SIL Open Font License, Version 1.1.
+ See SourceCodePro-LICENSE.txt.
+
+* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2,
+ SourceSerif4-It.ttf.woff2):
+
+ Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name
+ 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United
+ States and/or other countries.
+
+ Licensed under the SIL Open Font License, Version 1.1.
+ See SourceSerif4-LICENSE.md.
+
+This copyright file is intended to be distributed with rustdoc output.
diff --git a/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt b/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt
new file mode 100644
index 0000000..ff9afab
--- /dev/null
+++ b/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt
@@ -0,0 +1,94 @@
+Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A.
+with Reserved Font Name < Fira >,
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 b/static.files/FiraSans-Medium-8f9a781e4970d388.woff2
new file mode 100644
index 0000000..7a1e5fc
--- /dev/null
+++ b/static.files/FiraSans-Medium-8f9a781e4970d388.woff2
Binary files differ
diff --git a/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 b/static.files/FiraSans-Regular-018c141bf0843ffd.woff2
new file mode 100644
index 0000000..e766e06
--- /dev/null
+++ b/static.files/FiraSans-Regular-018c141bf0843ffd.woff2
Binary files differ
diff --git a/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt b/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt
new file mode 100644
index 0000000..16fe87b
--- /dev/null
+++ b/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/static.files/LICENSE-MIT-65090b722b3f6c56.txt b/static.files/LICENSE-MIT-65090b722b3f6c56.txt
new file mode 100644
index 0000000..31aa793
--- /dev/null
+++ b/static.files/LICENSE-MIT-65090b722b3f6c56.txt
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 b/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2
new file mode 100644
index 0000000..1866ad4
--- /dev/null
+++ b/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2
Binary files differ
diff --git a/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt b/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt
new file mode 100644
index 0000000..0bf4668
--- /dev/null
+++ b/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt
@@ -0,0 +1,99 @@
+Copyright (c) 2010, NAVER Corporation (https://www.navercorp.com/),
+
+with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic,
+NanumMyeongjo, Naver NanumMyeongjo, NanumBrush, Naver NanumBrush, NanumPen,
+Naver NanumPen, Naver NanumGothicEco, NanumGothicEco, Naver NanumMyeongjoEco,
+NanumMyeongjoEco, Naver NanumGothicLight, NanumGothicLight, NanumBarunGothic,
+Naver NanumBarunGothic, NanumSquareRound, NanumBarunPen, MaruBuri
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 b/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2
new file mode 100644
index 0000000..462c34e
--- /dev/null
+++ b/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2
Binary files differ
diff --git a/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt b/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt
new file mode 100644
index 0000000..0754257
--- /dev/null
+++ b/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt
@@ -0,0 +1,93 @@
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 b/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2
new file mode 100644
index 0000000..10b558e
--- /dev/null
+++ b/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2
Binary files differ
diff --git a/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 b/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2
new file mode 100644
index 0000000..5ec64ee
--- /dev/null
+++ b/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2
Binary files differ
diff --git a/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 b/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2
new file mode 100644
index 0000000..db57d21
--- /dev/null
+++ b/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2
Binary files differ
diff --git a/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 b/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2
new file mode 100644
index 0000000..1cbc021
--- /dev/null
+++ b/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2
Binary files differ
diff --git a/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md b/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md
new file mode 100644
index 0000000..68ea189
--- /dev/null
+++ b/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md
@@ -0,0 +1,93 @@
+Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 b/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2
new file mode 100644
index 0000000..2db73fe
--- /dev/null
+++ b/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2
Binary files differ
diff --git a/static.files/ayu-8af5e100b21cd173.css b/static.files/ayu-8af5e100b21cd173.css
new file mode 100644
index 0000000..bb44d9a
--- /dev/null
+++ b/static.files/ayu-8af5e100b21cd173.css
@@ -0,0 +1 @@
+ :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--example-line-numbers-border-color:none;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--tooltip-background-color:#314559;--tooltip-color:#c5c5c5;--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--source-sidebar-background-selected:#14191f;--source-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;}h1,h2,h3,h4{color:white;}h1 a{color:#fff;}h4{border:none;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}.item-info code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.sidebar .current,.sidebar a:hover{color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.src-line-numbers .line-highlighted{color:#708090;padding-right:4px;border-right:1px solid #ffb44c;}.search-results a:hover{color:#fff !important;background-color:#3c3c3c;}.search-results a:focus{color:#fff !important;background-color:#3c3c3c;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.sidebar h2 a,.sidebar h3 a{color:white;}body.source .example-wrap pre.rust a{background:#333;}.module-item .stab,.import-item .stab{color:#000;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}pre.rust .lifetime{}pre.rust .kw{}#titles>button:hover,#titles>button.selected{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute{}pre.rust .kw-2,pre.rust .prelude-ty{}#settings-menu>a img{filter:invert(100);}#source-sidebar>.title{color:#fff;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus,#source-sidebar div.files>a.selected{color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file
diff --git a/static.files/clipboard-7571035ce49a181d.svg b/static.files/clipboard-7571035ce49a181d.svg
new file mode 100644
index 0000000..8adbd99
--- /dev/null
+++ b/static.files/clipboard-7571035ce49a181d.svg
@@ -0,0 +1 @@
+<svg width="24" height="25" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg" aria-label="Copy to clipboard"><path d="M18 20h2v3c0 1-1 2-2 2H2c-.998 0-2-1-2-2V5c0-.911.755-1.667 1.667-1.667h5A3.323 3.323 0 0110 0a3.323 3.323 0 013.333 3.333h5C19.245 3.333 20 4.09 20 5v8.333h-2V9H2v14h16v-3zM3 7h14c0-.911-.793-1.667-1.75-1.667H13.5c-.957 0-1.75-.755-1.75-1.666C11.75 2.755 10.957 2 10 2s-1.75.755-1.75 1.667c0 .911-.793 1.666-1.75 1.666H4.75C3.793 5.333 3 6.09 3 7z"/><path d="M4 19h6v2H4zM12 11H4v2h8zM4 17h4v-2H4zM15 15v-3l-4.5 4.5L15 21v-3l8.027-.032L23 15z"/></svg>
diff --git a/static.files/dark-f23faae4a2daf9a6.css b/static.files/dark-f23faae4a2daf9a6.css
new file mode 100644
index 0000000..64d4dec
--- /dev/null
+++ b/static.files/dark-f23faae4a2daf9a6.css
@@ -0,0 +1 @@
+:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--example-line-numbers-border-color:#4a4949;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--source-sidebar-background-selected:#333;--source-sidebar-background-hover:#444;--table-alt-row-background-color:#2A2A2A;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#333;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file
diff --git a/static.files/down-arrow-927217e04c7463ac.svg b/static.files/down-arrow-927217e04c7463ac.svg
new file mode 100644
index 0000000..5d76a64
--- /dev/null
+++ b/static.files/down-arrow-927217e04c7463ac.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="Layer_1" width="128" height="128" enable-background="new 0 0 128 128" version="1.1" viewBox="-30 -20 176 176" xml:space="preserve"><g><line x1="111" x2="64" y1="40.5" y2="87.499" fill="none" stroke="#000000" stroke-linecap="square" stroke-miterlimit="10" stroke-width="12"/><line x1="64" x2="17" y1="87.499" y2="40.5" fill="none" stroke="#000000" stroke-linecap="square" stroke-miterlimit="10" stroke-width="12"/></g></svg> \ No newline at end of file
diff --git a/static.files/favicon-16x16-8b506e7a72182f1c.png b/static.files/favicon-16x16-8b506e7a72182f1c.png
new file mode 100644
index 0000000..ea4b45c
--- /dev/null
+++ b/static.files/favicon-16x16-8b506e7a72182f1c.png
Binary files differ
diff --git a/static.files/favicon-2c020d218678b618.svg b/static.files/favicon-2c020d218678b618.svg
new file mode 100644
index 0000000..8b34b51
--- /dev/null
+++ b/static.files/favicon-2c020d218678b618.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
+<defs>
+ <style type="text/css"><![CDATA[
+ #logo {
+ fill-rule: nonzero;
+ }
+ #logo-teeth {
+ stroke: #000000;
+ stroke-width: 0.92px;
+ }
+ @media (prefers-color-scheme: dark) {
+ #logo {
+ fill: #FFFFFF;
+ fill-rule: nonzero;
+ }
+ #logo-teeth {
+ fill: #FFFFFF;
+ stroke: #FFFFFF;
+ stroke-width: 0.92px;
+ }
+ }
+ ]]></style>
+</defs>
+<path id="logo" d="M15.993,1.54c-7.972,0 -14.461,6.492 -14.461,14.462c0,7.969 6.492,14.461 14.461,14.461c7.97,0 14.462,-6.492 14.462,-14.461c0,-7.97 -6.492,-14.462 -14.462,-14.462Zm-0.021,1.285c0.511,0.013 0.924,0.439 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.01,0 0.019,0.001 0.028,0.001Zm2.178,1.566c3.379,0.633 6.313,2.723 8.016,5.709l-1.123,2.533c-0.193,0.438 0.006,0.952 0.44,1.147l2.16,0.958c0.067,0.675 0.076,1.355 0.025,2.031l-1.202,0c-0.12,0 -0.169,0.08 -0.169,0.196l0,0.551c0,1.297 -0.731,1.582 -1.373,1.652c-0.612,0.07 -1.288,-0.257 -1.374,-0.63c-0.361,-2.029 -0.961,-2.46 -1.909,-3.21c1.178,-0.746 2.401,-1.85 2.401,-3.325c0,-1.594 -1.092,-2.597 -1.835,-3.09c-1.046,-0.688 -2.203,-0.826 -2.515,-0.826l-12.421,0c1.717,-1.918 4.02,-3.218 6.55,-3.696l1.466,1.536c0.33,0.346 0.878,0.361 1.223,0.028l1.64,-1.564Zm-13.522,7.043c0.511,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.951 0.951,-0.951c0.009,0 0.019,0 0.028,0Zm22.685,0.043c0.511,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.01,0 0.019,0 0.028,0.001Zm-20.892,0.153l1.658,0l0,7.477l-3.347,0c-0.414,-1.452 -0.542,-2.97 -0.38,-4.47l2.05,-0.912c0.438,-0.195 0.637,-0.706 0.441,-1.144l-0.422,-0.951Zm6.92,0.079l3.949,0c0.205,0 1.441,0.236 1.441,1.163c0,0.768 -0.948,1.043 -1.728,1.043l-3.665,0l0.003,-2.206Zm0,5.373l3.026,0c0.275,0 1.477,0.079 1.86,1.615c0.119,0.471 0.385,2.007 0.566,2.499c0.18,0.551 0.911,1.652 1.691,1.652l4.938,0c-0.331,0.444 -0.693,0.863 -1.083,1.255l-2.01,-0.432c-0.468,-0.101 -0.93,0.199 -1.031,0.667l-0.477,2.228c-3.104,1.406 -6.672,1.389 -9.762,-0.046l-0.478,-2.228c-0.101,-0.468 -0.56,-0.767 -1.028,-0.667l-1.967,0.423c-0.365,-0.377 -0.704,-0.778 -1.016,-1.2l9.567,0c0.107,0 0.181,-0.018 0.181,-0.119l0,-3.384c0,-0.097 -0.074,-0.119 -0.181,-0.119l-2.799,0l0.003,-2.144Zm-4.415,7.749c0.512,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.429,0.952 -0.951,0.952c-0.522,0 -0.952,-0.43 -0.952,-0.952c0,0 0,0 0,0c0,-0.522 0.43,-0.952 0.952,-0.952c0.009,0 0.018,0.001 0.027,0.001Zm14.089,0.043c0.511,0.015 0.924,0.439 0.923,0.951c0,0.522 -0.429,0.952 -0.951,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.009,0 0.018,0 0.028,0.001Z"/><path id="logo-teeth" d="M29.647,16.002c0,7.49 -6.163,13.653 -13.654,13.653c-7.49,0 -13.654,-6.163 -13.654,-13.653c0,-7.491 6.164,-13.654 13.654,-13.654c7.491,0 13.654,6.163 13.654,13.654Zm-0.257,-1.319l2.13,1.319l-2.13,1.318l1.83,1.71l-2.344,0.878l1.463,2.035l-2.475,0.404l1.04,2.282l-2.506,-0.089l0.575,2.442l-2.441,-0.576l0.089,2.506l-2.283,-1.04l-0.403,2.475l-2.035,-1.462l-0.878,2.343l-1.71,-1.829l-1.319,2.129l-1.318,-2.129l-1.71,1.829l-0.878,-2.343l-2.035,1.462l-0.404,-2.475l-2.282,1.04l0.089,-2.506l-2.442,0.576l0.575,-2.442l-2.505,0.089l1.04,-2.282l-2.475,-0.404l1.462,-2.035l-2.343,-0.878l1.829,-1.71l-2.129,-1.318l2.129,-1.319l-1.829,-1.71l2.343,-0.878l-1.462,-2.035l2.475,-0.404l-1.04,-2.282l2.505,0.089l-0.575,-2.441l2.442,0.575l-0.089,-2.506l2.282,1.04l0.404,-2.475l2.035,1.463l0.878,-2.344l1.71,1.83l1.318,-2.13l1.319,2.13l1.71,-1.83l0.878,2.344l2.035,-1.463l0.403,2.475l2.283,-1.04l-0.089,2.506l2.441,-0.575l-0.575,2.441l2.506,-0.089l-1.04,2.282l2.475,0.404l-1.463,2.035l2.344,0.878l-1.83,1.71Z"/></svg>
diff --git a/static.files/favicon-32x32-422f7d1d52889060.png b/static.files/favicon-32x32-422f7d1d52889060.png
new file mode 100644
index 0000000..69b8613
--- /dev/null
+++ b/static.files/favicon-32x32-422f7d1d52889060.png
Binary files differ
diff --git a/static.files/light-ebce58d0a40c3431.css b/static.files/light-ebce58d0a40c3431.css
new file mode 100644
index 0000000..ec0cb61
--- /dev/null
+++ b/static.files/light-ebce58d0a40c3431.css
@@ -0,0 +1 @@
+:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#F5F5F5;--sidebar-background-color-hover:#E0E0E0;--code-block-background-color:#F5F5F5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-results-alias-color:#000;--search-results-grey-color:#999;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--example-line-numbers-border-color:#c7c7c7;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--source-sidebar-background-selected:#fff;--source-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#F5F5F5;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#eee;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file
diff --git a/static.files/main-c55e1eb52e1886b4.js b/static.files/main-c55e1eb52e1886b4.js
new file mode 100644
index 0000000..0b952c2
--- /dev/null
+++ b/static.files/main-c55e1eb52e1886b4.js
@@ -0,0 +1,8 @@
+"use strict";function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileLocationTitle=document.querySelector(".mobile-topbar h2");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function loadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.type="text/css";link.rel="stylesheet";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadCss(getVar("static-root-path")+getVar("settings-css"));loadScript(getVar("static-root-path")+getVar("settings-js"))};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="<h3 class=\"search-loading\">"+searchState.loadingText+"</h3>";searchState.showResults(search)},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const h3=document.createElement("h3");h3.innerHTML=`<a href="index.html#${id}">${longty}</a>`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const item of filtered){const name=item[0];const desc=item[1];let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();const link=document.createElement("a");link.href=path;link.title=desc;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector("h1.fqn > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=script?script.getAttribute("data-ignore-extern-crates"):"";for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i<count;++i){elems.push(i+1)}const node=document.createElement("pre");addClass(node,"example-line-numbers");node.innerHTML=elems.join("\n");parent.insertBefore(node,x)})};window.rustdoc_remove_line_numbers_from_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}let oldSidebarScrollPosition=null;window.rustdocMobileScrollLock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(window.innerWidth<=window.RUSTDOC_MOBILE_BREAKPOINT){oldSidebarScrollPosition=window.scrollY;document.body.style.width=`${document.body.offsetWidth}px`;document.body.style.position="fixed";document.body.style.top=`-${oldSidebarScrollPosition}px`;if(mobile_topbar){mobile_topbar.style.top=`${oldSidebarScrollPosition}px`;mobile_topbar.style.position="relative"}}else{oldSidebarScrollPosition=null}};window.rustdocMobileScrollUnlock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(oldSidebarScrollPosition!==null){document.body.style.width="";document.body.style.position="";document.body.style.top="";if(mobile_topbar){mobile_topbar.style.top="";mobile_topbar.style.position=""}window.scrollTo(0,oldSidebarScrollPosition);oldSidebarScrollPosition=null}};function showSidebar(){window.hideAllModals(false);window.rustdocMobileScrollLock();const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){window.rustdocMobileScrollUnlock();const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.innerWidth>window.RUSTDOC_MOBILE_BREAKPOINT&&oldSidebarScrollPosition!==null){hideSidebar()}if(window.CURRENT_NOTABLE_ELEMENT){const base=window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE;const force_visible=base.NOTABLE_FORCE_VISIBLE;hideNotable(false);if(force_visible){showNotable(base);base.NOTABLE_FORCE_VISIBLE=true}}});function handleClick(id,f){const elem=document.getElementById(id);if(elem){elem.addEventListener("click",f)}}handleClick(MAIN_ID,()=>{hideSidebar()});onEachLazy(document.getElementsByTagName("a"),el=>{if(el.hash){el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})}});onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showNotable(e){if(!window.NOTABLE_TRAITS){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showNotable() called on page without any notable traits!")}}if(window.CURRENT_NOTABLE_ELEMENT&&window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE===e){return}window.hideAllModals(false);const ty=e.getAttribute("data-ty");const wrapper=document.createElement("div");wrapper.innerHTML="<div class=\"docblock\">"+window.NOTABLE_TRAITS[ty]+"</div>";wrapper.className="notable popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideNotable;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_NOTABLE_ELEMENT=wrapper;window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE=e;wrapper.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!e.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,e)){hideNotable(true)}}}function notableBlurHandler(event){if(window.CURRENT_NOTABLE_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)){setTimeout(()=>hideNotable(false),0)}}function hideNotable(focus){if(window.CURRENT_NOTABLE_ELEMENT){if(window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE){if(focus){window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.focus()}window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_NOTABLE_ELEMENT);window.CURRENT_NOTABLE_ELEMENT=null}}onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.NOTABLE_FORCE_VISIBLE=this.NOTABLE_FORCE_VISIBLE?false:true;if(window.CURRENT_NOTABLE_ELEMENT&&!this.NOTABLE_FORCE_VISIBLE){hideNotable(true)}else{showNotable(this);window.CURRENT_NOTABLE_ELEMENT.setAttribute("tabindex","0");window.CURRENT_NOTABLE_ELEMENT.focus();window.CURRENT_NOTABLE_ELEMENT.onblur=notableBlurHandler}return false};e.onpointerenter=function(ev){if(ev.pointerType!=="mouse"){return}showNotable(this)};e.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!this.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)){hideNotable(true)}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \
+ <a href=\"https://doc.rust-lang.org/rustdoc/\">the rustdoc book</a>.";const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["&#9166;","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"<dt>"+x[0].split(" ").map((y,index)=>((index&1)===0?"<kbd>"+y+"</kbd>":" "+y+" ")).join("")+"</dt><dd>"+x[1]+"</dd>").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";const infos=["Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
+ restrict the search to a given item kind.","Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
+ <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
+ and <code>const</code>.","Search functions by type signature (e.g., <code>vec -&gt; usize</code> or \
+ <code>-&gt; vec</code>)","Search multiple things at once by splitting your query with comma (e.g., \
+ <code>str,u8</code> or <code>String,struct:Vec,test</code>)","You can look for items with an exact name by putting double quotes around \
+ your request: <code>\"string\"</code>","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(x=>"<p>"+x+"</p>").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;container.onclick=event=>{event.preventDefault()};help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=function(switchFocus){hideSidebar();window.hidePopoverMenus();hideNotable(switchFocus)};window.hidePopoverMenus=function(){onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file
diff --git a/static.files/normalize-76eba96aa4d2e634.css b/static.files/normalize-76eba96aa4d2e634.css
new file mode 100644
index 0000000..469959f
--- /dev/null
+++ b/static.files/normalize-76eba96aa4d2e634.css
@@ -0,0 +1,2 @@
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} \ No newline at end of file
diff --git a/static.files/noscript-13285aec31fa243e.css b/static.files/noscript-13285aec31fa243e.css
new file mode 100644
index 0000000..c32e0cb
--- /dev/null
+++ b/static.files/noscript-13285aec31fa243e.css
@@ -0,0 +1 @@
+ #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.source .sidebar{display:none;}.notable-traits{display:none;} \ No newline at end of file
diff --git a/static.files/rust-logo-151179464ae7ed46.svg b/static.files/rust-logo-151179464ae7ed46.svg
new file mode 100644
index 0000000..62424d8
--- /dev/null
+++ b/static.files/rust-logo-151179464ae7ed46.svg
@@ -0,0 +1,61 @@
+<svg version="1.1" height="106" width="106" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="logo" transform="translate(53, 53)">
+ <path id="r" transform="translate(0.5, 0.5)" stroke="black" stroke-width="1" stroke-linejoin="round" d="
+ M -9,-15 H 4 C 12,-15 12,-7 4,-7 H -9 Z
+ M -40,22 H 0 V 11 H -9 V 3 H 1 C 12,3 6,22 15,22 H 40
+ V 3 H 34 V 5 C 34,13 25,12 24,7 C 23,2 19,-2 18,-2 C 33,-10 24,-26 12,-26 H -35
+ V -15 H -25 V 11 H -40 Z" />
+ <g id="gear" mask="url(#holes)">
+ <circle r="43" fill="none" stroke="black" stroke-width="9" />
+ <g id="cogs">
+ <polygon id="cog" stroke="black" stroke-width="3" stroke-linejoin="round" points="46,3 51,0 46,-3" />
+ <use xlink:href="#cog" transform="rotate(11.25)" />
+ <use xlink:href="#cog" transform="rotate(22.50)" />
+ <use xlink:href="#cog" transform="rotate(33.75)" />
+ <use xlink:href="#cog" transform="rotate(45.00)" />
+ <use xlink:href="#cog" transform="rotate(56.25)" />
+ <use xlink:href="#cog" transform="rotate(67.50)" />
+ <use xlink:href="#cog" transform="rotate(78.75)" />
+ <use xlink:href="#cog" transform="rotate(90.00)" />
+ <use xlink:href="#cog" transform="rotate(101.25)" />
+ <use xlink:href="#cog" transform="rotate(112.50)" />
+ <use xlink:href="#cog" transform="rotate(123.75)" />
+ <use xlink:href="#cog" transform="rotate(135.00)" />
+ <use xlink:href="#cog" transform="rotate(146.25)" />
+ <use xlink:href="#cog" transform="rotate(157.50)" />
+ <use xlink:href="#cog" transform="rotate(168.75)" />
+ <use xlink:href="#cog" transform="rotate(180.00)" />
+ <use xlink:href="#cog" transform="rotate(191.25)" />
+ <use xlink:href="#cog" transform="rotate(202.50)" />
+ <use xlink:href="#cog" transform="rotate(213.75)" />
+ <use xlink:href="#cog" transform="rotate(225.00)" />
+ <use xlink:href="#cog" transform="rotate(236.25)" />
+ <use xlink:href="#cog" transform="rotate(247.50)" />
+ <use xlink:href="#cog" transform="rotate(258.75)" />
+ <use xlink:href="#cog" transform="rotate(270.00)" />
+ <use xlink:href="#cog" transform="rotate(281.25)" />
+ <use xlink:href="#cog" transform="rotate(292.50)" />
+ <use xlink:href="#cog" transform="rotate(303.75)" />
+ <use xlink:href="#cog" transform="rotate(315.00)" />
+ <use xlink:href="#cog" transform="rotate(326.25)" />
+ <use xlink:href="#cog" transform="rotate(337.50)" />
+ <use xlink:href="#cog" transform="rotate(348.75)" />
+ </g>
+ <g id="mounts">
+ <polygon id="mount" stroke="black" stroke-width="6" stroke-linejoin="round" points="-7,-42 0,-35 7,-42" />
+ <use xlink:href="#mount" transform="rotate(72)" />
+ <use xlink:href="#mount" transform="rotate(144)" />
+ <use xlink:href="#mount" transform="rotate(216)" />
+ <use xlink:href="#mount" transform="rotate(288)" />
+ </g>
+ </g>
+ <mask id="holes">
+ <rect x="-60" y="-60" width="120" height="120" fill="white"/>
+ <circle id="hole" cy="-40" r="3" />
+ <use xlink:href="#hole" transform="rotate(72)" />
+ <use xlink:href="#hole" transform="rotate(144)" />
+ <use xlink:href="#hole" transform="rotate(216)" />
+ <use xlink:href="#hole" transform="rotate(288)" />
+ </mask>
+</g>
+</svg>
diff --git a/static.files/rustdoc-6827029ac823cab7.css b/static.files/rustdoc-6827029ac823cab7.css
new file mode 100644
index 0000000..2b164e8
--- /dev/null
+++ b/static.files/rustdoc-6827029ac823cab7.css
@@ -0,0 +1 @@
+ @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}h1.fqn{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-left>a,.out-of-band,span.since,a.srclink,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.item-left .stab,.result-name .primitive>i,.result-name .keyword>i{color:var(--main-color);}.content span.enum,.content a.enum,.content span.struct,.content a.struct,.content span.union,.content a.union,.content span.primitive,.content a.primitive,.content span.type,.content a.type,.content span.foreigntype,.content a.foreigntype{color:var(--type-link-color);}.content span.trait,.content a.trait,.content span.traitalias,.content a.traitalias{color:var(--trait-link-color);}.content span.associatedtype,.content a.associatedtype,.content span.constant,.content a.constant,.content span.static,.content a.static{color:var(--assoc-item-link-color);}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod{color:var(--function-link-color);}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:var(--macro-link-color);}.content span.mod,.content a.mod{color:var(--mod-link-color);}.content span.keyword,.content a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}p:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}.source .content{overflow:visible;}.sub-logo-container,.logo-container{line-height:0;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:var(--sidebar-background-color);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.rustdoc.source .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar,#sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#sidebar-toggle>button:hover,#sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#sidebar-toggle){visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;flex-basis:300px;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a,.sidebar .current{color:var(--sidebar-link-color);}.sidebar .current,.sidebar a:hover{background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.mobile-topbar{display:none;}.source .content pre.rust{overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap>pre{margin:0;flex-grow:1;overflow-x:auto;}.rustdoc .example-wrap>pre.example-line-numbers,.rustdoc .example-wrap>pre.src-line-numbers{flex-grow:0;overflow:initial;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.example-line-numbers{border:1px solid;padding:13px 8px;border-top-left-radius:5px;border-bottom-left-radius:5px;border-color:var(--example-line-numbers-border-color);}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);}.src-line-numbers :target{background-color:transparent;border-right:none;padding-right:0;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;}.docblock>:not(pre)>code,.docblock-short>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.source .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.method .where,.fn .where,.where.fmt-newline{display:block;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.source nav.sub{margin:0 0 15px 0;}.source .search-form{margin-left:32px;}a{text-decoration:none;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor{display:initial;}.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap>pre.rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}@-moz-document url-prefix(){#crate-search{padding-left:0px;padding-right:19px;}}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url("down-arrow-927217e04c7463ac.svg");filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div{flex:1;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name span.alias{color:var(--search-results-alias-color);}.search-results .result-name span.grey{color:var(--search-results-grey-color);}.popover{position:absolute;top:100%;right:0;z-index:2;display:block;margin-top:7px;border-radius:3px;border:1px solid var(--border-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;padding:4px;transform:rotate(-45deg);top:-5px;}.popover,.popover::before{background-color:var(--main-background-color);color:var(--main-color);}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{width:fit-content;min-height:36px;display:flex;align-items:center;white-space:pre-wrap;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.docblock .stab{padding:0 0.125em;margin-bottom:0;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.item-left .stab{border-radius:3px;display:inline-block;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;}.example-wrap .tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;border:1px solid var(--border-color);position:absolute;width:max-content;top:-2px;z-index:1;background-color:var(--tooltip-background-color);color:var(--tooltip-color);}.example-wrap .tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;display:none;z-index:1;border:5px solid transparent;border-right-color:var(--tooltip-background-color);}.example-wrap.ignore .tooltip::after{content:"This example is not tested";}.example-wrap.compile_fail .tooltip::after{content:"This example deliberately fails to compile";}.example-wrap.should_panic .tooltip::after{content:"This example panics";}.example-wrap.edition .tooltip::after{content:"This code runs with edition " attr(data-edition);}.example-wrap .tooltip:hover::before,.example-wrap .tooltip:hover::after{display:inline;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.notable-traits{color:inherit;margin-right:15px;position:relative;}.notable-traits:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.notable .docblock{margin:0.25em 0.5em;}.notable .docblock pre,.notable .docblock code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#titles>button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#titles>button>div.count{display:inline-block;font-size:1rem;}#sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#source-sidebar{width:100%;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--source-sidebar-background-hover);}#source-sidebar div.files>a.selected{background-color:var(--source-sidebar-background-selected);}#sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-button>a,#copy-path{width:33px;}#settings-menu>a,#help-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;cursor:default;color:var(--kbd--color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary::after{content:" ►";position:absolute;left:-15px;top:0px;font-size:80%;padding:2px 0px;width:25px;}details[open].dir-entry>summary::after{content:" ▼";}details.dir-entry>summary::-webkit-details-marker,details.dir-entry>summary::marker{display:none;}details.dir-entry>summary{margin:0 0 0 13px;list-style:none;cursor:pointer;position:relative;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.rustdoc-toggle{contain:layout;position:relative;}details.rustdoc-toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.rustdoc-toggle>summary{list-style:none;outline:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{background:url("toggle-plus-1092eb4930d581b0.svg") no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.rustdoc-toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before{background:url("toggle-minus-31bbd6e4c77f5c96.svg") no-repeat top left;}details.rustdoc-toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{width:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.content{margin-left:0px;}.anchor{display:none !important;}#titles>button>div.count{display:block;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.item-table,.item-row,.item-left,.item-right,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.source nav.sub{margin:0;padding:8px;}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.srclink,#copy-path,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle>summary::before,details.rustdoc-toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.rustdoc-toggle>summary,.methods>section,.methods>.rustdoc-toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.impl-items>.rustdoc-toggle[open]:not(:last-child),.methods>.rustdoc-toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#synthetic-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#blanket-implementations-list .impl-items>.rustdoc-toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper:before,.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper:before{top:0;}.scraped-example:not(.expanded) .code-wrapper:after{bottom:0;}.scraped-example .code-wrapper .src-line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .src-line-numbers a,.scraped-example .code-wrapper .src-line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{display:grid;grid-template-columns:max-content auto;width:100%;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;}.example-links ul{margin-bottom:0;} \ No newline at end of file
diff --git a/static.files/scrape-examples-ef1e698c1d417c0c.js b/static.files/scrape-examples-ef1e698c1d417c0c.js
new file mode 100644
index 0000000..ba830e3
--- /dev/null
+++ b/static.files/scrape-examples-ef1e698c1d417c0c.js
@@ -0,0 +1 @@
+"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example,isHidden){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector(".next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>updateScrapedExample(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>updateScrapedExample(el,true))})},{once:true})})})() \ No newline at end of file
diff --git a/static.files/search-444266647c4dba98.js b/static.files/search-444266647c4dba98.js
new file mode 100644
index 0000000..bf59e1d
--- /dev/null
+++ b/static.files/search-444266647c4dba98.js
@@ -0,0 +1 @@
+"use strict";(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("titles").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb}else if(nb!==0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1<s1_len){row[i1]=++i1}while(i2<s2_len){c2=s2.charCodeAt(i2);a=i2;++i2;b=i2;for(i1=0;i1<s1_len;++i1){c=a+(s1.charCodeAt(i1)!==c2?1:0);a=row[i1];b=b<a?(b<c?b+1:c):(a<c?a+1:c);row[i1]=b}}return b}return s1_len+s2_len}function initSearch(rawSearchIndex){const MAX_LEV_DISTANCE=3;const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let currentResults;const ALIASES=Object.create(null);function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i<len;++i){if(itemTypes[i]===typename){return i}}throw new Error("Unknown type filter `"+typename+"`")}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw new Error("`\"` cannot be used in generics")}else if(query.literalSearch){throw new Error("Cannot have more than one literal search element")}else if(parserState.totalElems-parserState.genericsElems>0){throw new Error("Cannot use literal search when there is more than one element")}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("Cannot have empty string element")}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i<len;++i){const pathSegment=pathSegments[i];if(pathSegment.length===0){if(i===0){throw new Error("Paths cannot start with `::`")}else if(i+1===len){throw new Error("Paths cannot end with `::`")}throw new Error("Unexpected `::::`")}}}if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){throw new Error("Found generics without a path")}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}return{name:name,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast:pathSegments[pathSegments.length-1],generics:generics,}}function getIdentEndPosition(parserState){let end=parserState.pos;let foundExclamation=false;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(!isIdentCharacter(c)){if(c==="!"){if(foundExclamation){throw new Error("Cannot have more than one `!` in an ident")}else if(parserState.pos+1<parserState.length&&isIdentCharacter(parserState.userQuery[parserState.pos+1])){throw new Error("`!` can only be at the end of an ident")}foundExclamation=true}else if(isErrorCharacter(c)){throw new Error(`Unexpected \`${c}\``)}else if(isStopCharacter(c)||isSpecialStartCharacter(c)||isSeparatorCharacter(c)){break}else if(c===":"){if(!isPathStart(parserState)){break}parserState.pos+=1;foundExclamation=false}else{throw new Error(`Unexpected \`${c}\``)}}parserState.pos+=1;end=parserState.pos}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];let start=parserState.pos;let end;if(parserState.userQuery[parserState.pos]==="\""){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="<"){if(isInGenerics){throw new Error("Unexpected `<` after `<`")}else if(start>=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c===endChar){break}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;continue}else if(c===":"&&isPathStart(parserState)){throw new Error("Unexpected `::`: paths cannot start with `::`")}else if(c===":"||isEndCharacter(c)){let extra="";if(endChar===">"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos<parserState.pos;++pos){if(!isIdentCharacter(query[pos])&&!isWhitespaceCharacter(query[pos])){throw new Error(`Unexpected \`${query[pos]}\` in type filter`)}}}function parseInput(query,parserState){let c,before;let foundStopChar=true;while(parserState.pos<parserState.length){c=parserState.userQuery[parserState.pos];if(isStopCharacter(c)){foundStopChar=true;if(isSeparatorCharacter(c)){parserState.pos+=1;continue}else if(c==="-"||c===">"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos<parserState.length){c=parserState.userQuery[parserState.pos];if(isReturnArrow(parserState)){parserState.pos+=2;getItemsBefore(query,parserState,query.returned,"");if(query.returned.length===0){throw new Error("Expected at least one item after `->`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.generics.length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row.generics.length>0&&row.generics[0].name===null){return checkGenerics(row.generics[0],elem,defaultLev)}let elem_name;if(elem.generics.length>0&&row.generics.length>=elem.generics.length){const elems=Object.create(null);for(const entry of row.generics){elem_name=entry.name;if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row.generics){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row.name===null){if(row.generics.length>0){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row.name,elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=row.generics.length>0;if(checkGeneric&&row.generics.findIndex(tmp_elem=>tmp_elem.name===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.generics.length>0){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.inputs&&row.type.inputs.length>0){for(const input of row.type.inputs){if(!typePassesFilter(typeFilter,input.ty)){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.output.length>0){const ret=row.type.output;for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty.ty)){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;i<length;++i){if(i+clength>length){break}let lev_total=0;let aborted=false;for(let x=0;x<clength;++x){const lev=levenshtein(path[i+x],contains[x]);if(lev>MAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][lowerQuery];for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}})}const sortFunc=(aaa,bbb)=>{if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,lev){if(lev===0||(!parsedQuery.literalSearch&&lev<=MAX_LEV_DISTANCE)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,lev_add=0,index=-1;const fullId=row.id;const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,index,in_args);addIntoResults(results_returned,fullId,pos,index,returned);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const searchWord=searchWords[pos];if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,-1,0)}return}if(elem.name.length===0){if(row.type!==null){lev=checkGenerics(row.type,elem,MAX_LEV_DISTANCE+1);addIntoResults(results_others,fullId,pos,index,lev)}return}if(elem.fullPath.length>1){lev=checkPath(elem.pathWithoutLast,row);if(lev>MAX_LEV_DISTANCE||(parsedQuery.literalSearch&&lev!==0)){return}else if(lev>0){lev_add=lev/10}}if(searchWord.indexOf(elem.pathLast)>-1||row.normalizedName.indexOf(elem.pathLast)>-1){index=row.normalizedName.indexOf(elem.pathLast)}lev=levenshtein(searchWord,elem.pathLast);if(lev>0&&elem.pathLast.length>2&&searchWord.indexOf(elem.pathLast)>-1){if(elem.pathLast.length<6){lev=1}else{lev=0}}lev+=lev_add;if(lev>MAX_LEV_DISTANCE){return}else if(index!==-1&&elem.fullPath.length<2){lev-=1}if(lev<0){lev=0}addIntoResults(results_others,fullId,pos,index,lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleSingleArg(searchIndex[i],i,elem,results_others,results_in_args,results_returned)}}else if(parsedQuery.returned.length===1){elem=parsedQuery.returned[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){row=searchIndex[i];in_returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_others,row.id,i,-1,in_returned)}}}else if(parsedQuery.foundElems>0){for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleArgs(searchIndex[i],i,results_others)}}}if(parsedQuery.error===null){innerRunQuery()}const ret=createQueryResults(sortResults(results_in_args,true,currentCrate),sortResults(results_returned,true,currentCrate),sortResults(results_others,false,currentCrate),parsedQuery);handleAliases(ret,parsedQuery.original.replace(/"/g,""),filterCrates,currentCrate);if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function validateResult(name,path,keys,parent){if(!keys||!keys.length){return true}for(const key of keys){if(!(name.indexOf(key)>-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" <i>(primitive type)</i>"}else if(type==="keyword"){extra=" <i>(keyword)</i>"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend","<span class=\"grey\"><i>&nbsp;- see&nbsp;</i></span>");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+"<span class=\""+type+"\">"+name+extra+"</span>");link.appendChild(resultName);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.userQuery)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return"<button class=\"selected\">"+text+" <div class=\"count\">("+nbElems+")</div></button>"}return"<button>"+text+" <div class=\"count\">("+nbElems+")</div></button>"}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in&nbsp;<div id=\"crate-search-div\"><select id=\"crate-search\">"+"<option value=\"all crates\">all crates</option>";for(const c of crates_list){crates+=`<option value="${c}" ${c === filterCrates && "selected"}>${c}</option>`}crates+="</select></div>"}let output=`<h1 class="search-results-title">Results${crates}</h1>`;if(results.query.error!==null){output+=`<h3>Query parser error: "${results.query.error}".</h3>`;output+="<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+"</div>";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div>"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="<div id=\"titles\">"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"</div>";currentTab=0}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("titles").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function search(e,forced){if(e){e.preventDefault()}const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&&params["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;return types.map(type=>{let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}return{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:generics,}})}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){const pathIndex=functionSearchType[INPUTS_DATA];inputs=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){const pathIndex=functionSearchType[OUTPUT_DATA];output=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}return{inputs,output,}}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;for(i=0;i<len;++i){lowercasePaths.push({ty:paths[i][0],name:paths[i][1].toLowerCase()});paths[i]={ty:paths[i][0],name:paths[i][1]}}len=itemTypes.length;let lastPath="";for(i=0;i<len;++i){if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase();searchWords.push(word)}else{word="";searchWords.push("")}const row={crate:crate,ty:itemTypes[i],name:itemNames[i],path:itemPaths[i]?itemPaths[i]:lastPath,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom<rect.height){window.scrollBy(0,rect.height)}e.preventDefault()}else if(e.which===37){nextTab(-1);e.preventDefault()}else if(e.which===39){nextTab(1);e.preventDefault()}});searchState.input.addEventListener("keydown",e=>{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&&params.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file
diff --git a/static.files/settings-af96d9e2fc13e081.css b/static.files/settings-af96d9e2fc13e081.css
new file mode 100644
index 0000000..d94744e
--- /dev/null
+++ b/static.files/settings-af96d9e2fc13e081.css
@@ -0,0 +1,3 @@
+.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input,.setting-line .toggle input{margin-right:0.3em;height:1.2rem;width:1.2rem;color:inherit;border:1px solid currentColor;outline:none;-webkit-appearance:none;cursor:pointer;}.setting-line .radio-line input{border-radius:50%;}.setting-line .toggle input:checked{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">\
+ <path d="M7,25L17,32L33,12" fill="none" stroke="black" stroke-width="5"/>\
+ <path d="M7,23L17,30L33,10" fill="none" stroke="white" stroke-width="5"/></svg>');}.setting-line .radio-line input+span,.setting-line .toggle span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;width:100%;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}#settings .setting-line{margin:1.2em 0.6em;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .toggle input:checked{background-color:var(--settings-input-color);}.setting-line .radio-line input:focus,.setting-line .toggle input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover,.setting-line .toggle input:hover{border-color:var(--settings-input-color) !important;} \ No newline at end of file
diff --git a/static.files/settings-bebeae96e00e4617.js b/static.files/settings-bebeae96e00e4617.js
new file mode 100644
index 0000000..4d73ec3
--- /dev/null
+++ b/static.files/settings-bebeae96e00e4617.js
@@ -0,0 +1,13 @@
+"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateSystemTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function handleKey(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey){return}switch(getVirtualKey(ev)){case"Enter":case"Return":case"Space":ev.target.checked=!ev.target.checked;ev.preventDefault();break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme").parentElement,"hidden");removeClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme").parentElement,"hidden");addClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=function(){changeSetting(this.id,this.checked)};toggle.onkeyup=handleKey;toggle.onkeyrelease=handleKey});onEachLazy(settingsElement.getElementsByClassName("select-wrapper"),elem=>{const select=elem.getElementsByTagName("select")[0];const settingId=select.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){select.value=settingValue}select.onchange=function(){changeSetting(this.id,this.value)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){if(useSystem!=="false"){settingValue="system preference"}else{settingValue="light"}}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){output+="<div class=\"setting-line\">";const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\
+<div class="radio-line" id="${js_data_name}">
+ <span class="setting-name">${setting_name}</span>
+<div class="choices">`;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\
+<label for="${full}" class="choice">
+ <input type="radio" name="${js_data_name}"
+ id="${full}" value="${option}"${checked}>
+ <span>${option}</span>
+</label>`});output+="</div></div>"}else{const checked=setting["default"]===true?" checked":"";output+=`\
+<label class="toggle">\
+ <input type="checkbox" id="${js_data_name}"${checked}>\
+ <span class="label">${setting_name}</span>\
+</label>`}output+="</div>"}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`<div class="settings">${buildSettingsPageSections(settings)}</div>`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=function(event){if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file
diff --git a/static.files/source-script-5cf2e01a42cc9858.js b/static.files/source-script-5cf2e01a42cc9858.js
new file mode 100644
index 0000000..f033213
--- /dev/null
+++ b/static.files/source-script-5cf2e01a42cc9858.js
@@ -0,0 +1 @@
+"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;function closeSidebarIfMobile(){if(window.innerWidth<window.RUSTDOC_MOBILE_BREAKPOINT){updateLocalStorage("source-sidebar-show","false")}}function createDirEntry(elem,parent,fullPath,hasFoundFile){const dirEntry=document.createElement("details");const summary=document.createElement("summary");dirEntry.className="dir-entry";fullPath+=elem[NAME_OFFSET]+"/";summary.innerText=elem[NAME_OFFSET];dirEntry.appendChild(summary);const folders=document.createElement("div");folders.className="folders";if(elem[DIRS_OFFSET]){for(const dir of elem[DIRS_OFFSET]){if(createDirEntry(dir,folders,fullPath,false)){dirEntry.open=true;hasFoundFile=true}}}dirEntry.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem[FILES_OFFSET]){for(const file_text of elem[FILES_OFFSET]){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";file.addEventListener("click",closeSidebarIfMobile);const w=window.location.href.split("#")[0];if(!hasFoundFile&&w===file.href){file.className="selected";dirEntry.open=true;hasFoundFile=true}files.appendChild(file)}}dirEntry.appendChild(files);parent.appendChild(dirEntry);return hasFoundFile}function toggleSidebar(){const child=this.parentNode.children[0];if(child.innerText===">"){window.rustdocMobileScrollLock();addClass(document.documentElement,"source-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{window.rustdocMobileScrollUnlock();removeClass(document.documentElement,"source-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){const tmp=to;to=from;from=tmp}let elem=document.getElementById(from);if(!elem){return}const x=document.getElementById(from);if(x){x.scrollIntoView()}onEachLazy(document.getElementsByClassName("src-line-numbers"),e=>{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file
diff --git a/static.files/storage-d43fa987303ecbbb.js b/static.files/storage-d43fa987303ecbbb.js
new file mode 100644
index 0000000..017aff7
--- /dev/null
+++ b/static.files/storage-d43fa987303ecbbb.js
@@ -0,0 +1 @@
+"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");window.RUSTDOC_MOBILE_BREAKPOINT=700;const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}const newHref=savedHref.find(url=>{const m=url.match(/static\.files\/(.*)-[a-f0-9]{16}\.css$/);if(m&&m[1]===newThemeName){return true}const m2=url.match(/\/([^/]*)\.css$/);if(m2&&m2[1].startsWith(newThemeName)){return true}});if(newHref&&newHref!==styleElem.href){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchToSavedTheme()}if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"source-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file
diff --git a/static.files/toggle-minus-31bbd6e4c77f5c96.svg b/static.files/toggle-minus-31bbd6e4c77f5c96.svg
new file mode 100644
index 0000000..7315478
--- /dev/null
+++ b/static.files/toggle-minus-31bbd6e4c77f5c96.svg
@@ -0,0 +1 @@
+<svg width="17" height="17" shape-rendering="crispEdges" stroke="#000" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7"/></svg> \ No newline at end of file
diff --git a/static.files/toggle-plus-1092eb4930d581b0.svg b/static.files/toggle-plus-1092eb4930d581b0.svg
new file mode 100644
index 0000000..08b1703
--- /dev/null
+++ b/static.files/toggle-plus-1092eb4930d581b0.svg
@@ -0,0 +1 @@
+<svg width="17" height="17" shape-rendering="crispEdges" stroke="#000" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7M8.5 12V8.625v0V5"/></svg> \ No newline at end of file
diff --git a/static.files/wheel-5ec35bf9ca753509.svg b/static.files/wheel-5ec35bf9ca753509.svg
new file mode 100644
index 0000000..01da3b2
--- /dev/null
+++ b/static.files/wheel-5ec35bf9ca753509.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="Capa_1" width="27.434" height="29.5" enable-background="new 0 0 27.434 29.5" version="1.1" viewBox="0 0 27.434 29.5" xml:space="preserve"><g><path d="M27.315,18.389c-0.165-0.604-0.509-1.113-0.981-1.459c-0.042-0.144-0.083-0.429-0.015-0.761l0.037-0.177v-0.182V14.8 c0-1.247-0.006-1.277-0.048-1.472c-0.076-0.354-0.035-0.653,0.007-0.803c0.477-0.346,0.828-0.861,0.996-1.476 c0.261-0.956,0.076-2.091-0.508-3.114l-0.591-1.032c-0.746-1.307-1.965-2.119-3.182-2.119c-0.378,0-0.75,0.081-1.085,0.235 c-0.198-0.025-0.554-0.15-0.855-0.389l-0.103-0.082l-0.114-0.065l-1.857-1.067L18.92,3.36l-0.105-0.044 c-0.376-0.154-0.658-0.41-0.768-0.556C17.918,1.172,16.349,0,14.296,0H13.14c-2.043,0-3.608,1.154-3.749,2.721 C9.277,2.862,8.999,3.104,8.633,3.25l-0.1,0.039L8.439,3.341L6.495,4.406L6.363,4.479L6.245,4.573 C5.936,4.82,5.596,4.944,5.416,4.977c-0.314-0.139-0.66-0.21-1.011-0.21c-1.198,0-2.411,0.819-3.165,2.139L0.65,7.938 c-0.412,0.72-0.642,1.521-0.644,2.258c-0.003,0.952,0.362,1.756,1.013,2.256c0.034,0.155,0.061,0.448-0.016,0.786 c-0.038,0.168-0.062,0.28-0.062,1.563c0,1.148,0,1.148,0.015,1.262l0.009,0.073l0.017,0.073c0.073,0.346,0.045,0.643,0.011,0.802 C0.348,17.512-0.01,18.314,0,19.268c0.008,0.729,0.238,1.523,0.648,2.242l0.589,1.031c0.761,1.331,1.967,2.159,3.15,2.159 c0.324,0,0.645-0.064,0.938-0.187c0.167,0.038,0.492,0.156,0.813,0.416l0.11,0.088l0.124,0.07l2.045,1.156l0.102,0.057l0.107,0.043 c0.364,0.147,0.646,0.381,0.766,0.521c0.164,1.52,1.719,2.634,3.745,2.634h1.155c2.037,0,3.598-1.134,3.747-2.675 c0.117-0.145,0.401-0.393,0.774-0.549l0.111-0.047l0.105-0.062l1.96-1.159l0.105-0.062l0.097-0.075 c0.309-0.246,0.651-0.371,0.832-0.402c0.313,0.138,0.662,0.212,1.016,0.212c1.199,0,2.412-0.82,3.166-2.139l0.59-1.032 C27.387,20.48,27.575,19.342,27.315,18.389z M25.274,20.635l-0.59,1.032c-0.438,0.765-1.104,1.251-1.639,1.251 c-0.133,0-0.258-0.029-0.369-0.094c-0.15-0.086-0.346-0.127-0.566-0.127c-0.596,0-1.383,0.295-2.01,0.796l-1.96,1.157 c-1.016,0.425-1.846,1.291-1.846,1.929s-0.898,1.159-1.998,1.159H13.14c-1.1,0-1.998-0.514-1.998-1.141s-0.834-1.477-1.854-1.888 l-2.046-1.157c-0.636-0.511-1.425-0.814-2.006-0.814c-0.202,0-0.379,0.037-0.516,0.115c-0.101,0.057-0.214,0.084-0.333,0.084 c-0.518,0-1.179-0.498-1.62-1.271l-0.591-1.032c-0.545-0.954-0.556-1.983-0.024-2.286c0.532-0.305,0.78-1.432,0.551-2.506 c0,0,0-0.003,0-1.042c0-1.088,0.021-1.18,0.021-1.18c0.238-1.072-0.01-2.203-0.552-2.513C1.631,10.8,1.634,9.765,2.18,8.812 L2.769,7.78c0.438-0.766,1.103-1.251,1.636-1.251c0.131,0,0.255,0.029,0.365,0.092C4.92,6.707,5.114,6.747,5.334,6.747 c0.596,0,1.38-0.296,2.007-0.795l1.944-1.065c1.021-0.407,1.856-1.277,1.856-1.933c0-0.656,0.898-1.192,1.998-1.192h1.156V1.761 c1.1,0,1.998,0.545,1.998,1.211c0,0.667,0.832,1.554,1.849,1.973L20,6.013c0.618,0.489,1.401,0.775,2.012,0.775 c0.24,0,0.454-0.045,0.62-0.139c0.122-0.069,0.259-0.102,0.403-0.102c0.551,0,1.221,0.476,1.653,1.231l0.59,1.032 c0.544,0.953,0.518,2.004-0.062,2.334c-0.577,0.331-0.859,1.48-0.627,2.554c0,0,0.01,0.042,0.01,1.103c0,1.012,0,1.012,0,1.012 c-0.218,1.049,0.068,2.174,0.636,2.498C25.802,18.635,25.819,19.68,25.274,20.635z"/><path d="M13.61,7.611c-3.913,0-7.084,3.173-7.084,7.085c0,3.914,3.171,7.085,7.084,7.085s7.085-3.172,7.085-7.085 C20.695,10.784,17.523,7.611,13.61,7.611z M13.61,20.02c-2.936,0-5.323-2.388-5.323-5.323c0-2.935,2.388-5.323,5.323-5.323 s5.324,2.388,5.324,5.323C18.934,17.632,16.546,20.02,13.61,20.02z"/><path d="M13.682,9.908c-2.602,0-4.718,2.116-4.718,4.718c0,2.601,2.116,4.716,4.718,4.716c2.601,0,4.717-2.115,4.717-4.716 C18.399,12.024,16.283,9.908,13.682,9.908z M13.682,17.581c-1.633,0-2.956-1.323-2.956-2.955s1.323-2.956,2.956-2.956 c1.632,0,2.956,1.324,2.956,2.956S15.314,17.581,13.682,17.581z"/></g></svg> \ No newline at end of file