Table of Contents

  1. 1Introduction
    • 1.1Introduction
      • 1.1.1Design Goals
      • 1.1.2Scope
      • 1.1.3Security Considerations
      • 1.1.4Dependencies
    • 1.2Overview
      • 1.2.1Concepts
      • 1.2.2Semantic Phases
  2. 2Structure
    • 2.1Conventions
      • 2.1.1Grammar Notation
      • 2.1.2Auxiliary Notation
      • 2.1.3Vectors
    • 2.2Values
      • 2.2.1Bytes
      • 2.2.2Integers
      • 2.2.3Floating-Point
      • 2.2.4Vectors
      • 2.2.5Names
    • 2.3Types
      • 2.3.1Number Types
      • 2.3.2Vector Types
      • 2.3.3Reference Types
      • 2.3.4Value Types
      • 2.3.5Result Types
      • 2.3.6Function Types
      • 2.3.7Limits
      • 2.3.8Memory Types
      • 2.3.9Table Types
      • 2.3.10Global Types
      • 2.3.11External Types
    • 2.4Instructions
      • 2.4.1Numeric Instructions
      • 2.4.2Vector Instructions
      • 2.4.3Reference Instructions
      • 2.4.4Parametric Instructions
      • 2.4.5Variable Instructions
      • 2.4.6Table Instructions
      • 2.4.7Memory Instructions
      • 2.4.8Control Instructions
      • 2.4.9Expressions
    • 2.5Modules
      • 2.5.1Indices
      • 2.5.2Types
      • 2.5.3Functions
      • 2.5.4Tables
      • 2.5.5Memories
      • 2.5.6Globals
      • 2.5.7Element Segments
      • 2.5.8Data Segments
      • 2.5.9Start Function
      • 2.5.10Exports
      • 2.5.11Imports
  3. 3Validation
    • 3.1Conventions
      • 3.1.1Contexts
      • 3.1.2Prose Notation
      • 3.1.3Formal Notation
    • 3.2Types
      • 3.2.1Limits
      • 3.2.2Block Types
      • 3.2.3Function Types
      • 3.2.4Table Types
      • 3.2.5Memory Types
      • 3.2.6Global Types
      • 3.2.7External Types
      • 3.2.8Import Subtyping
    • 3.3Instructions
      • 3.3.1Numeric Instructions
      • 3.3.2Reference Instructions
      • 3.3.3Vector Instructions
      • 3.3.4Parametric Instructions
      • 3.3.5Variable Instructions
      • 3.3.6Table Instructions
      • 3.3.7Memory Instructions
      • 3.3.8Control Instructions
      • 3.3.9Instruction Sequences
      • 3.3.10Expressions
    • 3.4Modules
      • 3.4.1Functions
      • 3.4.2Tables
      • 3.4.3Memories
      • 3.4.4Globals
      • 3.4.5Element Segments
      • 3.4.6Data Segments
      • 3.4.7Start Function
      • 3.4.8Exports
      • 3.4.9Imports
      • 3.4.10Modules
  4. 4Execution
    • 4.1Conventions
      • 4.1.1Prose Notation
      • 4.1.2Formal Notation
    • 4.2Runtime Structure
      • 4.2.1Values
      • 4.2.2Results
      • 4.2.3Store
      • 4.2.4Addresses
      • 4.2.5Module Instances
      • 4.2.6Function Instances
      • 4.2.7Table Instances
      • 4.2.8Memory Instances
      • 4.2.9Global Instances
      • 4.2.10Element Instances
      • 4.2.11Data Instances
      • 4.2.12Export Instances
      • 4.2.13External Values
      • 4.2.14Stack
      • 4.2.15Administrative Instructions
    • 4.3Numerics
      • 4.3.1Representations
      • 4.3.2Integer Operations
      • 4.3.3Floating-Point Operations
      • 4.3.4Conversions
    • 4.4Instructions
      • 4.4.1Numeric Instructions
      • 4.4.2Reference Instructions
      • 4.4.3Vector Instructions
      • 4.4.4Parametric Instructions
      • 4.4.5Variable Instructions
      • 4.4.6Table Instructions
      • 4.4.7Memory Instructions
      • 4.4.8Control Instructions
      • 4.4.9Blocks
      • 4.4.10Function Calls
      • 4.4.11Expressions
    • 4.5Modules
      • 4.5.1External Typing
      • 4.5.2Value Typing
      • 4.5.3Allocation
      • 4.5.4Instantiation
      • 4.5.5Invocation
  5. 5Binary Format
    • 5.1Conventions
      • 5.1.1Grammar
      • 5.1.2Auxiliary Notation
      • 5.1.3Vectors
    • 5.2Values
      • 5.2.1Bytes
      • 5.2.2Integers
      • 5.2.3Floating-Point
      • 5.2.4Names
    • 5.3Types
      • 5.3.1Number Types
      • 5.3.2Vector Types
      • 5.3.3Reference Types
      • 5.3.4Value Types
      • 5.3.5Result Types
      • 5.3.6Function Types
      • 5.3.7Limits
      • 5.3.8Memory Types
      • 5.3.9Table Types
      • 5.3.10Global Types
    • 5.4Instructions
      • 5.4.1Control Instructions
      • 5.4.2Reference Instructions
      • 5.4.3Parametric Instructions
      • 5.4.4Variable Instructions
      • 5.4.5Table Instructions
      • 5.4.6Memory Instructions
      • 5.4.7Numeric Instructions
      • 5.4.8Vector Instructions
      • 5.4.9Expressions
    • 5.5Modules
      • 5.5.1Indices
      • 5.5.2Sections
      • 5.5.3Custom Section
      • 5.5.4Type Section
      • 5.5.5Import Section
      • 5.5.6Function Section
      • 5.5.7Table Section
      • 5.5.8Memory Section
      • 5.5.9Global Section
      • 5.5.10Export Section
      • 5.5.11Start Section
      • 5.5.12Element Section
      • 5.5.13Code Section
      • 5.5.14Data Section
      • 5.5.15Data Count Section
      • 5.5.16Modules
  6. 6Text Format
    • 6.1Conventions
      • 6.1.1Grammar
      • 6.1.2Abbreviations
      • 6.1.3Contexts
      • 6.1.4Vectors
    • 6.2Lexical Format
      • 6.2.1Characters
      • 6.2.2Tokens
      • 6.2.3White Space
      • 6.2.4Comments
    • 6.3Values
      • 6.3.1Integers
      • 6.3.2Floating-Point
      • 6.3.3Strings
      • 6.3.4Names
      • 6.3.5Identifiers
    • 6.4Types
      • 6.4.1Number Types
      • 6.4.2Vector Types
      • 6.4.3Reference Types
      • 6.4.4Value Types
      • 6.4.5Function Types
      • 6.4.6Limits
      • 6.4.7Memory Types
      • 6.4.8Table Types
      • 6.4.9Global Types
    • 6.5Instructions
      • 6.5.1Labels
      • 6.5.2Control Instructions
      • 6.5.3Reference Instructions
      • 6.5.4Parametric Instructions
      • 6.5.5Variable Instructions
      • 6.5.6Table Instructions
      • 6.5.7Memory Instructions
      • 6.5.8Numeric Instructions
      • 6.5.9Vector Instructions
      • 6.5.10Folded Instructions
      • 6.5.11Expressions
    • 6.6Modules
      • 6.6.1Indices
      • 6.6.2Types
      • 6.6.3Type Uses
      • 6.6.4Imports
      • 6.6.5Functions
      • 6.6.6Tables
      • 6.6.7Memories
      • 6.6.8Globals
      • 6.6.9Exports
      • 6.6.10Start Function
      • 6.6.11Element Segments
      • 6.6.12Data Segments
      • 6.6.13Modules
  7. 7Appendix
    • 7.1Embedding
      • 7.1.1Types
      • 7.1.2Errors
      • 7.1.3Pre- and Post-Conditions
      • 7.1.4Store
      • 7.1.5Modules
      • 7.1.6Module Instances
      • 7.1.7Functions
      • 7.1.8Tables
      • 7.1.9Memories
      • 7.1.10Globals
    • 7.2Implementation Limitations
      • 7.2.1Syntactic Limits
      • 7.2.2Validation
      • 7.2.3Execution
    • 7.3Validation Algorithm
      • 7.3.1Data Structures
      • 7.3.2Validation of Opcode Sequences
    • 7.4Custom Sections
      • 7.4.1Name Section
    • 7.5Soundness
      • 7.5.1Results
      • 7.5.2Store Validity
      • 7.5.3Configuration Validity
      • 7.5.4Administrative Instructions
      • 7.5.5Store Extension
      • 7.5.6Theorems
    • 7.6Change History
      • 7.6.1Release 1.1
