summaryrefslogtreecommitdiff
path: root/src/modules/generator
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/generator')
-rw-r--r--src/modules/generator/allocate.scm4
-rw-r--r--src/modules/generator/assembly.scm16
-rw-r--r--src/modules/generator/driver.scm8
-rw-r--r--src/modules/generator/expansion.scm16
4 files changed, 22 insertions, 22 deletions
diff --git a/src/modules/generator/allocate.scm b/src/modules/generator/allocate.scm
index 193cadb..f975fca 100644
--- a/src/modules/generator/allocate.scm
+++ b/src/modules/generator/allocate.scm
@@ -1,5 +1,5 @@
-(define-module (modules generator allocate)
- #:use-module (modules utils assign-stack)
+(define-module (generator allocate)
+ #:use-module (utils assign-stack)
#:export (expansion->allocate))
diff --git a/src/modules/generator/assembly.scm b/src/modules/generator/assembly.scm
index 50e158e..55eaaed 100644
--- a/src/modules/generator/assembly.scm
+++ b/src/modules/generator/assembly.scm
@@ -1,7 +1,7 @@
-(define-module (modules generator assembly)
- #:use-module (modules ast ir)
- #:use-module (modules utils assign-stack)
- #:use-module (modules utils merge-instructions)
+(define-module (generator assembly)
+ #:use-module (ast ir)
+ #:use-module (utils assign-stack)
+ #:use-module (utils merge-instructions)
#:export (instrs
mov))
@@ -10,9 +10,9 @@
(cons 'list (cons (list 'alloc (abs (get-frame-size)))
(merge-instr lst))))
-(define (mov dst src)
+(define (mov src dst)
(if (and (eq? 'stack (car dst))
(eq? 'stack (car src)))
- (append (list (list 'mov (reg "r10") src))
- (list (list 'mov dst (reg "r10"))))
- (list 'mov dst src)))
+ (append (list (list 'mov src (reg "r10d")))
+ (list (list 'mov (reg "r10d") dst)))
+ (list 'mov src dst)))
diff --git a/src/modules/generator/driver.scm b/src/modules/generator/driver.scm
index dc95268..8b9ed30 100644
--- a/src/modules/generator/driver.scm
+++ b/src/modules/generator/driver.scm
@@ -1,9 +1,9 @@
-(define-module (modules generator driver)
- #:use-module (modules generator allocate)
+(define-module (generator driver)
+ #:use-module (generator allocate)
#:export (tacky->assembly))
(define (tacky->assembly n)
(eval (expansion->allocate
- (eval n (resolve-module '(modules generator expansion))))
- (resolve-module '(modules generator assembly))))
+ (eval n (resolve-module '(generator expansion))))
+ (resolve-module '(generator assembly))))
diff --git a/src/modules/generator/expansion.scm b/src/modules/generator/expansion.scm
index 3beb6db..5bfa878 100644
--- a/src/modules/generator/expansion.scm
+++ b/src/modules/generator/expansion.scm
@@ -1,6 +1,6 @@
-(define-module (modules generator expansion)
- #:use-module (modules ast ir)
- #:use-module (modules utils merge-instructions)
+(define-module (generator expansion)
+ #:use-module (ast ir)
+ #:use-module (utils merge-instructions)
#:export (instrs
not
neg
@@ -11,13 +11,13 @@
#f
(list 'instrs (cons 'list (merge-instr lst))))
-(define (not dst src) (unary 'not dst src))
-(define (neg dst src) (unary 'neg dst src))
+(define (not src dst) (unary 'not src dst))
+(define (neg src dst) (unary 'neg src dst))
(define (ret src)
- (list (list 'mov (list 'reg "eax") src)
+ (list (list 'mov src (list 'reg "eax"))
(list 'ret)))
-(define (unary op dst src)
- (list (list 'mov dst src)
+(define (unary op src dst)
+ (list (list 'mov src dst)
(list op dst)))