a
This commit is contained in:
+5
-1
@@ -1,4 +1,8 @@
|
||||
;;; -*- mode:scheme -*-
|
||||
|
||||
(let ((x0 (prim:cons 4 2)) (x2 (prim:write x1)) (x1 (prim:car x0))) x2)
|
||||
(let ((x0 (prim:cons 4 2))
|
||||
(x3 (prim:write x2))
|
||||
(x2 (prim:* 3 x1))
|
||||
(x1 (prim:cdr x0)))
|
||||
x3)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ main:
|
||||
callq GC_malloc
|
||||
movq $18, (%rax)
|
||||
movq $10, 8(%rax)
|
||||
movl $18, %edi
|
||||
movl $26, %edi
|
||||
callq scm_write
|
||||
leave
|
||||
ret
|
||||
|
||||
+2
-3
@@ -1,3 +1,2 @@
|
||||
(let ((pair (prim:cons 4 2)))
|
||||
(begin (prim:write (prim:car pair))
|
||||
(prim:write (prim:cdr pair))))
|
||||
(prim:write (prim:* 3
|
||||
(prim:cdr (prim:cons 4 2))))
|
||||
|
||||
+11
-5
@@ -2,10 +2,16 @@ export
|
||||
function w $main () {
|
||||
@start
|
||||
%x0 =l call $GC_malloc (l 16)
|
||||
%.3 =l add %x0, 8
|
||||
%.4 =l add %x0, 8
|
||||
storel 18, %x0
|
||||
storel 10, %.3
|
||||
%x1 =l loadl %x0
|
||||
%x2 =l call $scm_write (l %x1)
|
||||
ret %x2
|
||||
storel 10, %.4
|
||||
%.5 =l add %x0, 8
|
||||
%x1 =l loadl %.5
|
||||
%.6 =l shr 14, 2
|
||||
%.7 =l shr %x1, 2
|
||||
%.8 =l mul %.6, %.7
|
||||
%.9 =l shl %.8, 2
|
||||
%x2 =l add %.9, 2
|
||||
%x3 =l call $scm_write (l %x2)
|
||||
ret %x3
|
||||
}
|
||||
Reference in New Issue
Block a user