Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates > by-pkgid > 4e2dbb669434a7691662cb2f0ad38972 > files > 15329

rust-doc-1.28.0-1.mga6.armv7hl.rpm

<!DOCTYPE HTML>
<html lang="en" class="sidebar-visible no-js">
    <head>
        <!-- Book generated using mdBook -->
        <meta charset="UTF-8">
        <title>asm - </title>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="theme-color" content="#ffffff" />

        <base href="../">

        <link rel="stylesheet" href="book.css">
        <link href="https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
        <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500" rel="stylesheet" type="text/css">

        <link rel="shortcut icon" href="favicon.png">

        <!-- Font Awesome -->
        <link rel="stylesheet" href="_FontAwesome/css/font-awesome.css">

        <link rel="stylesheet" href="highlight.css">
        <link rel="stylesheet" href="tomorrow-night.css">
        <link rel="stylesheet" href="ayu-highlight.css">

        <!-- Custom theme stylesheets -->
        

        

    </head>
    <body class="light">
        <!-- Work around some values being stored in localStorage wrapped in quotes -->
        <script type="text/javascript">
            try {
                var theme = localStorage.getItem('mdbook-theme');
                var sidebar = localStorage.getItem('mdbook-sidebar');

                if (theme.startsWith('"') && theme.endsWith('"')) {
                    localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
                }

                if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
                    localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
                }
            } catch (e) { }
        </script>

        <!-- Set the theme before any content is loaded, prevents flash -->
        <script type="text/javascript">
            var theme;
            try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } 
            if (theme === null || theme === undefined) { theme = 'light'; }
            document.body.className = theme;
            document.querySelector('html').className = theme + ' js';
        </script>

        <!-- Hide / unhide sidebar before it is displayed -->
        <script type="text/javascript">
            var html = document.querySelector('html');
            var sidebar = 'hidden';
            if (document.body.clientWidth >= 1080) {
                try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
                sidebar = sidebar || 'visible';
            }
            html.classList.remove('sidebar-visible');
            html.classList.add("sidebar-" + sidebar);
        </script>

        <nav id="sidebar" class="sidebar" aria-label="Table of contents">
            <ol class="chapter"><li class="affix"><a href="the-unstable-book.html">The Unstable Book</a></li><li><a href="compiler-flags.html"><strong aria-hidden="true">1.</strong> Compiler flags</a></li><li><ol class="section"><li><a href="compiler-flags/linker-flavor.html"><strong aria-hidden="true">1.1.</strong> linker_flavor</a></li><li><a href="compiler-flags/profile.html"><strong aria-hidden="true">1.2.</strong> profile</a></li></ol></li><li><a href="language-features.html"><strong aria-hidden="true">2.</strong> Language features</a></li><li><ol class="section"><li><a href="language-features/aarch64-target-feature.html"><strong aria-hidden="true">2.1.</strong> aarch64_target_feature</a></li><li><a href="language-features/abi-msp430-interrupt.html"><strong aria-hidden="true">2.2.</strong> abi_msp430_interrupt</a></li><li><a href="language-features/abi-ptx.html"><strong aria-hidden="true">2.3.</strong> abi_ptx</a></li><li><a href="language-features/abi-thiscall.html"><strong aria-hidden="true">2.4.</strong> abi_thiscall</a></li><li><a href="language-features/abi-unadjusted.html"><strong aria-hidden="true">2.5.</strong> abi_unadjusted</a></li><li><a href="language-features/abi-vectorcall.html"><strong aria-hidden="true">2.6.</strong> abi_vectorcall</a></li><li><a href="language-features/abi-x86-interrupt.html"><strong aria-hidden="true">2.7.</strong> abi_x86_interrupt</a></li><li><a href="language-features/allocator-internals.html"><strong aria-hidden="true">2.8.</strong> allocator_internals</a></li><li><a href="language-features/allow-fail.html"><strong aria-hidden="true">2.9.</strong> allow_fail</a></li><li><a href="language-features/allow-internal-unsafe.html"><strong aria-hidden="true">2.10.</strong> allow_internal_unsafe</a></li><li><a href="language-features/allow-internal-unstable.html"><strong aria-hidden="true">2.11.</strong> allow_internal_unstable</a></li><li><a href="language-features/arbitrary-self-types.html"><strong aria-hidden="true">2.12.</strong> arbitrary_self_types</a></li><li><a href="language-features/arm-target-feature.html"><strong aria-hidden="true">2.13.</strong> arm_target_feature</a></li><li><a href="language-features/asm.html" class="active"><strong aria-hidden="true">2.14.</strong> asm</a></li><li><a href="language-features/associated-type-defaults.html"><strong aria-hidden="true">2.15.</strong> associated_type_defaults</a></li><li><a href="language-features/attr-literals.html"><strong aria-hidden="true">2.16.</strong> attr_literals</a></li><li><a href="language-features/avx512-target-feature.html"><strong aria-hidden="true">2.17.</strong> avx512_target_feature</a></li><li><a href="language-features/box-patterns.html"><strong aria-hidden="true">2.18.</strong> box_patterns</a></li><li><a href="language-features/box-syntax.html"><strong aria-hidden="true">2.19.</strong> box_syntax</a></li><li><a href="language-features/catch-expr.html"><strong aria-hidden="true">2.20.</strong> catch_expr</a></li><li><a href="language-features/cfg-target-has-atomic.html"><strong aria-hidden="true">2.21.</strong> cfg_target_has_atomic</a></li><li><a href="language-features/cfg-target-thread-local.html"><strong aria-hidden="true">2.22.</strong> cfg_target_thread_local</a></li><li><a href="language-features/cfg-target-vendor.html"><strong aria-hidden="true">2.23.</strong> cfg_target_vendor</a></li><li><a href="language-features/compiler-builtins.html"><strong aria-hidden="true">2.24.</strong> compiler_builtins</a></li><li><a href="language-features/concat-idents.html"><strong aria-hidden="true">2.25.</strong> concat_idents</a></li><li><a href="language-features/const-fn.html"><strong aria-hidden="true">2.26.</strong> const_fn</a></li><li><a href="language-features/const-let.html"><strong aria-hidden="true">2.27.</strong> const_let</a></li><li><a href="language-features/crate-in-paths.html"><strong aria-hidden="true">2.28.</strong> crate_in_paths</a></li><li><a href="language-features/crate-visibility-modifier.html"><strong aria-hidden="true">2.29.</strong> crate_visibility_modifier</a></li><li><a href="language-features/custom-attribute.html"><strong aria-hidden="true">2.30.</strong> custom_attribute</a></li><li><a href="language-features/custom-derive.html"><strong aria-hidden="true">2.31.</strong> custom_derive</a></li><li><a href="language-features/decl-macro.html"><strong aria-hidden="true">2.32.</strong> decl_macro</a></li><li><a href="language-features/default-type-parameter-fallback.html"><strong aria-hidden="true">2.33.</strong> default_type_parameter_fallback</a></li><li><a href="language-features/doc-alias.html"><strong aria-hidden="true">2.34.</strong> doc_alias</a></li><li><a href="language-features/doc-cfg.html"><strong aria-hidden="true">2.35.</strong> doc_cfg</a></li><li><a href="language-features/doc-keyword.html"><strong aria-hidden="true">2.36.</strong> doc_keyword</a></li><li><a href="language-features/doc-masked.html"><strong aria-hidden="true">2.37.</strong> doc_masked</a></li><li><a href="language-features/doc-spotlight.html"><strong aria-hidden="true">2.38.</strong> doc_spotlight</a></li><li><a href="language-features/dropck-eyepatch.html"><strong aria-hidden="true">2.39.</strong> dropck_eyepatch</a></li><li><a href="language-features/dropck-parametricity.html"><strong aria-hidden="true">2.40.</strong> dropck_parametricity</a></li><li><a href="language-features/exclusive-range-pattern.html"><strong aria-hidden="true">2.41.</strong> exclusive_range_pattern</a></li><li><a href="language-features/exhaustive-patterns.html"><strong aria-hidden="true">2.42.</strong> exhaustive_patterns</a></li><li><a href="language-features/extern-absolute-paths.html"><strong aria-hidden="true">2.43.</strong> extern_absolute_paths</a></li><li><a href="language-features/extern-in-paths.html"><strong aria-hidden="true">2.44.</strong> extern_in_paths</a></li><li><a href="language-features/extern-prelude.html"><strong aria-hidden="true">2.45.</strong> extern_prelude</a></li><li><a href="language-features/extern-types.html"><strong aria-hidden="true">2.46.</strong> extern_types</a></li><li><a href="language-features/external-doc.html"><strong aria-hidden="true">2.47.</strong> external_doc</a></li><li><a href="language-features/fundamental.html"><strong aria-hidden="true">2.48.</strong> fundamental</a></li><li><a href="language-features/generators.html"><strong aria-hidden="true">2.49.</strong> generators</a></li><li><a href="language-features/generic-associated-types.html"><strong aria-hidden="true">2.50.</strong> generic_associated_types</a></li><li><a href="language-features/global-asm.html"><strong aria-hidden="true">2.51.</strong> global_asm</a></li><li><a href="language-features/hexagon-target-feature.html"><strong aria-hidden="true">2.52.</strong> hexagon_target_feature</a></li><li><a href="language-features/if-while-or-patterns.html"><strong aria-hidden="true">2.53.</strong> if_while_or_patterns</a></li><li><a href="language-features/in-band-lifetimes.html"><strong aria-hidden="true">2.54.</strong> in_band_lifetimes</a></li><li><a href="language-features/infer-outlives-requirements.html"><strong aria-hidden="true">2.55.</strong> infer_outlives_requirements</a></li><li><a href="language-features/intrinsics.html"><strong aria-hidden="true">2.56.</strong> intrinsics</a></li><li><a href="language-features/label-break-value.html"><strong aria-hidden="true">2.57.</strong> label_break_value</a></li><li><a href="language-features/lang-items.html"><strong aria-hidden="true">2.58.</strong> lang_items</a></li><li><a href="language-features/link-args.html"><strong aria-hidden="true">2.59.</strong> link_args</a></li><li><a href="language-features/link-cfg.html"><strong aria-hidden="true">2.60.</strong> link_cfg</a></li><li><a href="language-features/link-llvm-intrinsics.html"><strong aria-hidden="true">2.61.</strong> link_llvm_intrinsics</a></li><li><a href="language-features/linkage.html"><strong aria-hidden="true">2.62.</strong> linkage</a></li><li><a href="language-features/log-syntax.html"><strong aria-hidden="true">2.63.</strong> log_syntax</a></li><li><a href="language-features/macro-at-most-once-rep.html"><strong aria-hidden="true">2.64.</strong> macro_at_most_once_rep</a></li><li><a href="language-features/macro-literal-matcher.html"><strong aria-hidden="true">2.65.</strong> macro_literal_matcher</a></li><li><a href="language-features/macro-vis-matcher.html"><strong aria-hidden="true">2.66.</strong> macro_vis_matcher</a></li><li><a href="language-features/macros-in-extern.html"><strong aria-hidden="true">2.67.</strong> macros_in_extern</a></li><li><a href="language-features/main.html"><strong aria-hidden="true">2.68.</strong> main</a></li><li><a href="language-features/mips-target-feature.html"><strong aria-hidden="true">2.69.</strong> mips_target_feature</a></li><li><a href="language-features/mmx-target-feature.html"><strong aria-hidden="true">2.70.</strong> mmx_target_feature</a></li><li><a href="language-features/naked-functions.html"><strong aria-hidden="true">2.71.</strong> naked_functions</a></li><li><a href="language-features/needs-allocator.html"><strong aria-hidden="true">2.72.</strong> needs_allocator</a></li><li><a href="language-features/needs-panic-runtime.html"><strong aria-hidden="true">2.73.</strong> needs_panic_runtime</a></li><li><a href="language-features/never-type.html"><strong aria-hidden="true">2.74.</strong> never_type</a></li><li><a href="language-features/nll.html"><strong aria-hidden="true">2.75.</strong> nll</a></li><li><a href="language-features/no-core.html"><strong aria-hidden="true">2.76.</strong> no_core</a></li><li><a href="language-features/no-debug.html"><strong aria-hidden="true">2.77.</strong> no_debug</a></li><li><a href="language-features/non-ascii-idents.html"><strong aria-hidden="true">2.78.</strong> non_ascii_idents</a></li><li><a href="language-features/non-exhaustive.html"><strong aria-hidden="true">2.79.</strong> non_exhaustive</a></li><li><a href="language-features/non-modrs-mods.html"><strong aria-hidden="true">2.80.</strong> non_modrs_mods</a></li><li><a href="language-features/omit-gdb-pretty-printer-section.html"><strong aria-hidden="true">2.81.</strong> omit_gdb_pretty_printer_section</a></li><li><a href="language-features/on-unimplemented.html"><strong aria-hidden="true">2.82.</strong> on_unimplemented</a></li><li><a href="language-features/optin-builtin-traits.html"><strong aria-hidden="true">2.83.</strong> optin_builtin_traits</a></li><li><a href="language-features/overlapping-marker-traits.html"><strong aria-hidden="true">2.84.</strong> overlapping_marker_traits</a></li><li><a href="language-features/panic-implementation.html"><strong aria-hidden="true">2.85.</strong> panic_implementation</a></li><li><a href="language-features/panic-runtime.html"><strong aria-hidden="true">2.86.</strong> panic_runtime</a></li><li><a href="language-features/pattern-parentheses.html"><strong aria-hidden="true">2.87.</strong> pattern_parentheses</a></li><li><a href="language-features/platform-intrinsics.html"><strong aria-hidden="true">2.88.</strong> platform_intrinsics</a></li><li><a href="language-features/plugin.html"><strong aria-hidden="true">2.89.</strong> plugin</a></li><li><a href="language-features/plugin-registrar.html"><strong aria-hidden="true">2.90.</strong> plugin_registrar</a></li><li><a href="language-features/powerpc-target-feature.html"><strong aria-hidden="true">2.91.</strong> powerpc_target_feature</a></li><li><a href="language-features/prelude-import.html"><strong aria-hidden="true">2.92.</strong> prelude_import</a></li><li><a href="language-features/proc-macro.html"><strong aria-hidden="true">2.93.</strong> proc_macro</a></li><li><a href="language-features/proc-macro-expr.html"><strong aria-hidden="true">2.94.</strong> proc_macro_expr</a></li><li><a href="language-features/proc-macro-gen.html"><strong aria-hidden="true">2.95.</strong> proc_macro_gen</a></li><li><a href="language-features/proc-macro-mod.html"><strong aria-hidden="true">2.96.</strong> proc_macro_mod</a></li><li><a href="language-features/proc-macro-non-items.html"><strong aria-hidden="true">2.97.</strong> proc_macro_non_items</a></li><li><a href="language-features/proc-macro-path-invoc.html"><strong aria-hidden="true">2.98.</strong> proc_macro_path_invoc</a></li><li><a href="language-features/profiler-runtime.html"><strong aria-hidden="true">2.99.</strong> profiler_runtime</a></li><li><a href="language-features/quote.html"><strong aria-hidden="true">2.100.</strong> quote</a></li><li><a href="language-features/raw-identifiers.html"><strong aria-hidden="true">2.101.</strong> raw_identifiers</a></li><li><a href="language-features/repr-packed.html"><strong aria-hidden="true">2.102.</strong> repr_packed</a></li><li><a href="language-features/repr-simd.html"><strong aria-hidden="true">2.103.</strong> repr_simd</a></li><li><a href="language-features/repr128.html"><strong aria-hidden="true">2.104.</strong> repr128</a></li><li><a href="language-features/rustc-attrs.html"><strong aria-hidden="true">2.105.</strong> rustc_attrs</a></li><li><a href="language-features/rustc-const-unstable.html"><strong aria-hidden="true">2.106.</strong> rustc_const_unstable</a></li><li><a href="language-features/rustc-diagnostic-macros.html"><strong aria-hidden="true">2.107.</strong> rustc_diagnostic_macros</a></li><li><a href="language-features/sanitizer-runtime.html"><strong aria-hidden="true">2.108.</strong> sanitizer_runtime</a></li><li><a href="language-features/simd-ffi.html"><strong aria-hidden="true">2.109.</strong> simd_ffi</a></li><li><a href="language-features/slice-patterns.html"><strong aria-hidden="true">2.110.</strong> slice_patterns</a></li><li><a href="language-features/specialization.html"><strong aria-hidden="true">2.111.</strong> specialization</a></li><li><a href="language-features/sse4a-target-feature.html"><strong aria-hidden="true">2.112.</strong> sse4a_target_feature</a></li><li><a href="language-features/staged-api.html"><strong aria-hidden="true">2.113.</strong> staged_api</a></li><li><a href="language-features/start.html"><strong aria-hidden="true">2.114.</strong> start</a></li><li><a href="language-features/static-nobundle.html"><strong aria-hidden="true">2.115.</strong> static_nobundle</a></li><li><a href="language-features/stmt-expr-attributes.html"><strong aria-hidden="true">2.116.</strong> stmt_expr_attributes</a></li><li><a href="language-features/structural-match.html"><strong aria-hidden="true">2.117.</strong> structural_match</a></li><li><a href="language-features/tbm-target-feature.html"><strong aria-hidden="true">2.118.</strong> tbm_target_feature</a></li><li><a href="language-features/thread-local.html"><strong aria-hidden="true">2.119.</strong> thread_local</a></li><li><a href="language-features/tool-attributes.html"><strong aria-hidden="true">2.120.</strong> tool_attributes</a></li><li><a href="language-features/trace-macros.html"><strong aria-hidden="true">2.121.</strong> trace_macros</a></li><li><a href="language-features/trait-alias.html"><strong aria-hidden="true">2.122.</strong> trait_alias</a></li><li><a href="language-features/trivial-bounds.html"><strong aria-hidden="true">2.123.</strong> trivial_bounds</a></li><li><a href="language-features/type-ascription.html"><strong aria-hidden="true">2.124.</strong> type_ascription</a></li><li><a href="language-features/unboxed-closures.html"><strong aria-hidden="true">2.125.</strong> unboxed_closures</a></li><li><a href="language-features/underscore-imports.html"><strong aria-hidden="true">2.126.</strong> underscore_imports</a></li><li><a href="language-features/unsized-tuple-coercion.html"><strong aria-hidden="true">2.127.</strong> unsized_tuple_coercion</a></li><li><a href="language-features/untagged-unions.html"><strong aria-hidden="true">2.128.</strong> untagged_unions</a></li><li><a href="language-features/unwind-attributes.html"><strong aria-hidden="true">2.129.</strong> unwind_attributes</a></li><li><a href="language-features/use-extern-macros.html"><strong aria-hidden="true">2.130.</strong> use_extern_macros</a></li><li><a href="language-features/used.html"><strong aria-hidden="true">2.131.</strong> used</a></li><li><a href="language-features/wasm-custom-section.html"><strong aria-hidden="true">2.132.</strong> wasm_custom_section</a></li><li><a href="language-features/wasm-import-module.html"><strong aria-hidden="true">2.133.</strong> wasm_import_module</a></li></ol></li><li><a href="library-features.html"><strong aria-hidden="true">3.</strong> Library Features</a></li><li><ol class="section"><li><a href="library-features/align-offset.html"><strong aria-hidden="true">3.1.</strong> align_offset</a></li><li><a href="library-features/alloc.html"><strong aria-hidden="true">3.2.</strong> alloc</a></li><li><a href="library-features/alloc-error-hook.html"><strong aria-hidden="true">3.3.</strong> alloc_error_hook</a></li><li><a href="library-features/alloc-internals.html"><strong aria-hidden="true">3.4.</strong> alloc_internals</a></li><li><a href="library-features/alloc-jemalloc.html"><strong aria-hidden="true">3.5.</strong> alloc_jemalloc</a></li><li><a href="library-features/alloc-system.html"><strong aria-hidden="true">3.6.</strong> alloc_system</a></li><li><a href="library-features/allocator-api.html"><strong aria-hidden="true">3.7.</strong> allocator_api</a></li><li><a href="library-features/array-error-internals.html"><strong aria-hidden="true">3.8.</strong> array_error_internals</a></li><li><a href="library-features/ascii-ctype.html"><strong aria-hidden="true">3.9.</strong> ascii_ctype</a></li><li><a href="library-features/atomic-min-max.html"><strong aria-hidden="true">3.10.</strong> atomic_min_max</a></li><li><a href="library-features/box-into-raw-non-null.html"><strong aria-hidden="true">3.11.</strong> box_into_raw_non_null</a></li><li><a href="library-features/bufreader-buffer.html"><strong aria-hidden="true">3.12.</strong> bufreader_buffer</a></li><li><a href="library-features/bufreader-is-empty.html"><strong aria-hidden="true">3.13.</strong> bufreader_is_empty</a></li><li><a href="library-features/bufreader-seek-relative.html"><strong aria-hidden="true">3.14.</strong> bufreader_seek_relative</a></li><li><a href="library-features/c-void-variant.html"><strong aria-hidden="true">3.15.</strong> c_void_variant</a></li><li><a href="library-features/cell-update.html"><strong aria-hidden="true">3.16.</strong> cell_update</a></li><li><a href="library-features/char-error-internals.html"><strong aria-hidden="true">3.17.</strong> char_error_internals</a></li><li><a href="library-features/coerce-unsized.html"><strong aria-hidden="true">3.18.</strong> coerce_unsized</a></li><li><a href="library-features/compiler-builtins-lib.html"><strong aria-hidden="true">3.19.</strong> compiler_builtins_lib</a></li><li><a href="library-features/concat-idents-macro.html"><strong aria-hidden="true">3.20.</strong> concat_idents_macro</a></li><li><a href="library-features/const-int-ops.html"><strong aria-hidden="true">3.21.</strong> const_int_ops</a></li><li><a href="library-features/const-manually-drop-new.html"><strong aria-hidden="true">3.22.</strong> const_manually_drop_new</a></li><li><a href="library-features/const-slice-as-ptr.html"><strong aria-hidden="true">3.23.</strong> const_slice_as_ptr</a></li><li><a href="library-features/const-slice-len.html"><strong aria-hidden="true">3.24.</strong> const_slice_len</a></li><li><a href="library-features/const-str-as-bytes.html"><strong aria-hidden="true">3.25.</strong> const_str_as_bytes</a></li><li><a href="library-features/const-str-as-ptr.html"><strong aria-hidden="true">3.26.</strong> const_str_as_ptr</a></li><li><a href="library-features/const-str-len.html"><strong aria-hidden="true">3.27.</strong> const_str_len</a></li><li><a href="library-features/const-string-new.html"><strong aria-hidden="true">3.28.</strong> const_string_new</a></li><li><a href="library-features/const-type-id.html"><strong aria-hidden="true">3.29.</strong> const_type_id</a></li><li><a href="library-features/const-vec-new.html"><strong aria-hidden="true">3.30.</strong> const_vec_new</a></li><li><a href="library-features/core-intrinsics.html"><strong aria-hidden="true">3.31.</strong> core_intrinsics</a></li><li><a href="library-features/core-panic.html"><strong aria-hidden="true">3.32.</strong> core_panic</a></li><li><a href="library-features/core-panic-info.html"><strong aria-hidden="true">3.33.</strong> core_panic_info</a></li><li><a href="library-features/core-private-bignum.html"><strong aria-hidden="true">3.34.</strong> core_private_bignum</a></li><li><a href="library-features/core-private-diy-float.html"><strong aria-hidden="true">3.35.</strong> core_private_diy_float</a></li><li><a href="library-features/deadline-api.html"><strong aria-hidden="true">3.36.</strong> deadline_api</a></li><li><a href="library-features/dec2flt.html"><strong aria-hidden="true">3.37.</strong> dec2flt</a></li><li><a href="library-features/decode-utf8.html"><strong aria-hidden="true">3.38.</strong> decode_utf8</a></li><li><a href="library-features/derive-clone-copy.html"><strong aria-hidden="true">3.39.</strong> derive_clone_copy</a></li><li><a href="library-features/derive-eq.html"><strong aria-hidden="true">3.40.</strong> derive_eq</a></li><li><a href="library-features/drain-filter.html"><strong aria-hidden="true">3.41.</strong> drain_filter</a></li><li><a href="library-features/duration-as-u128.html"><strong aria-hidden="true">3.42.</strong> duration_as_u128</a></li><li><a href="library-features/duration-getters.html"><strong aria-hidden="true">3.43.</strong> duration_getters</a></li><li><a href="library-features/error-type-id.html"><strong aria-hidden="true">3.44.</strong> error_type_id</a></li><li><a href="library-features/euclidean-division.html"><strong aria-hidden="true">3.45.</strong> euclidean_division</a></li><li><a href="library-features/exact-chunks.html"><strong aria-hidden="true">3.46.</strong> exact_chunks</a></li><li><a href="library-features/exact-size-is-empty.html"><strong aria-hidden="true">3.47.</strong> exact_size_is_empty</a></li><li><a href="library-features/extra-log-consts.html"><strong aria-hidden="true">3.48.</strong> extra_log_consts</a></li><li><a href="library-features/fd.html"><strong aria-hidden="true">3.49.</strong> fd</a></li><li><a href="library-features/fd-read.html"><strong aria-hidden="true">3.50.</strong> fd_read</a></li><li><a href="library-features/fixed-size-array.html"><strong aria-hidden="true">3.51.</strong> fixed_size_array</a></li><li><a href="library-features/flt2dec.html"><strong aria-hidden="true">3.52.</strong> flt2dec</a></li><li><a href="library-features/fmt-internals.html"><strong aria-hidden="true">3.53.</strong> fmt_internals</a></li><li><a href="library-features/fn-traits.html"><strong aria-hidden="true">3.54.</strong> fn_traits</a></li><li><a href="library-features/fnbox.html"><strong aria-hidden="true">3.55.</strong> fnbox</a></li><li><a href="library-features/future-atomic-orderings.html"><strong aria-hidden="true">3.56.</strong> future_atomic_orderings</a></li><li><a href="library-features/futures-api.html"><strong aria-hidden="true">3.57.</strong> futures_api</a></li><li><a href="library-features/generator-trait.html"><strong aria-hidden="true">3.58.</strong> generator_trait</a></li><li><a href="library-features/get-type-id.html"><strong aria-hidden="true">3.59.</strong> get_type_id</a></li><li><a href="library-features/hashmap-internals.html"><strong aria-hidden="true">3.60.</strong> hashmap_internals</a></li><li><a href="library-features/int-error-internals.html"><strong aria-hidden="true">3.61.</strong> int_error_internals</a></li><li><a href="library-features/int-to-from-bytes.html"><strong aria-hidden="true">3.62.</strong> int_to_from_bytes</a></li><li><a href="library-features/integer-atomics.html"><strong aria-hidden="true">3.63.</strong> integer_atomics</a></li><li><a href="library-features/io.html"><strong aria-hidden="true">3.64.</strong> io</a></li><li><a href="library-features/io-error-internals.html"><strong aria-hidden="true">3.65.</strong> io_error_internals</a></li><li><a href="library-features/ip.html"><strong aria-hidden="true">3.66.</strong> ip</a></li><li><a href="library-features/ip-constructors.html"><strong aria-hidden="true">3.67.</strong> ip_constructors</a></li><li><a href="library-features/iterator-find-map.html"><strong aria-hidden="true">3.68.</strong> iterator_find_map</a></li><li><a href="library-features/iterator-flatten.html"><strong aria-hidden="true">3.69.</strong> iterator_flatten</a></li><li><a href="library-features/libstd-io-internals.html"><strong aria-hidden="true">3.70.</strong> libstd_io_internals</a></li><li><a href="library-features/libstd-sys-internals.html"><strong aria-hidden="true">3.71.</strong> libstd_sys_internals</a></li><li><a href="library-features/libstd-thread-internals.html"><strong aria-hidden="true">3.72.</strong> libstd_thread_internals</a></li><li><a href="library-features/linked-list-extras.html"><strong aria-hidden="true">3.73.</strong> linked_list_extras</a></li><li><a href="library-features/map-entry-replace.html"><strong aria-hidden="true">3.74.</strong> map_entry_replace</a></li><li><a href="library-features/map-get-key-value.html"><strong aria-hidden="true">3.75.</strong> map_get_key_value</a></li><li><a href="library-features/mpsc-select.html"><strong aria-hidden="true">3.76.</strong> mpsc_select</a></li><li><a href="library-features/n16.html"><strong aria-hidden="true">3.77.</strong> n16</a></li><li><a href="library-features/no-more-cas.html"><strong aria-hidden="true">3.78.</strong> no_more_cas</a></li><li><a href="library-features/no-panic-pow.html"><strong aria-hidden="true">3.79.</strong> no_panic_pow</a></li><li><a href="library-features/offset-to.html"><strong aria-hidden="true">3.80.</strong> offset_to</a></li><li><a href="library-features/once-poison.html"><strong aria-hidden="true">3.81.</strong> once_poison</a></li><li><a href="library-features/option-xor.html"><strong aria-hidden="true">3.82.</strong> option_xor</a></li><li><a href="library-features/panic-abort.html"><strong aria-hidden="true">3.83.</strong> panic_abort</a></li><li><a href="library-features/panic-info-message.html"><strong aria-hidden="true">3.84.</strong> panic_info_message</a></li><li><a href="library-features/panic-internals.html"><strong aria-hidden="true">3.85.</strong> panic_internals</a></li><li><a href="library-features/panic-unwind.html"><strong aria-hidden="true">3.86.</strong> panic_unwind</a></li><li><a href="library-features/pattern.html"><strong aria-hidden="true">3.87.</strong> pattern</a></li><li><a href="library-features/pin.html"><strong aria-hidden="true">3.88.</strong> pin</a></li><li><a href="library-features/print-internals.html"><strong aria-hidden="true">3.89.</strong> print_internals</a></li><li><a href="library-features/proc-macro-internals.html"><strong aria-hidden="true">3.90.</strong> proc_macro_internals</a></li><li><a href="library-features/process-exitcode-placeholder.html"><strong aria-hidden="true">3.91.</strong> process_exitcode_placeholder</a></li><li><a href="library-features/process-internals.html"><strong aria-hidden="true">3.92.</strong> process_internals</a></li><li><a href="library-features/profiler-runtime-lib.html"><strong aria-hidden="true">3.93.</strong> profiler_runtime_lib</a></li><li><a href="library-features/ptr-internals.html"><strong aria-hidden="true">3.94.</strong> ptr_internals</a></li><li><a href="library-features/ptr-offset-from.html"><strong aria-hidden="true">3.95.</strong> ptr_offset_from</a></li><li><a href="library-features/ptr-wrapping-offset-from.html"><strong aria-hidden="true">3.96.</strong> ptr_wrapping_offset_from</a></li><li><a href="library-features/range-contains.html"><strong aria-hidden="true">3.97.</strong> range_contains</a></li><li><a href="library-features/range-is-empty.html"><strong aria-hidden="true">3.98.</strong> range_is_empty</a></li><li><a href="library-features/raw.html"><strong aria-hidden="true">3.99.</strong> raw</a></li><li><a href="library-features/rc-downcast.html"><strong aria-hidden="true">3.100.</strong> rc_downcast</a></li><li><a href="library-features/read-initializer.html"><strong aria-hidden="true">3.101.</strong> read_initializer</a></li><li><a href="library-features/refcell-map-split.html"><strong aria-hidden="true">3.102.</strong> refcell_map_split</a></li><li><a href="library-features/refcell-replace-swap.html"><strong aria-hidden="true">3.103.</strong> refcell_replace_swap</a></li><li><a href="library-features/repeat-generic-slice.html"><strong aria-hidden="true">3.104.</strong> repeat_generic_slice</a></li><li><a href="library-features/reverse-bits.html"><strong aria-hidden="true">3.105.</strong> reverse_bits</a></li><li><a href="library-features/rt.html"><strong aria-hidden="true">3.106.</strong> rt</a></li><li><a href="library-features/rustc-private.html"><strong aria-hidden="true">3.107.</strong> rustc_private</a></li><li><a href="library-features/rustc-stack-internals.html"><strong aria-hidden="true">3.108.</strong> rustc_stack_internals</a></li><li><a href="library-features/sanitizer-runtime-lib.html"><strong aria-hidden="true">3.109.</strong> sanitizer_runtime_lib</a></li><li><a href="library-features/set-stdio.html"><strong aria-hidden="true">3.110.</strong> set_stdio</a></li><li><a href="library-features/shrink-to.html"><strong aria-hidden="true">3.111.</strong> shrink_to</a></li><li><a href="library-features/slice-align-to.html"><strong aria-hidden="true">3.112.</strong> slice_align_to</a></li><li><a href="library-features/slice-concat-ext.html"><strong aria-hidden="true">3.113.</strong> slice_concat_ext</a></li><li><a href="library-features/slice-index-methods.html"><strong aria-hidden="true">3.114.</strong> slice_index_methods</a></li><li><a href="library-features/slice-internals.html"><strong aria-hidden="true">3.115.</strong> slice_internals</a></li><li><a href="library-features/slice-sort-by-cached-key.html"><strong aria-hidden="true">3.116.</strong> slice_sort_by_cached_key</a></li><li><a href="library-features/sort-internals.html"><strong aria-hidden="true">3.117.</strong> sort_internals</a></li><li><a href="library-features/std-internals.html"><strong aria-hidden="true">3.118.</strong> std_internals</a></li><li><a href="library-features/stdsimd.html"><strong aria-hidden="true">3.119.</strong> stdsimd</a></li><li><a href="library-features/step-trait.html"><strong aria-hidden="true">3.120.</strong> step_trait</a></li><li><a href="library-features/str-escape.html"><strong aria-hidden="true">3.121.</strong> str_escape</a></li><li><a href="library-features/str-internals.html"><strong aria-hidden="true">3.122.</strong> str_internals</a></li><li><a href="library-features/termination-trait-lib.html"><strong aria-hidden="true">3.123.</strong> termination_trait_lib</a></li><li><a href="library-features/test.html"><strong aria-hidden="true">3.124.</strong> test</a></li><li><a href="library-features/thread-local-internals.html"><strong aria-hidden="true">3.125.</strong> thread_local_internals</a></li><li><a href="library-features/toowned-clone-into.html"><strong aria-hidden="true">3.126.</strong> toowned_clone_into</a></li><li><a href="library-features/transpose-result.html"><strong aria-hidden="true">3.127.</strong> transpose_result</a></li><li><a href="library-features/trusted-len.html"><strong aria-hidden="true">3.128.</strong> trusted_len</a></li><li><a href="library-features/try-from.html"><strong aria-hidden="true">3.129.</strong> try_from</a></li><li><a href="library-features/try-reserve.html"><strong aria-hidden="true">3.130.</strong> try_reserve</a></li><li><a href="library-features/try-trait.html"><strong aria-hidden="true">3.131.</strong> try_trait</a></li><li><a href="library-features/unicode.html"><strong aria-hidden="true">3.132.</strong> unicode</a></li><li><a href="library-features/unicode-internals.html"><strong aria-hidden="true">3.133.</strong> unicode_internals</a></li><li><a href="library-features/unicode-version.html"><strong aria-hidden="true">3.134.</strong> unicode_version</a></li><li><a href="library-features/unsize.html"><strong aria-hidden="true">3.135.</strong> unsize</a></li><li><a href="library-features/update-panic-count.html"><strong aria-hidden="true">3.136.</strong> update_panic_count</a></li><li><a href="library-features/vec-remove-item.html"><strong aria-hidden="true">3.137.</strong> vec_remove_item</a></li><li><a href="library-features/vec-resize-default.html"><strong aria-hidden="true">3.138.</strong> vec_resize_default</a></li><li><a href="library-features/vec-resize-with.html"><strong aria-hidden="true">3.139.</strong> vec_resize_with</a></li><li><a href="library-features/wait-timeout-until.html"><strong aria-hidden="true">3.140.</strong> wait_timeout_until</a></li><li><a href="library-features/wait-until.html"><strong aria-hidden="true">3.141.</strong> wait_until</a></li><li><a href="library-features/windows-c.html"><strong aria-hidden="true">3.142.</strong> windows_c</a></li><li><a href="library-features/windows-file-type-ext.html"><strong aria-hidden="true">3.143.</strong> windows_file_type_ext</a></li><li><a href="library-features/windows-handle.html"><strong aria-hidden="true">3.144.</strong> windows_handle</a></li><li><a href="library-features/windows-net.html"><strong aria-hidden="true">3.145.</strong> windows_net</a></li><li><a href="library-features/windows-stdio.html"><strong aria-hidden="true">3.146.</strong> windows_stdio</a></li><li><a href="library-features/wrapping-int-impl.html"><strong aria-hidden="true">3.147.</strong> wrapping_int_impl</a></li><li><a href="library-features/wrapping-next-power-of-two.html"><strong aria-hidden="true">3.148.</strong> wrapping_next_power_of_two</a></li></ol></li></ol>
        </nav>

        <div id="page-wrapper" class="page-wrapper">

            <div class="page">
                
                <div id="menu-bar" class="menu-bar">
                    <div id="menu-bar-sticky-container">
                        <div class="left-buttons">
                            <button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
                                <i class="fa fa-bars"></i>
                            </button>
                            <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
                                <i class="fa fa-paint-brush"></i>
                            </button>
                            <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
                                <li role="none"><button role="menuitem" class="theme" id="light">Light <span class="default">(default)</span></button></li>
                                <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
                                <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
                                <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
                                <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
                            </ul>
                            
                            <button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
                                <i class="fa fa-search"></i>
                            </button>
                            
                        </div>

                        <h1 class="menu-title"></h1> 

                        <div class="right-buttons">
                            <a href="print.html" title="Print this book" aria-label="Print this book">
                                <i id="print-button" class="fa fa-print"></i>
                            </a>
                        </div>
                    </div>
                </div>

                
                <div id="search-wrapper" class="hidden">
                    <form id="searchbar-outer" class="searchbar-outer">
                        <input type="search" name="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
                    </form>
                    <div id="searchresults-outer" class="searchresults-outer hidden">
                        <div id="searchresults-header" class="searchresults-header"></div>
                        <ul id="searchresults">
                        </ul>
                    </div>
                </div>
                

                <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
                <script type="text/javascript">
                    document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
                    document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
                    Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
                        link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
                    });
                </script>

                <div id="content" class="content">
                    <main>
                        <a class="header" href="language-features/asm.html#asm" id="asm"><h1><code>asm</code></h1></a>
