//go:build linux && amd64 package main import "unsafe" func verify() { // 0 output & 0 input asmFull("nop", nil) // 0 output & 1 input with memory address addr := uintptr(unsafe.Pointer(&testVar)) asmFull("movq {value}, ({addr})", map[string]any{ "addr": addr, "value": 43, }) check(43, testVar) // 1 output & 1 input res1 := asmFull("movq {value}, {}", map[string]any{ "value": 41, }) check(41, int(res1)) res2 := asmFull("leaq ({a},{b}), {}", map[string]any{ "a": 25, "b": 17, }) check(42, int(res2)) }