diff options
Diffstat (limited to 'src/modules/generator')
-rw-r--r-- | src/modules/generator/allocate.scm | 4 | ||||
-rw-r--r-- | src/modules/generator/assembly.scm | 16 | ||||
-rw-r--r-- | src/modules/generator/driver.scm | 8 | ||||
-rw-r--r-- | src/modules/generator/expansion.scm | 16 |
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))) |