Initial commit
This commit is contained in:
1 parent
18876c5b45
commit
4e8a063f86
47 files changed
+4209
-1
No files matched your search
@@ -0,0 +1,623 @@
|
||||
;; RESET
|
||||
000: 00 nop
|
||||
040: 7c 27 tml 027 ; call 027 // wait a bit
|
||||
070: 30 ldi 0
|
||||
078: 23 lbli 3
|
||||
07c: 46 out ; P3 := 0
|
||||
07e: 20 lbli 0
|
||||
03f: 46 out ; P0 := 0
|
||||
05f: 55 in ; A := P0
|
||||
06f: 67 ska 3 ; if A.3 = 0 // we are key
|
||||
077: f6 t 076 ; goto 076
|
||||
|
||||
|
||||
|
||||
;; LOCK START
|
||||
07b: 75 lbmi 1 ; H := 1
|
||||
|
||||
; forever {
|
||||
07d: 21 lbli 1
|
||||
03e: 31 ldi 1
|
||||
01f: 70 ad
|
||||
04f: 43 xd ; [1:1]++
|
||||
067: 55 in ; A := P0
|
||||
073: 66 ska 2 ; if A.2 = 0
|
||||
079: de t 05e ; last
|
||||
03c: fd t 07d ; }
|
||||
|
||||
05e: 32 ldi 2
|
||||
02f: 21 lbli 1 ; L := 1
|
||||
057: 46 out ; P1 := 2 // reset host and key
|
||||
06b: 00 nop
|
||||
075: 30 ldi 0
|
||||
03a: 46 out ; P1 := 0 // run key
|
||||
01d: 00 nop
|
||||
00e: 7c 27 tml 027 ; call 027 // wait a bit
|
||||
043: 3c ldi c ; A := c
|
||||
|
||||
; while A <> 0 {
|
||||
061: 01 adi 1 ; A++
|
||||
030: e1 t 061 ; }
|
||||
058: 00 nop
|
||||
06c: ae t 02e ; goto 270 // init stream
|
||||
|
||||
|
||||
|
||||
;; KEY START
|
||||
076: 31 ldi 1
|
||||
03b: 21 lbli 1
|
||||
05d: 46 out ; P1 := 1
|
||||
|
||||
02e: 79 70 tl 270 ; goto 270 // init stream
|
||||
|
||||
|
||||
|
||||
;; DIE
|
||||
04b: 20 lbli 0
|
||||
065: 55 in ; A := P0
|
||||
032: 67 ska 3
|
||||
019: d4 t 054 ; if A.3 { // we are lock
|
||||
00c: 75 lbmi 1
|
||||
046: 21 lbli 1
|
||||
023: 34 ldi 4
|
||||
051: 4a s ; [1:1] := 4
|
||||
028: c1 t 041 ; goto 041
|
||||
; } else { // we are key
|
||||
|
||||
054: 33 ldi 3
|
||||
06a: 20 lbli 0
|
||||
035: 46 out ; P0 := 3
|
||||
01a: 21 lbli 1
|
||||
00d: 31 ldi 1
|
||||
006: 46 out ; P1 := 1
|
||||
003: cb t 04b ; goto 04b // loop
|
||||
; }
|
||||
|
||||
|
||||
|
||||
;;
|
||||
041: 33 ldi 3
|
||||
020: 20 lbli 0
|
||||
050: 46 out ; P0 := 3
|
||||
068: 75 lbmi 1
|
||||
074: 21 lbli 1
|
||||
07a: 30 ldi 0
|
||||
03d: 62 skm 2
|
||||
01e: 34 ldi 4 ; A := ([1.1].2 ? 0 : 4)
|
||||
00f: 4a s ; [1.1] = A
|
||||
047: 46 out ; P1 := A
|
||||
|
||||
;; WAIT ABOUT ONE SECOND
|
||||
063: 74 lbmi 0
|
||||
071: 2b lbli b
|
||||
|
||||
038: 30 ldi 0
|
||||
05c: 42 xi
|
||||
06e: b8 t 038
|
||||
037: 2e lbli e
|
||||
05b: 38 ldi 8
|
||||
06d: 42 xi
|
||||
036: 3d ldi d
|
||||
|
||||
01b: 41 x
|
||||
04d: 2b lbli b
|
||||
026: 48 sc
|
||||
|
||||
013: 30 ldi 0
|
||||
049: 73 adcsk
|
||||
024: 9b t 01b
|
||||
052: 42 xi
|
||||
029: 93 t 013
|
||||
014: c1 t 041 ; goto 041 // loop
|
||||
|
||||
|
||||
|
||||
;; RUN HOST
|
||||
04a: 7d fa tml 37a
|
||||
012: a1 t 021 ; if lock
|
||||
009: 35 ldi 5 ; A := 5
|
||||
004: 21 lbli 1
|
||||
042: e4 t 064 ; else
|
||||
|
||||
021: 30 ldi 0 ; A := 0
|
||||
010: 21 lbli 1
|
||||
048: 46 out
|
||||
|
||||
064: 00 nop
|
||||
072: 00 nop
|
||||
039: 00 nop
|
||||
01c: 46 out ; P1 := A
|
||||
04e: 4c rit
|
||||
|
||||
|
||||
|
||||
;; WAIT A BIT
|
||||
;; 626 cycles, about 0.6ms
|
||||
027: 30 ldi 0
|
||||
|
||||
053: 5d xax
|
||||
069: 30 ldi 0
|
||||
|
||||
034: 01 adi 1
|
||||
05a: b4 t 034
|
||||
02d: 5d xax
|
||||
016: 01 adi 1
|
||||
00b: d3 t 053
|
||||
045: 4c rit
|
||||
|
||||
|
||||
|
||||
;;{{{
|
||||
022: 00 nop
|
||||
011: 00 nop
|
||||
008: 00 nop
|
||||
044: 00 nop
|
||||
062: 00 nop
|
||||
031: 00 nop
|
||||
018: 00 nop
|
||||
04c: 00 nop
|
||||
066: 00 nop
|
||||
033: 00 nop
|
||||
059: 00 nop
|
||||
02c: 00 nop
|
||||
056: 00 nop
|
||||
02b: 00 nop
|
||||
055: 00 nop
|
||||
02a: 00 nop
|
||||
015: 00 nop
|
||||
00a: 00 nop
|
||||
005: 00 nop
|
||||
002: 78 80 tl 100
|
||||
|
||||
07f: 80 t 000
|
||||
;;}}}
|
||||
|
||||
|
||||
|
||||
;; DIE
|
||||
100: 00 nop
|
||||
140: 30 ldi 0
|
||||
160: 21 lbli 1
|
||||
170: 46 out
|
||||
178: 80 t 100
|
||||
|
||||
|
||||
|
||||
17c: fc t 17c
|
||||
|
||||
|
||||
|
||||
;; MAIN LOOP
|
||||
17e: 31 ldi 1
|
||||
|
||||
13f: 5c lxa
|
||||
|
||||
15f: 74 lbmi 0
|
||||
16f: 7d cb tml 34b
|
||||
17b: 75 lbmi 1
|
||||
17d: 7d cb tml 34b
|
||||
11f: 7c b1 tml 131
|
||||
167: 55 in
|
||||
173: 64 ska 0
|
||||
179: de t 15e
|
||||
13c: d7 t 157
|
||||
|
||||
15e: 65 ska 1
|
||||
12f: dd t 15d
|
||||
|
||||
|
||||
|
||||
;;
|
||||
157: 78 4b tl 04b
|
||||
|
||||
|
||||
|
||||
;;
|
||||
175: 60 skm 0
|
||||
13a: b0 t 130
|
||||
11d: 7c d9 tml 159
|
||||
107: 61 skm 1
|
||||
143: d7 t 157
|
||||
161: bd t 13d
|
||||
|
||||
130: 7c d9 tml 159
|
||||
16c: 61 skm 1
|
||||
176: fa t 17a
|
||||
13b: d7 t 157
|
||||
|
||||
15d: 30 ldi 0
|
||||
12e: 41 x
|
||||
117: 46 out
|
||||
14b: 00 nop
|
||||
165: 55 in
|
||||
132: 47 out0
|
||||
119: 4a s
|
||||
10c: 23 lbli 3
|
||||
146: 55 in
|
||||
123: 20 lbli 0
|
||||
151: 64 ska 0
|
||||
128: f5 t 175
|
||||
154: 61 skm 1
|
||||
16a: c1 t 141
|
||||
135: 7c d9 tml 159
|
||||
10d: 60 skm 0
|
||||
106: d7 t 157
|
||||
103: bd t 13d
|
||||
|
||||
141: 7c d9 tml 159
|
||||
150: 60 skm 0
|
||||
168: fa t 17a
|
||||
174: d7 t 157
|
||||
|
||||
17a: 00 nop
|
||||
|
||||
13d: 5d xax
|
||||
11e: 01 adi 1
|
||||
10f: a1 t 121
|
||||
147: 7c 4a tml 04a
|
||||
171: 7d f0 tml 370
|
||||
15c: 7d f0 tml 370
|
||||
137: 7d f0 tml 370
|
||||
16d: 27 lbli 7
|
||||
136: 40 l
|
||||
11b: 23 lbli 3
|
||||
14d: 41 x
|
||||
126: 5c lxa
|
||||
113: 55 in
|
||||
149: 41 x
|
||||
124: 6c sm 0
|
||||
152: 64 ska 0
|
||||
129: 68 rm 0
|
||||
114: 5d xax
|
||||
14a: 41 x
|
||||
125: 46 out
|
||||
112: 5d xax
|
||||
109: 10 skai 0
|
||||
104: bf t 13f
|
||||
142: fe t 17e
|
||||
|
||||
121: 5d xax
|
||||
110: df t 15f
|
||||
|
||||
|
||||
|
||||
;; OUTPUT STREAM ID BIT
|
||||
148: 20 lbli 0
|
||||
164: 4a s
|
||||
172: 30 ldi 0
|
||||
139: 41 x
|
||||
11c: 46 out
|
||||
14e: 00 nop
|
||||
127: 00 nop
|
||||
153: 47 out0
|
||||
169: 21 lbli 1
|
||||
134: 4c rit
|
||||
|
||||
|
||||
|
||||
;; INPUT STREAM ID BIT
|
||||
15a: 20 lbli 0
|
||||
12d: 00 nop
|
||||
116: 00 nop
|
||||
10b: 00 nop
|
||||
145: 00 nop
|
||||
122: 00 nop
|
||||
111: 00 nop
|
||||
108: 55 in
|
||||
144: 21 lbli 1
|
||||
162: 4c rit
|
||||
|
||||
|
||||
|
||||
;; H := "OTHER SIDE"
|
||||
131: 74 lbmi 0
|
||||
118: 7d fa tml 37a
|
||||
166: 75 lbmi 1
|
||||
133: 4c rit
|
||||
|
||||
|
||||
|
||||
;; H := "THIS SIDE"
|
||||
159: 75 lbmi 1
|
||||
12c: 7d fa tml 37a
|
||||
12b: 74 lbmi 0
|
||||
155: 4c rit
|
||||
|
||||
|
||||
|
||||
;;{{{
|
||||
12a: 00 nop
|
||||
115: 00 nop
|
||||
10a: 00 nop
|
||||
105: 00 nop
|
||||
102: 80 t 100
|
||||
101: 80 t 100
|
||||
|
||||
17f: 80 t 100
|
||||
;;}}}
|
||||
|
||||
|
||||
|
||||
;;
|
||||
200: 00 nop
|
||||
240: 78 80 tl 100
|
||||
|
||||
|
||||
|
||||
;; INIT STREAM
|
||||
270: 7d fa tml 37a
|
||||
27c: e1 t 261
|
||||
27e: 75 lbmi 1
|
||||
23f: 21 lbli 1
|
||||
25f: 31 ldi 1
|
||||
26f: 63 skm 3
|
||||
277: 30 ldi 0
|
||||
27b: 7c c8 tml 148
|
||||
23e: 31 ldi 1
|
||||
21f: 60 skm 0
|
||||
24f: 30 ldi 0
|
||||
267: 7c c8 tml 148
|
||||
279: 31 ldi 1
|
||||
23c: 61 skm 1
|
||||
25e: 30 ldi 0
|
||||
22f: 7c c8 tml 148
|
||||
26b: 31 ldi 1
|
||||
275: 62 skm 2
|
||||
23a: 30 ldi 0
|
||||
21d: 7c c8 tml 148
|
||||
207: 00 nop
|
||||
243: 83 t 203
|
||||
|
||||
261: 75 lbmi 1
|
||||
230: 21 lbli 1
|
||||
258: 3f ldi f
|
||||
26c: 41 x
|
||||
276: 7c da tml 15a
|
||||
25d: 65 ska 1
|
||||
22e: 6b rm 3
|
||||
217: 00 nop
|
||||
24b: 7c da tml 15a
|
||||
232: 65 ska 1
|
||||
219: 68 rm 0
|
||||
20c: 00 nop
|
||||
246: 7c da tml 15a
|
||||
251: 65 ska 1
|
||||
228: 69 rm 1
|
||||
254: 00 nop
|
||||
26a: 7c da tml 15a
|
||||
21a: 65 ska 1
|
||||
20d: 6a rm 2
|
||||
206: 00 nop
|
||||
|
||||
203: 74 lbmi 0
|
||||
241: 21 lbli 1
|
||||
220: 3b ldi b
|
||||
250: 42 xi
|
||||
268: 31 ldi 1
|
||||
274: 42 xi
|
||||
27a: 34 ldi 4
|
||||
23d: 42 xi
|
||||
21e: 3f ldi f
|
||||
20f: 42 xi
|
||||
247: 34 ldi 4
|
||||
263: 42 xi
|
||||
271: 36 ldi 6
|
||||
238: 3b ldi b
|
||||
25c: 42 xi
|
||||
26e: 35 ldi 5
|
||||
237: 42 xi
|
||||
25b: 38 ldi 8
|
||||
26d: 37 ldi 7
|
||||
236: 42 xi
|
||||
21b: 3f ldi f
|
||||
24d: 42 xi
|
||||
226: 3a ldi a
|
||||
213: 3d ldi d
|
||||
249: 42 xi
|
||||
224: 36 ldi 6
|
||||
252: 42 xi
|
||||
229: 3c ldi c
|
||||
214: 31 ldi 1
|
||||
24a: 42 xi
|
||||
225: 3e ldi e
|
||||
212: 42 xi
|
||||
209: 39 ldi 9
|
||||
204: 42 xi
|
||||
242: 38 ldi 8
|
||||
221: 41 x
|
||||
210: 75 lbmi 1
|
||||
248: 22 lbli 2
|
||||
264: 39 ldi 9
|
||||
272: 42 xi
|
||||
239: 3a ldi a
|
||||
21c: 42 xi
|
||||
24e: 31 ldi 1
|
||||
227: 42 xi
|
||||
253: 38 ldi 8
|
||||
269: 42 xi
|
||||
234: 35 ldi 5
|
||||
25a: 42 xi
|
||||
22d: 37 ldi 7
|
||||
216: 3f ldi f
|
||||
20b: 42 xi
|
||||
245: 31 ldi 1
|
||||
222: 42 xi
|
||||
211: 39 ldi 9
|
||||
208: 31 ldi 1
|
||||
244: 42 xi
|
||||
262: 3e ldi e
|
||||
231: 42 xi
|
||||
218: 3b ldi b
|
||||
24c: 31 ldi 1
|
||||
266: 42 xi
|
||||
233: 30 ldi 0
|
||||
259: 42 xi
|
||||
22c: 3d ldi d
|
||||
256: 42 xi
|
||||
22b: 3e ldi e
|
||||
255: 42 xi
|
||||
22a: 3c ldi c
|
||||
215: 41 x
|
||||
20a: 78 fe tl 17e
|
||||
|
||||
|
||||
|
||||
|
||||
202: 78 80 tl 100
|
||||
|
||||
27f: 80 t 200
|
||||
|
||||
|
||||
|
||||
300: 00 nop
|
||||
340: 78 80 tl 100
|
||||
|
||||
|
||||
|
||||
;; MANGLE BOTH
|
||||
370: 74 lbmi 0
|
||||
378: 7d bf tml 33f
|
||||
37e: 75 lbmi 1
|
||||
|
||||
|
||||
|
||||
;; MANGLE ONE
|
||||
33f: 2f lbli f
|
||||
35f: 40 l
|
||||
|
||||
36f: 5c lxa
|
||||
377: 48 sc
|
||||
37b: 21 lbli 1
|
||||
37d: 72 adc
|
||||
33e: 4a s
|
||||
31f: 52 li
|
||||
34f: 72 adc
|
||||
367: 54 coma
|
||||
373: 42 xi
|
||||
379: 73 adcsk
|
||||
33c: 42 xi
|
||||
35e: 70 ad
|
||||
32f: 4a s
|
||||
357: 52 li
|
||||
36b: 49 rc
|
||||
375: 72 adc
|
||||
33a: 42 xi
|
||||
31d: 08 adi 8
|
||||
30e: 72 adc
|
||||
307: 42 xi
|
||||
|
||||
343: 01 adi 1
|
||||
361: 00 nop
|
||||
330: 72 adc
|
||||
358: 4a s
|
||||
36c: 52 li
|
||||
376: c3 t 343
|
||||
33b: 5d xax
|
||||
35d: 0f adi f
|
||||
32e: 4c rit
|
||||
317: ef t 36f
|
||||
|
||||
|
||||
|
||||
;; [H:0] := NEXT STREAM BIT
|
||||
34b: 5d xax
|
||||
365: 5c lxa
|
||||
332: 57 xal
|
||||
319: 40 l
|
||||
30c: 20 lbli 0
|
||||
346: 4a s
|
||||
323: 37 ldi 7
|
||||
351: 60 skm 0
|
||||
328: 30 ldi 0
|
||||
354: 4a s ; [H:0] := [H:L].0 ? 7 : 0
|
||||
36a: 23 lbli 3
|
||||
335: 55 in ; A := P3
|
||||
31a: 20 lbli 0 ; L := 0
|
||||
30d: 64 ska 0
|
||||
306: d0 t 350 ; if P3.0.= 1
|
||||
303: 69 rm 1 ; [H:0] &= 5
|
||||
341: 00 nop
|
||||
320: 4c rit ; else
|
||||
|
||||
350: 68 rm 0
|
||||
368: 6a rm 2 ; [H:0] &= 2
|
||||
374: 4c rit
|
||||
|
||||
|
||||
|
||||
;; SKIP NEXT INSTRUCTION IF LOCK
|
||||
37a: 20 lbli 0
|
||||
33d: 55 in
|
||||
31e: 67 ska 3
|
||||
30f: f4 t 374
|
||||
347: 4d ritsk
|
||||
|
||||
|
||||
|
||||
;;{{{
|
||||
363: 00 nop
|
||||
371: 00 nop
|
||||
338: 00 nop
|
||||
35c: 00 nop
|
||||
36e: 00 nop
|
||||
337: 00 nop
|
||||
35b: 00 nop
|
||||
36d: 00 nop
|
||||
336: 00 nop
|
||||
31b: 00 nop
|
||||
34d: 00 nop
|
||||
326: 00 nop
|
||||
313: 00 nop
|
||||
349: 00 nop
|
||||
324: 00 nop
|
||||
352: 00 nop
|
||||
329: 00 nop
|
||||
314: 00 nop
|
||||
34a: 00 nop
|
||||
325: 00 nop
|
||||
312: 00 nop
|
||||
309: 00 nop
|
||||
304: 00 nop
|
||||
342: 00 nop
|
||||
321: 00 nop
|
||||
310: 00 nop
|
||||
348: 00 nop
|
||||
364: 00 nop
|
||||
372: 00 nop
|
||||
339: 00 nop
|
||||
31c: 00 nop
|
||||
34e: 00 nop
|
||||
327: 00 nop
|
||||
353: 00 nop
|
||||
369: 00 nop
|
||||
334: 00 nop
|
||||
35a: 00 nop
|
||||
32d: 00 nop
|
||||
316: 00 nop
|
||||
30b: 00 nop
|
||||
345: 00 nop
|
||||
322: 00 nop
|
||||
311: 00 nop
|
||||
308: 00 nop
|
||||
344: 00 nop
|
||||
362: 00 nop
|
||||
331: 00 nop
|
||||
318: 00 nop
|
||||
34c: 00 nop
|
||||
366: 00 nop
|
||||
333: 00 nop
|
||||
359: 00 nop
|
||||
32c: 00 nop
|
||||
356: 00 nop
|
||||
32b: 00 nop
|
||||
355: 00 nop
|
||||
32a: 00 nop
|
||||
315: 00 nop
|
||||
30a: 00 nop
|
||||
305: 00 nop
|
||||
302: 78 80 tl 100
|
||||
|
||||
37f: 80 t 300
|
||||
;;}}}
|
||||
|
||||
;; vi:fdm=marker:cms=;;%s:fdo=:
|
||||
Reference in new issue
Block a user