ASM

1. Assembly   asm

properties ID: c57c2462-7e95-4e6b-9f5b-d7207aeda442
CREATED: <2025-03-08 Sat 20:16>
edges

<- SB-ASSEM


1.1. FASM

properties ID: e4f61fa4-82c8-47c4-8eaf-0c6f6cd6c347
CREATED: <2025-03-09 Sun 20:58>
edges

flat assembler
man
ufasm


1.2. NASM

properties ID: 5f4daaa9-8536-4051-b2b3-b4669f7960ee
CREATED: <2025-01-17 Fri 18:23>
edges

NASM


  • hello world

    section.data
         msg db 'Hello, World!', 0
    
    section.text
         global _start
    _start:
         mov rax, 1 ; syscall: write
         mov rdi, 1 ; file descriptor: stdout
         mov rsi, msg ; pointer to message
         mov rdx, 13 ; message length
         syscall; make the syscall
         mov rax, 60 ; syscall: exit
         xor rdi, rdi ; status: 0
         syscall; make the syscall
    
  • hello linux

    ;;; asm/hello.linux.asm --- nasm example -*- mode:asm -*-
    
    ;; nasm -f elf hello.linux.asm && ld -m elf_i386 hello.linux.o -o hello.linux && hello.linux
    
    ;;; Code:
    global _start
    
    section .data
    msg:    db  "Hello, world!", 10
    .len:   equ $ - msg
    
    section .text
    _start:
        mov eax, 4 ; write
        mov ebx, 1 ; stdout
        mov ecx, msg
        mov edx, msg.len
        int 0x80   ; write(stdout, msg, strlen(msg));
    
        xor eax, msg.len ; invert return value from write()
        xchg eax, ebx ; value for exit()
        mov eax, 1 ; exit
        int 0x80   ; exit(...)
    

1.3. GAS

properties ID: 2a7304bc-b666-4ea6-a37d-64487875ff4e
CREATED: <2025-08-08 Fri 22:08>
edges

OSDev Wiki


1.4. x86   x86

properties ID: 3eec30c3-ab67-42f1-b77f-191905d43c6c
CREATED: <2025-03-02 Sun 21:19>
edges

Guide to x86 Assembly
x86 instruction listings - Wikipedia
x86 calling conventions - Wikipedia


1.4.1. x86_64   x86_64

properties ID: 4c7530b8-6d6f-475a-b2a3-986a10a0d812
CREATED: <2025-03-02 Sun 21:19>
AKA: AMD64
edges

x86-64 - Wikipedia
Resources on x86_64 ISA · GitHub
intel dev manuals


1.4.2. Extensions

properties ID: c9748bd6-8f6b-459e-b863-b2b155e3e420
CREATED: <2025-03-03 Mon 14:33>
  1. SIMD
    properties ID: d9641715-f038-4093-961d-87489fb2390d
    CREATED: <2025-03-03 Mon 14:34>
    1. SWAR
      properties ID: d47a1ee5-0cf8-4ea2-9d5f-4c2396f34bc8
      CREATED: <2025-06-03 Tue 19:29>
      AKA: Packed SIMD

      SIMD within a register

      • a technique used for performing SIMD ops on data contained in cpu registers
    2. AVX
      properties ID: 9e9bfa13-eed1-49a8-bad1-bfa2f2dade86
      CREATED: <2025-03-03 Mon 14:33>

      Advanced Vector Extensions - Wikipedia :END:

    3. SSE
      properties ID: 37c0d23a-8c9b-49d9-98e9-964ca52be6de
      CREATED: <2025-03-03 Mon 14:34>
      edges

      Streaming SIMD Extensions - Wikipedia


    4. PAE
      properties ID: 3234c77c-97dd-4180-b8ca-48e18de7ab81
      CREATED: <2025-03-03 Mon 14:35>
      edges

      Physical Address Extension - Wikipedia


  2. APX
    properties ID: c06fcd4c-193a-4ba7-bd16-3b8e537dd2ad
    CREATED: <2025-03-03 Mon 14:34>
    edges

    Introducing Intel Advanced Performance Extensions (Intel APX)


  3. AES
    properties ID: 96d5af9b-48f1-4d26-bcdd-a6ed47a73141
    CREATED: <2025-03-03 Mon 14:37>
    edges

    AES instruction set - Wikipedia


  4. Virtualization
    properties ID: 5c9317c4-d3fc-4648-bfe2-38d9ca0719ec
    CREATED: <2025-03-03 Mon 14:39>
    edges

    x86 virtualization - Wikipedia
    Enabling Intel VT and AMD-V virtualization hardware extensions in BIOS
    Virtualization Security (Intel)


    1. AMD-V
      properties ID: 5aabf9b2-3071-40cc-acfb-f93ed4a15afb
      CREATED: <2025-03-03 Mon 14:39>
      edges

      AMD Pacifica Specification
      home


      AMD-virtualization (AMD-V) is the implementation of a Secure Virtual Machine from AMD. Developed under the codename Pacifica, AMD first launched these features under the name AMD Secure Virtual Machine (SVM). The corresponding CPU-flag is also called svm.

    2. Intel VT-x
      properties ID: 16a8ffe9-da94-43dd-be0f-7e0d7af68476
      CREATED: <2025-03-03 Mon 14:39>
      edges

      Intel Virtualization


      Previously codenamed Vanderpool, VT-x represents Intel's technology for virtualization on the x86 platform.

1.5. RISC-V   risc

properties ID: e6c89750-0770-4c0f-a943-f6419313970e
CREATED: <2025-03-02 Sun 21:22>
edges

home
man
specs


1.6. ARM   arm

properties ID: 88f212ae-23d2-4b10-b78b-7139dba28e64
CREATED: <2026-05-09 Sat 20:39>
edges

Arm Architecture
wiki


1.6.1. A64

properties ID: bb8a87ba-b251-4c9d-a829-4231547d68d8
CREATED: <2026-05-09 Sat 20:38>
AKA: AArch64, arm64
edges

A64 Instruction Set Architecture


1.6.2. A32

properties ID: 0325f88d-545c-4d10-be76-f503c1aaa37c
CREATED: <2026-05-09 Sat 20:39>
AKA: Aarch32, arm32
edges

A32 Instruction Set Architecture


1.7. WASM   web

properties ID: bdae141e-3288-4108-b509-dddd4a8b3731
CREATED: <2025-01-18 Sat 20:45>
edges

ref
home
spec


  • wa - ktye compilation strat for wasm

1.8. LLVM IR   llvm

properties ID: 25754e07-2c57-4385-a52a-33b0179e2b85
CREATED: <2025-03-02 Sun 21:18>
edges

ref
A Gentle Introduction to LLVM IR · mcyoung
>> LLVM


1.8.1. NNVM IR   llvm gpu nvidia

properties ID: 650a3fc0-6eec-4b9c-8db5-b89715ff50cc
CREATED: <2025-03-02 Sun 21:24>
edges

spec
>> NVCC