#:use-module (system vm dwarf)
#:use-module (system vm elf)
#:use-module (system vm linker)
- #:use-module (system vm objcode)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 binary-ports)
#:use-module (ice-9 vlist)
#:use-module (srfi srfi-11)
#:export (make-assembler
emit-text
- link-assembly
- assemble-program))
+ link-assembly))
\f
writable data are on separate pages. Pass @code{#:page-aligned? #f} to
disable this behavior."
(link-elf (link-objects asm) #:page-aligned? page-aligned?))
-
-(define (assemble-program instructions)
- "Take the sequence of instructions @var{instructions}, assemble them
-into RTL code, link an image, and load that image from memory. Returns
-a procedure."
- (let ((asm (make-assembler)))
- (emit-text asm instructions)
- (load-thunk-from-memory (link-assembly asm #:page-aligned? #f))))
#:use-module (test-suite lib)
#:use-module (system vm assembler)
#:use-module (system vm program)
+ #:use-module (system vm objcode)
+ #:use-module (system vm linker)
#:use-module (system vm debug))
+(define (assemble-program instructions)
+ "Take the sequence of instructions @var{instructions}, assemble them
+into RTL code, link an image, and load that image from memory. Returns
+a procedure."
+ (let ((asm (make-assembler)))
+ (emit-text asm instructions)
+ (load-thunk-from-memory (link-assembly asm #:page-aligned? #f))))
+
(define-syntax-rule (assert-equal val expr)
(let ((x val))
(pass-if (object->string x) (equal? expr x))))