W3C Logo

WebAssembly Core Specification

W3C Working Draft 12 April 2022

back to top
  • Index of Types
  • Index of Instructions
  • Index of Semantic Rules

  • Index

Quick search



5 Binary Format¶

  • 5.1 Conventions
    • 5.1.1 Grammar
    • 5.1.2 Auxiliary Notation
    • 5.1.3 Vectors
  • 5.2 Values
    • 5.2.1 Bytes
    • 5.2.2 Integers
    • 5.2.3 Floating-Point
    • 5.2.4 Names
  • 5.3 Types
    • 5.3.1 Number Types
    • 5.3.2 Vector Types
    • 5.3.3 Reference Types
    • 5.3.4 Value Types
    • 5.3.5 Result Types
    • 5.3.6 Function Types
    • 5.3.7 Limits
    • 5.3.8 Memory Types
    • 5.3.9 Table Types
    • 5.3.10 Global Types
  • 5.4 Instructions
    • 5.4.1 Control Instructions
    • 5.4.2 Reference Instructions
    • 5.4.3 Parametric Instructions
    • 5.4.4 Variable Instructions
    • 5.4.5 Table Instructions
    • 5.4.6 Memory Instructions
    • 5.4.7 Numeric Instructions
    • 5.4.8 Vector Instructions
    • 5.4.9 Expressions
  • 5.5 Modules
    • 5.5.1 Indices
    • 5.5.2 Sections
    • 5.5.3 Custom Section
    • 5.5.4 Type Section
    • 5.5.5 Import Section
    • 5.5.6 Function Section
    • 5.5.7 Table Section
    • 5.5.8 Memory Section
    • 5.5.9 Global Section
    • 5.5.10 Export Section
    • 5.5.11 Start Section
    • 5.5.12 Element Section
    • 5.5.13 Code Section
    • 5.5.14 Data Section
    • 5.5.15 Data Count Section
    • 5.5.16 Modules
©2017, WebAssembly Community Group.