#lang racket (require racket/system) (provide test-eq compile-arm-asm run-arm-executable) (define (test-eq a b) (if (equal? a b) (displayln "PASS") (error (format "FAIL: ~a != ~a" a b)))) (define (compile-arm-asm filename outfilename) (system (format "aarch64-linux-gnu-gcc -static ~a runtime.s -o ~a" filename outfilename))) (define (run-arm-executable filename) (system/exit-code (format "qemu-aarch64 ./~a" filename)))