Lucas Stadler %!s(int64=8) %!d(string=hace) años
padre
commit
a0f886344a
Se han modificado 2 ficheros con 4 adiciones y 5 borrados
  1. 1 2
      scm/inc/compiler.scm
  2. 3 3
      scm/inc/tests.scm

+ 1 - 2
scm/inc/compiler.scm

@ -1,6 +1,5 @@
1 1
;; assembly resources:
2 2
;;  - https://en.wikipedia.org/wiki/X86_instruction_listings
3
4 3
(define (emit instr . args)
5 4
  (display "\t")
6 5
  (display (apply format instr args))
@ -69,7 +68,7 @@
69 68
        (emit-compare))
70 69
       ((char?)
71 70
        (emit-expr (primcall-operand1 x))
72
        (emit "andl $~a, %eax" #b00001111)
71
        (emit "andl $~a, %eax" #b11111111)
73 72
        (emit "cmpl $~a, %eax" #b00001111)
74 73
        (emit-compare))
75 74
       ((boolean?)

+ 3 - 3
scm/inc/tests.scm

@ -96,7 +96,7 @@
96 96
    ["(char? 1412)" "#f\n"]
97 97
    ["(char? 10)" "#f\n"]
98 98
    ["(char? -1421)" "#f\n"]
99
    ;["(char? #t)" "#f\n"]
100
    ;["(char? #f)" "#f\n"]
101
    ;["(char? ())" "#f\n"]
99
    ["(char? #t)" "#f\n"]
100
    ["(char? #f)" "#f\n"]
101
    ["(char? ())" "#f\n"]
102 102
    ])