about summary refs log tree commit diff stats
path: root/linux
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-03-15 21:22:30 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-03-15 21:22:30 -0700
commitbc182ae559580d4d2cde6d5c5e8ed3bb5906bdb5 (patch)
tree3c193bf6d292ab34ffac46acf1cbc36a73371429 /linux
parent341f0c59be23e5eabee50b43608a64ebf75fd053 (diff)
downloadmu-bc182ae559580d4d2cde6d5c5e8ed3bb5906bdb5.tar.gz
boot.subx is now clean SubX
Diffstat (limited to 'linux')
-rwxr-xr-xlinux/packbin59507 -> 59567 bytes
-rw-r--r--linux/pack.subx28
2 files changed, 27 insertions, 1 deletions
diff --git a/linux/pack b/linux/pack
index 557b1c0c..e69773da 100755
--- a/linux/pack
+++ b/linux/pack
Binary files differdiff --git a/linux/pack.subx b/linux/pack.subx
index b619712a..d6ff7af5 100644
--- a/linux/pack.subx
+++ b/linux/pack.subx
@@ -1977,6 +1977,8 @@ emit-opcodes:  # line: (addr stream byte), out: (addr buffered-file)
     #   f3 xx
     #   f2 0f xx
     #   f3 0f xx
+    #   66 xx (hacky support for boot.subx)
+    #   db xx (hacky support for boot.subx)
     #
     # pseudocode:
     #   rewind-stream(line)
@@ -1985,7 +1987,7 @@ emit-opcodes:  # line: (addr stream byte), out: (addr buffered-file)
     #   if (slice-empty?(op1) || slice-starts-with?(op1, "#")) return
     #   op1 = next-token-from-slice(op1->start, op1->end, "/")
     #   write-slice-buffered(out, op1)
-    #   if !slice-equal?(op1, "0f") && !slice-equal?(op1, "f2") && !slice-equal?(op1, "f3")
+    #   if !slice-equal?(op1, "0f") && !slice-equal?(op1, "f2") && !slice-equal?(op1, "f3") && !slice-equal?(op1, "66") && !slice-equal?(op1, "db")
     #     return
     #
     #   var op2 = next-word(line)
@@ -2116,6 +2118,30 @@ $emit-opcodes:op1:
     # . if (eax != false) goto op2
     3d/compare-eax-and  0/imm32/false
     75/jump-if-!=  $emit-opcodes:op2/disp8
+    # if (slice-equal?(op1, "66")) goto op2
+    # . eax = slice-equal?(op1, "66")
+    # . . push args
+    68/push  "66"/imm32
+    51/push-ecx
+    # . . call
+    e8/call  slice-equal?/disp32
+    # . . discard args
+    81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
+    # . if (eax != false) goto op2
+    3d/compare-eax-and  0/imm32/false
+    75/jump-if-!=  $emit-opcodes:op2/disp8
+    # if (slice-equal?(op1, "db")) goto op2
+    # . eax = slice-equal?(op1, "db")
+    # . . push args
+    68/push  "db"/imm32
+    51/push-ecx
+    # . . call
+    e8/call  slice-equal?/disp32
+    # . . discard args
+    81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
+    # . if (eax != false) goto op2
+    3d/compare-eax-and  0/imm32/false
+    75/jump-if-!=  $emit-opcodes:op2/disp8
     # otherwise return
     e9/jump  $emit-opcodes:end/disp32
 $emit-opcodes:op2:
ickey <dickey@invisible-island.net> 1997-11-17 14:36:49 -0500 snapshot of project "lynx", label v2-7-1ac_0-95' href='/ingrix/lynx-snapshots/commit/src/LYCharSets.h?id=e47cfd5646f55de9688ff42df3055fd9c09b503f'>e47cfd56 ^
d3f9d547 ^
e47cfd56 ^
1fc1d8af ^
01876e39 ^



e087f6d4
ab8b1f12 ^
86b4d41a ^

ab8b1f12 ^
1fc1d8af ^
















d326f24d ^
fa7c05c5 ^

d326f24d ^





1fc1d8af ^

ab1d1ae5 ^
99d74890 ^
ab1d1ae5 ^


99d74890 ^
1fc1d8af ^


ab1d1ae5 ^
1fc1d8af ^
ab1d1ae5 ^
1fc1d8af ^
d326f24d ^
ab1d1ae5 ^
1fc1d8af ^
d326f24d ^
ab1d1ae5 ^

d326f24d ^




1fc1d8af ^
d326f24d ^

1fc1d8af ^
ab1d1ae5 ^




d326f24d ^


1fc1d8af ^

ab1d1ae5 ^

1fc1d8af ^

ab1d1ae5 ^
1fc1d8af ^
ab1d1ae5 ^


1fc1d8af ^
99d74890 ^
ab1d1ae5 ^
2a786b26 ^


4bb52da7 ^


2a786b26 ^



1fc1d8af ^
2a786b26 ^

4bb52da7 ^
1fc1d8af ^












4bb52da7 ^

1fc1d8af ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154