@blueshift-gg/sbpf-assembler
v0.2.1
Published
Assembler to assemble and link sbpf assembly to bytecode
Readme
@blueshift-gg/sbpf-assembler
Assemble and link sBPF assembly to bytecode, powered by WebAssembly.
Install
npm install @blueshift-gg/sbpf-assembler
# or
yarn add @blueshift-gg/sbpf-assembler
# or
pnpm add @blueshift-gg/sbpf-assembler
# or
bun add @blueshift-gg/sbpf-assemblerUsage
Node.js
import { assemble } from "@blueshift-gg/sbpf-assembler";
// or: const { assemble } = require("@blueshift-gg/sbpf-assembler");
const program = `
.globl e
e:
mov64 r0, 1
exit
`;
const bytecode = assemble(program, 0 /* arch version */);Browser (via bundler)
import init, { assemble } from "@blueshift-gg/sbpf-assembler";
await init(); // WASM is loaded asynchronously in browsers
const program = `
.globl e
e:
mov64 r0, 1
exit
`;
const bytecode = assemble(program, 0 /* arch version */);Explicit subpath (if your bundler's condition resolution is unusual)
import { assemble } from "@blueshift-gg/sbpf-assembler/node";
import { assemble } from "@blueshift-gg/sbpf-assembler/bundler";
import init, { assemble } from "@blueshift-gg/sbpf-assembler/web";API
assemble(source: string, arch: number): Uint8Array
Compiles an sBPF assembly program to ELF bytecode.
| Parameter | Type | Description |
|---|---|---|
| source | string | sBPF assembly source |
| arch | number | Architecture version (e.g. 0) |
License
MIT OR Apache-2.0