<p>The tracking issue for this feature is: <a href="https://github.com/rust-lang/rust/issues/29722">#29722</a></p>
<hr />
<p>For extremely low-level manipulations and performance reasons, one
might wish to control the CPU directly. Rust supports using inline
assembly to do this via the <code>asm!</code> macro.</p>
<pre><code class="language-rust ignore">asm!(assembly template
   : output operands
   : input operands
   : clobbers
   : options
   );
</code></pre>
<p>Any use of <code>asm</code> is feature gated (requires <code>#![feature(asm)]</code> on the
crate to allow) and of course requires an <code>unsafe</code> block.</p>
<blockquote>
<p><strong>Note</strong>: the examples here are given in x86/x86-64 assembly, but
all platforms are supported.</p>
</blockquote>
<a class="header" href="language-features/asm.html#assembly-template" id="assembly-template"><h2>Assembly template</h2></a>
<p>The <code>assembly template</code> is the only required parameter and must be a
literal string (i.e. <code>&quot;&quot;</code>)</p>
<pre><pre class="playpen"><code class="language-rust">#![feature(asm)]

#[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
fn foo() {
    unsafe {
        asm!(&quot;NOP&quot;);
    }
}

// Other platforms:
#[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
fn foo() { /* ... */ }

fn main() {
    // ...
    foo();
    // ...
}
</code></pre></pre>
<p>(The <code>feature(asm)</code> and <code>#[cfg]</code>s are omitted from now on.)</p>
<p>Output operands, input operands, clobbers and options are all optional
but you must add the right number of <code>:</code> if you skip them:</p>
<pre><pre class="playpen"><code class="language-rust"># #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
# fn main() { unsafe {
asm!(&quot;xor %eax, %eax&quot;
    :
    :
    : &quot;eax&quot;
   );
# } }
# #[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
# fn main() {}
</code></pre></pre>
<p>Whitespace also doesn't matter:</p>
<pre><pre class="playpen"><code class="language-rust"># #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
# fn main() { unsafe {
asm!(&quot;xor %eax, %eax&quot; ::: &quot;eax&quot;);
# } }
# #[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
# fn main() {}
</code></pre></pre>
<a class="header" href="language-features/asm.html#operands" id="operands"><h2>Operands</h2></a>
<p>Input and output operands follow the same format: <code>: &quot;constraints1&quot;(expr1), &quot;constraints2&quot;(expr2), ...&quot;</code>. Output operand
expressions must be mutable lvalues, or not yet assigned:</p>
<pre><pre class="playpen"><code class="language-rust"># #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
fn add(a: i32, b: i32) -&gt; i32 {
    let c: i32;
    unsafe {
        asm!(&quot;add $2, $0&quot;
             : &quot;=r&quot;(c)
             : &quot;0&quot;(a), &quot;r&quot;(b)
             );
    }
    c
}
# #[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
# fn add(a: i32, b: i32) -&gt; i32 { a + b }

fn main() {
    assert_eq!(add(3, 14159), 14162)
}
</code></pre></pre>
<p>If you would like to use real operands in this position, however,
you are required to put curly braces <code>{}</code> around the register that
you want, and you are required to put the specific size of the
operand. This is useful for very low level programming, where
which register you use is important:</p>
<pre><pre class="playpen"><code class="language-rust">
# #![allow(unused_variables)]
#fn main() {
# #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
# unsafe fn read_byte_in(port: u16) -&gt; u8 {
let result: u8;
asm!(&quot;in %dx, %al&quot; : &quot;={al}&quot;(result) : &quot;{dx}&quot;(port));
result
# }
#}</code></pre></pre>
<a class="header" href="language-features/asm.html#clobbers" id="clobbers"><h2>Clobbers</h2></a>
<p>Some instructions modify registers which might otherwise have held
different values so we use the clobbers list to indicate to the
compiler not to assume any values loaded into those registers will
stay valid.</p>
<pre><pre class="playpen"><code class="language-rust"># #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
# fn main() { unsafe {
// Put the value 0x200 in eax:
asm!(&quot;mov $$0x200, %eax&quot; : /* no outputs */ : /* no inputs */ : &quot;eax&quot;);
# } }
# #[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
# fn main() {}
</code></pre></pre>
<p>Input and output registers need not be listed since that information
is already communicated by the given constraints. Otherwise, any other
registers used either implicitly or explicitly should be listed.</p>
<p>If the assembly changes the condition code register <code>cc</code> should be
specified as one of the clobbers. Similarly, if the assembly modifies
memory, <code>memory</code> should also be specified.</p>
<a class="header" href="language-features/asm.html#options" id="options"><h2>Options</h2></a>
<p>The last section, <code>options</code> is specific to Rust. The format is comma
separated literal strings (i.e. <code>:&quot;foo&quot;, &quot;bar&quot;, &quot;baz&quot;</code>). It's used to
specify some extra info about the inline assembly:</p>
<p>Current valid options are:</p>
<ol>
<li><em>volatile</em> - specifying this is analogous to
<code>__asm__ __volatile__ (...)</code> in gcc/clang.</li>
<li><em>alignstack</em> - certain instructions expect the stack to be
aligned a certain way (i.e. SSE) and specifying this indicates to
the compiler to insert its usual stack alignment code</li>
<li><em>intel</em> - use intel syntax instead of the default AT&amp;T.</li>
</ol>
<pre><pre class="playpen"><code class="language-rust"># #![feature(asm)]
# #[cfg(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;))]
# fn main() {
let result: i32;
unsafe {
   asm!(&quot;mov eax, 2&quot; : &quot;={eax}&quot;(result) : : : &quot;intel&quot;)
}
println!(&quot;eax is currently {}&quot;, result);
# }
# #[cfg(not(any(target_arch = &quot;x86&quot;, target_arch = &quot;x86_64&quot;)))]
# fn main() {}
</code></pre></pre>
<a class="header" href="language-features/asm.html#more-information" id="more-information"><h2>More Information</h2></a>
<p>The current implementation of the <code>asm!</code> macro is a direct binding to <a href="http://llvm.org/docs/LangRef.html#inline-assembler-expressions">LLVM's
inline assembler expressions</a>, so be sure to check out <a href="http://llvm.org/docs/LangRef.html#inline-assembler-expressions">their
documentation as well</a> for more information about clobbers,
constraints, etc.</p>
<p>If you need more power and don't mind losing some of the niceties of
<code>asm!</code>, check out <a href="language-features/global-asm.html">global_asm</a>.</p>

                    </main>

                    <nav class="nav-wrapper" aria-label="Page navigation">
                        <!-- Mobile navigation buttons -->
                        
                            <a rel="prev" href="language-features/arm-target-feature.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                                <i class="fa fa-angle-left"></i>
                            </a>
                        

                        
                            <a rel="next" href="language-features/associated-type-defaults.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                                <i class="fa fa-angle-right"></i>
                            </a>
                        

                        <div style="clear: both"></div>
                    </nav>
                </div>
            </div>

            <nav class="nav-wide-wrapper" aria-label="Page navigation">
                
                    <a href="language-features/arm-target-feature.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
                        <i class="fa fa-angle-left"></i>
                    </a>
                

                
                    <a href="language-features/associated-type-defaults.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
                        <i class="fa fa-angle-right"></i>
                    </a>
                
            </nav>

        </div>

        

        

        

        

        
        <script src="searchindex.js" type="text/javascript" charset="utf-8"></script>
        
        
        <script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="searcher.js" type="text/javascript" charset="utf-8"></script>
        

        <script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="highlight.js" type="text/javascript" charset="utf-8"></script>
        <script src="book.js" type="text/javascript" charset="utf-8"></script>

        <!-- Custom JS scripts -->
        

    </body>
</html>