stubbi/hello

Active release

A small Linux assembly program that writes a greeting.

Version
0.6.0
License
MIT
Formats
Executable, Source archive
Release targets
  • aarch64-linux
  • riscv64-linux
  • x86_64-linux

Use this package

Install Asm before you fetch a file. Run asm doctor to check the required host tools.

Choose a release file below. Each file includes its exact fetch command.

Fetch downloads and checks bytes. It does not execute the package.

Inspect release files

Readme

Source snapshot: README.md at commit 6d7c7df53b1ae17a44c13b038cf95cc798fffa94. This is source documentation, not artifact verification.

Hello

This project writes Hello from asm! and a newline. One manifest declares seven implementations of the same package. Each target directory contains its source, tests when available, and platform instructions.

asm.toml
LICENSE
targets/
  x86_64-linux/
  aarch64-linux/
  riscv64-linux/
  aarch64-macos/
  x86_64-macos/
  x86_64-windows/
  aarch64-windows/

Each implementation starts at targets/<target>/src/main.s. The root manifest selects the source and optional test for each target. A target declaration does not establish CLI host support or native qualification.

Run with Asm

Use Asm 0.6.0 or later. Earlier binaries do not support this manifest extension.

Native execution requires Linux x86-64, Linux AArch64, or Apple Silicon with macOS 15 or later. Linux builds require GNU Binutils. macOS builds require Apple's Command Line Tools. The following commands require an installed Asm CLI.

  1. Open this project directory.
  2. Run the native implementation.
asm run

Expected output:

Hello from asm!
  1. Run the native startup test.
asm test

The test exits with status zero. Asm reports Passed targets/<native-target>/tests/main.s. These startup tests do not establish complete output or failure handling. The package checks below cover those properties for the macOS implementations.

Build another Linux target

Cross builds produce a file for another target without executing it. Linux hosts require the matching GNU cross assembler and linker in /usr/bin. macOS requires Homebrew LLVM and LLD for Linux cross builds. Asm uses /opt/homebrew/opt/llvm/bin/clang and /opt/homebrew/opt/lld/bin/ld.lld.

  1. Check the targets available from this CLI.
asm targets
  1. Build the RISC-V64 Linux implementation.
asm build --target riscv64-linux

Asm reports Built build/riscv64-linux/app. The source requires RV64I instructions and the LP64 ABI. An ABI defines calls, register use, and data layout. Use the target's manual instructions to run the file deliberately on Linux or through QEMU.

asm run and ordinary asm test execute only the native host target. Windows and Intel macOS implementations use the direct build commands below.

Target instructions

TargetInstructionsQualification boundary
Linux x86-64x86_64-linuxLinux process startup and greeting
Linux AArch64aarch64-linuxSeparate native or emulated Linux execution
Linux RISC-V64riscv64-linuxRV64I/LP64; no RISC-V Asm CLI host
Apple Silicon macOSaarch64-macosNative macOS process and injected write-result tests
Intel macOSx86_64-macosRosetta evidence is separate from physical Intel qualification
Windows x86-64x86_64-windowsPE inspection is separate from native Windows execution
Windows AArch64aarch64-windowsPE inspection is separate from native Windows execution

From the repository root, run the package checks:

python3 -m unittest discover -s tests/packages -p 'test_hello_*.py' -v
python3 -m unittest discover -s tests/packages -p test_macos_reference_io.py -v

Missing platform tools or runtimes produce explicit skips. A successful cross build does not establish native execution.

Source and license

The platform implementations come from repository commit 48bc44d5490b332dfa87fa60ffa91296d9423cbe. The assembly includes now use paths relative to this project root. The previous checkout's AArch64 Linux, RISC-V64 Linux, and Apple Silicon startup tests remain in their target directories. The Intel macOS implementation has no manifest test; its package checks exercise output and failures.

The root manifest declares version 0.6.0. Its Linux source archives contain all seven implementations. The release supplies hello executables for the three Linux targets only. Earlier published versions, records, and qualification digests remain unchanged.

The project license is MIT. See LICENSE.

Files

6 release files shown.

Executable

hello-0.6.0-aarch64-linux
Architecture
ARM64 (aarch64)
Target
aarch64-linux
Format
executable
Size
1064 bytes

SHA-25622a64f7e768dd171bb538a1cc1ee2510a0cad22b6cba2517921be490cc3479b9

Download executable

Fetch this file
asm fetch stubbi/hello@0.6.0 --target aarch64-linux --kind executable

Source archive

hello-0.6.0-aarch64-linux.tar.gz
Architecture
ARM64 (aarch64)
Target
aarch64-linux
Format
source
Size
10324 bytes

SHA-2560e0235bdeb4fb96c86a01b6fe0479763dce9ee1cbba2c64b62c44e2957b863ad

Download source archive

Fetch this file
asm fetch stubbi/hello@0.6.0 --target aarch64-linux --kind source

Declared dependencies

No package dependencies declared.

No feature options declared.

Direct declarations from this checked source archive. They do not describe resolved transitive dependencies or executable contents.

Executable

hello-0.6.0-riscv64-linux
Architecture
RISC-V64 (riscv64)
Target
riscv64-linux
Format
executable
Size
1296 bytes

SHA-2569f6cf7a98aa3a87c4f397062b05d6fb47cf6dc581c8d4353c9def9167f241e92

Download executable

Fetch this file
asm fetch stubbi/hello@0.6.0 --target riscv64-linux --kind executable

Source archive

hello-0.6.0-riscv64-linux.tar.gz
Architecture
RISC-V64 (riscv64)
Target
riscv64-linux
Format
source
Size
10324 bytes

SHA-2560e0235bdeb4fb96c86a01b6fe0479763dce9ee1cbba2c64b62c44e2957b863ad

Download source archive

Fetch this file
asm fetch stubbi/hello@0.6.0 --target riscv64-linux --kind source

Declared dependencies

No package dependencies declared.

No feature options declared.

Direct declarations from this checked source archive. They do not describe resolved transitive dependencies or executable contents.

Executable

hello-0.6.0-x86_64-linux
Architecture
x86-64 (x86_64)
Target
x86_64-linux
Format
executable
Size
8880 bytes

SHA-256aea9462919b3be2dfc4c1532ad8dbf4b7b38b14f968646fea49056c01678f440

Download executable

Fetch this file
asm fetch stubbi/hello@0.6.0 --target x86_64-linux --kind executable

Source archive

hello-0.6.0-x86_64-linux.tar.gz
Architecture
x86-64 (x86_64)
Target
x86_64-linux
Format
source
Size
10324 bytes

SHA-2560e0235bdeb4fb96c86a01b6fe0479763dce9ee1cbba2c64b62c44e2957b863ad

Download source archive

Fetch this file
asm fetch stubbi/hello@0.6.0 --target x86_64-linux --kind source

Declared dependencies

No package dependencies declared.

No feature options declared.

Direct declarations from this checked source archive. They do not describe resolved transitive dependencies or executable contents.

Release evidence

Metadata
Validated
Artifacts
Validated
Provenance
Not run
Formal proof
Not run
Agent review
Not run

A digest identifies bytes. A matching digest does not establish publisher identity or general software safety.

The registry record does not declare ABI or required CPU features. Read package documentation.

Versions

Download activity

stubbi/hello@0.6.0 · Exact version · Asm completed transfers

Download activity is unavailable. Missing observations do not establish zero downloads.

These observations are stale. The latest activity may be missing.

Transfers do not measure people, installations, suitability, or safety. Unreported delivery sources are outside this metric.