Mercurial > vba-clojure
diff clojure/com/aurellem/gb/rlm_assembly.clj @ 399:ddb3c6299619
allowed non-even initial blank inputs.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 13 Apr 2012 05:35:55 -0500 |
parents | 0591dcddf831 |
children | 1b9137ef7380 |
line wrap: on
line diff
1.1 --- a/clojure/com/aurellem/gb/rlm_assembly.clj Fri Apr 13 05:28:17 2012 -0500 1.2 +++ b/clojure/com/aurellem/gb/rlm_assembly.clj Fri Apr 13 05:35:55 2012 -0500 1.3 @@ -217,7 +217,7 @@ 1.4 0xAF ;; test for output-mode (bytes-to-write > 0) 1.5 0x00 ;; (cp A B) 1.6 0x7B ;; E->A 1.7 - 0x20 ;; skip input section if 1.8 + 0x20 ;; skip input section if 1.9 :to-output ;; we're not in input mode 1.10 1.11 :to-be-executed 1.12 @@ -226,13 +226,18 @@ 1.13 0xEA 1.14 :to-be-executed-address 1.15 1.16 + ;; if A is zero, skip the protection section 1.17 + 0xA7 1.18 + 0x28 1.19 + 0x09 1.20 + 1.21 0x0C ;; inc C 1.22 0xCB 1.23 0x41 ;; test bit 0 of C 1.24 0x20 ;; if (0 == (C % 2)) 1.25 0x04 1.26 0xAF ;; put a no op (0x00) in to-be-executed 1.27 - 0xEA 1.28 + 0xEA ;; every other time. 1.29 :to-be-executed-address 1.30 1.31 0x18 ;; return 1.32 @@ -335,9 +340,10 @@ 1.33 (let [after 1.34 (-> (bootstrap-base) 1.35 (step []) 1.36 - (step []) 1.37 (step (buttons 0x67)) 1.38 (step (buttons n)) 1.39 + (step []) 1.40 + (step []) 1.41 )] 1.42 (hex (H after)))) 1.43