File tree Expand file tree Collapse file tree 3 files changed +18
-20
lines changed Expand file tree Collapse file tree 3 files changed +18
-20
lines changed Original file line number Diff line number Diff line change 3
3
(require a86/ast)
4
4
(require "types.rkt " )
5
5
6
- (define r9 'r9 )
7
-
8
6
;; Register -> Asm
9
7
(define (assert-integer r)
10
- (seq (Mov r9 r)
11
- (And r9 mask-int)
12
- (Cmp r9 type-int)
8
+ (seq (Push r)
9
+ (And r mask-int)
10
+ (Cmp r type-int)
11
+ (Pop r)
13
12
(Jne 'err )))
14
13
15
14
;; Register -> Asm
16
15
(define (assert-char r)
17
- (seq (Mov r9 r)
18
- (And r9 mask-char)
19
- (Cmp r9 type-char)
16
+ (seq (Push r)
17
+ (And r mask-char)
18
+ (Cmp r type-char)
19
+ (Pop r)
20
20
(Jne 'err )))
21
21
22
22
;; Register -> Asm
Original file line number Diff line number Diff line change 5
5
(require a86/ast)
6
6
(require "types.rkt " )
7
7
8
- (define r9 'r9 )
9
-
10
8
(define (assert-type mask type)
11
- (λ (arg)
12
- (seq (Mov r9 arg)
13
- (And r9 mask)
14
- (Cmp r9 type)
9
+ (λ (r)
10
+ (seq (Push r)
11
+ (And r mask)
12
+ (Cmp r type)
13
+ (Pop r)
15
14
(Jne 'err ))))
16
15
17
16
;; Register -> Asm
Original file line number Diff line number Diff line change 5
5
(require a86/ast)
6
6
(require "types.rkt " )
7
7
8
- (define r9 'r9 )
9
-
10
8
(define (assert-type mask type)
11
- (λ (arg)
12
- (seq (Mov r9 arg)
13
- (And r9 mask)
14
- (Cmp r9 type)
9
+ (λ (r)
10
+ (seq (Push r)
11
+ (And r mask)
12
+ (Cmp r type)
13
+ (Pop r)
15
14
(Jne 'err ))))
16
15
17
16
;; Register -> Asm
You can’t perform that action at this time.
0 commit comments