about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-01-16 18:31:12 -0800
committerKartik Agaram <vc@akkartik.com>2020-01-16 18:31:12 -0800
commit6070c23e5e1c60d3bb169e43bddfa59b1d322427 (patch)
tree9a70e378c33c15e4779cf94abda8f37c35a5d1da
parent5a6601aba973ba1d1ef30b7b64438c25623b89c5 (diff)
downloadmu-6070c23e5e1c60d3bb169e43bddfa59b1d322427.tar.gz
5897 - rename comparison instructions
Signed and unsigned don't quite capture the essence of what the different
combinations of x86 flags are doing for SubX. The crucial distinction is
that one set of comparison operators is for integers and the second is
for addresses.
-rw-r--r--050_write.subx2
-rw-r--r--052kernel-string-equal.subx8
-rw-r--r--054string-equal.subx6
-rw-r--r--055stream.subx2
-rw-r--r--056trace.subx22
-rw-r--r--057write.subx2
-rw-r--r--058stream-equal.subx16
-rw-r--r--059stop.subx2
-rw-r--r--060read.subx6
-rw-r--r--061read-byte.subx4
-rw-r--r--062write-stream.subx4
-rw-r--r--064write-byte.subx4
-rw-r--r--065write-buffered.subx4
-rw-r--r--066print-int.subx6
-rw-r--r--067parse-hex.subx42
-rw-r--r--069allocate.subx4
-rw-r--r--070new-stream.subx2
-rw-r--r--071read-line.subx14
-rw-r--r--072slice.subx28
-rw-r--r--073next-token.subx66
-rw-r--r--075print-int-decimal.subx14
-rw-r--r--076next-word.subx4
-rw-r--r--077subx-words.subx16
-rw-r--r--078emit-hex.subx2
-rw-r--r--079emit.subx2
-rw-r--r--080zero-out.subx2
-rw-r--r--081table.subx36
-rw-r--r--082slurp.subx6
-rw-r--r--083subx-widths.subx8
-rw-r--r--084emit-hex-array.subx2
-rw-r--r--085next-word-or-string.subx6
-rw-r--r--091write-int.subx2
-rw-r--r--092stack.subx8
-rw-r--r--100array-equal.subx14
-rw-r--r--apps/assort.subx16
-rw-r--r--apps/braces.subx18
-rw-r--r--apps/calls.subx50
-rw-r--r--apps/crenshaw2-1.subx12
-rw-r--r--apps/crenshaw2-1b.subx14
-rw-r--r--apps/dquotes.subx50
-rw-r--r--apps/ex10.subx6
-rw-r--r--apps/ex11.subx8
-rw-r--r--apps/ex3.subx2
-rw-r--r--apps/ex8.subx2
-rw-r--r--apps/factorial.subx4
-rw-r--r--apps/factorial2.subx4
-rw-r--r--apps/factorial3.subx4
-rw-r--r--apps/factorial4.subx10
-rw-r--r--apps/handle.subx6
-rw-r--r--apps/hex.subx44
-rw-r--r--apps/mu.subx220
-rw-r--r--apps/mulisp.subx8
-rw-r--r--apps/pack.subx98
-rw-r--r--apps/sigils.subx96
-rw-r--r--apps/survey.subx74
-rw-r--r--apps/tests.subx12
-rw-r--r--html/050_write.subx.html2
-rw-r--r--html/052kernel-string-equal.subx.html8
-rw-r--r--html/054string-equal.subx.html6
-rw-r--r--html/055stream.subx.html2
-rw-r--r--html/056trace.subx.html22
-rw-r--r--html/057write.subx.html2
-rw-r--r--html/058stream-equal.subx.html16
-rw-r--r--html/059stop.subx.html2
-rw-r--r--html/060read.subx.html6
-rw-r--r--html/061read-byte.subx.html4
-rw-r--r--html/062write-stream.subx.html4
-rw-r--r--html/064write-byte.subx.html4
-rw-r--r--html/065write-buffered.subx.html4
-rw-r--r--html/066print-int.subx.html6
-rw-r--r--html/067parse-hex.subx.html42
-rw-r--r--html/069allocate.subx.html4
-rw-r--r--html/070new-stream.subx.html2
-rw-r--r--html/071read-line.subx.html14
-rw-r--r--html/072slice.subx.html28
-rw-r--r--html/073next-token.subx.html66
-rw-r--r--html/075print-int-decimal.subx.html14
-rw-r--r--html/076next-word.subx.html4
-rw-r--r--html/077subx-words.subx.html16
-rw-r--r--html/078emit-hex.subx.html2
-rw-r--r--html/079emit.subx.html2
-rw-r--r--html/080zero-out.subx.html2
-rw-r--r--html/081table.subx.html36
-rw-r--r--html/082slurp.subx.html6
-rw-r--r--html/083subx-widths.subx.html8
-rw-r--r--html/084emit-hex-array.subx.html2
-rw-r--r--html/085next-word-or-string.subx.html6
-rw-r--r--html/091write-int.subx.html2
-rw-r--r--html/092stack.subx.html8
-rw-r--r--html/100array-equal.subx.html14
-rw-r--r--html/apps/assort.subx.html16
-rw-r--r--html/apps/braces.subx.html18
-rw-r--r--html/apps/calls.subx.html50
-rw-r--r--html/apps/crenshaw2-1.subx.html12
-rw-r--r--html/apps/crenshaw2-1b.subx.html14
-rw-r--r--html/apps/dquotes.subx.html50
-rw-r--r--html/apps/ex10.subx.html6
-rw-r--r--html/apps/ex11.subx.html8
-rw-r--r--html/apps/ex3.subx.html2
-rw-r--r--html/apps/ex8.subx.html2
-rw-r--r--html/apps/factorial.subx.html4
-rw-r--r--html/apps/factorial2.subx.html4
-rw-r--r--html/apps/factorial3.subx.html4
-rw-r--r--html/apps/factorial4.subx.html10
-rw-r--r--html/apps/handle.subx.html6
-rw-r--r--html/apps/hex.subx.html44
-rw-r--r--html/apps/mu.subx.html220
-rw-r--r--html/apps/mulisp.subx.html8
-rw-r--r--html/apps/pack.subx.html98
-rw-r--r--html/apps/sigils.subx.html96
-rw-r--r--html/apps/survey.subx.html70
-rw-r--r--html/apps/tests.subx.html12
-rw-r--r--mu-init-test.subx4
-rwxr-xr-xtools/update_html16
114 files changed, 1124 insertions, 1140 deletions
diff --git a/050_write.subx b/050_write.subx
index 05b20a4c..a7467b0d 100644
--- a/050_write.subx
+++ b/050_write.subx
@@ -34,7 +34,7 @@ _write:  # fd : int, s : (addr array byte)
     cd/syscall  0x80/imm8
     # if (eax < 0) abort
     3d/compare-eax-with  0/imm32
-    0f 8c/jump-if-lesser  $_write:abort/disp32
+    0f 8c/jump-if-<  $_write:abort/disp32
 $_write:end:
     # . restore registers
     5b/pop-to-ebx
diff --git a/052kernel-string-equal.subx b/052kernel-string-equal.subx
index 94953e59..248b08e4 100644
--- a/052kernel-string-equal.subx
+++ b/052kernel-string-equal.subx
@@ -78,17 +78,17 @@ kernel-string-equal?:  # s : (addr kernel-string), benchmark : (addr array byte)
 $kernel-string-equal?:loop:
     # if (i >= n) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    7d/jump-if-greater-or-equal  $kernel-string-equal?:break/disp8
+    7d/jump-if->=  $kernel-string-equal?:break/disp8
     # c1 = *s1
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           0/r32/AL    .               .                 # copy byte at *edi to AL
     # c2 = *s2
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           3/r32/BL    .               .                 # copy byte at *esi to BL
     # if (c1 == 0) return false
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $kernel-string-equal?:false/disp8
+    74/jump-if-=  $kernel-string-equal?:false/disp8
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
-    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+    75/jump-if-!=  $kernel-string-equal?:false/disp8
     # ++i
     41/increment-ecx
     # ++s1
@@ -100,7 +100,7 @@ $kernel-string-equal?:break:
     # return *s1 == 0
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           0/r32/AL    .               .                 # copy byte at *edi to AL
     3d/compare-eax-and  0/imm32
-    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+    75/jump-if-!=  $kernel-string-equal?:false/disp8
 $kernel-string-equal?:true:
     b8/copy-to-eax  1/imm32
     eb/jump  $kernel-string-equal?:end/disp8
diff --git a/054string-equal.subx b/054string-equal.subx
index a34130ec..67f54a66 100644
--- a/054string-equal.subx
+++ b/054string-equal.subx
@@ -50,7 +50,7 @@ string-equal?:  # s : (addr array byte), benchmark : (addr array byte) -> eax :
 $string-equal?:lengths:
     # if (ecx != benchmark->length) return false
     39/compare                      0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # compare *edi and ecx
-    75/jump-if-not-equal  $string-equal?:false/disp8
+    75/jump-if-!=  $string-equal?:false/disp8
     # var currs/esi : (addr byte) = s->data
     81          0/subop/add         3/mod/direct    6/rm32/esi    .           .             .           .           .               4/imm32           # add to esi
     # var maxs/ecx : (addr byte) = &s->data[s->length]
@@ -64,14 +64,14 @@ $string-equal?:lengths:
 $string-equal?:loop:
     # if (currs >= maxs) return true
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare esi with ecx
-    73/jump-if-greater-or-equal-unsigned  $string-equal?:true/disp8
+    73/jump-if-addr>=  $string-equal?:true/disp8
     # c1 = *currs
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # c2 = *currb
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           2/r32/DL    .               .                 # copy byte at *edi to DL
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax and edx
-    75/jump-if-not-equal  $string-equal?:false/disp8
+    75/jump-if-!=  $string-equal?:false/disp8
     # ++currs
     46/increment-esi
     # ++currb
diff --git a/055stream.subx b/055stream.subx
index dbeb8495..28267e05 100644
--- a/055stream.subx
+++ b/055stream.subx
@@ -36,7 +36,7 @@ clear-stream:  # f : (addr stream byte)
 $clear-stream:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    73/jump-if-greater-or-equal-unsigned  $clear-stream:end/disp8
+    73/jump-if-addr>=  $clear-stream:end/disp8
     # *curr = 0
     c6          0/subop/copy-byte   0/mod/direct    0/rm32/eax    .           .             .           .           .               0/imm8            # copy byte to *eax
     # ++curr
diff --git a/056trace.subx b/056trace.subx
index e99f559f..73da4a9a 100644
--- a/056trace.subx
+++ b/056trace.subx
@@ -117,7 +117,7 @@ trace:  # line : (addr array byte)
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # if (eax == 0) return
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $trace:end/disp8
+    74/jump-if-=  $trace:end/disp8
     # t->write += eax
     01/add                          0/mod/indirect  7/rm32/edi    .           .             .           0/r32/eax   .               .                 # add eax to *edi
     # refresh ecx = t->write
@@ -335,7 +335,7 @@ trace-scan:  # line : (addr array byte) -> result/eax : boolean
 $trace-scan:loop:
     # if (Trace-stream->read >= Trace-stream->write) return false
     39/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare ecx with *(esi+4)
-    7d/jump-if-greater-or-equal  $trace-scan:false/disp8
+    7d/jump-if->=  $trace-scan:false/disp8
     # eax = next-line-matches?(Trace-stream, line)
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         .                 # push *(ebp+8)
@@ -346,7 +346,7 @@ $trace-scan:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # if (eax == false) continue
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $trace-scan:continue/disp8
+    74/jump-if-=  $trace-scan:continue/disp8
 $trace-scan:true:
     # skip-next-line(Trace-stream)
     # . . push args
@@ -604,12 +604,12 @@ next-line-matches?:  # t : (addr stream byte), line : (addr array byte) -> resul
 $next-line-matches?:loop:
     # if (currl >= maxl) break
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare esi and ecx
-    73/jump-if-greater-or-equal-unsigned  $next-line-matches?:break/disp8
+    73/jump-if-addr>=  $next-line-matches?:break/disp8
     # if (currt >= maxt) return false
     # . eax = false
     b8/copy-to-eax  0/imm32/false
     39/compare                      3/mod/direct    7/rm32/edi    .           .             .           2/r32/edx   .               .                 # compare edi and edx
-    73/jump-if-greater-or-equal-unsigned  $next-line-matches?:end/disp8
+    73/jump-if-addr>=  $next-line-matches?:end/disp8
     # if (*currt != *currl) return false
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     31/xor                          3/mod/direct    3/rm32/eax    .           .             .           3/r32/eax   .               .                 # clear ebx
@@ -621,7 +621,7 @@ $next-line-matches?:loop:
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
     # . eax = false
     b8/copy-to-eax  0/imm32/false
-    75/jump-if-not-equal  $next-line-matches?:end/disp8
+    75/jump-if-!=  $next-line-matches?:end/disp8
     # ++currt
     47/increment-edi
     # ++currl
@@ -635,7 +635,7 @@ $next-line-matches?:break:
     3d/compare-eax-and  0xa/imm32/newline
     # . eax = false
     b8/copy-to-eax  1/imm32/true
-    74/jump-if-equal  $next-line-matches?:end/disp8
+    74/jump-if-=  $next-line-matches?:end/disp8
     b8/copy-to-eax  0/imm32/true
 $next-line-matches?:end:
     # . restore registers
@@ -771,14 +771,14 @@ skip-next-line:  # t : (addr stream byte)
 $skip-next-line:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx and ebx
-    73/jump-if-greater-or-equal-unsigned  $skip-next-line:end/disp8
+    73/jump-if-addr>=  $skip-next-line:end/disp8
     # ++i
     42/increment-edx
     # if (*curr == '\n') break
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/eax   .               .                 # copy *ecx to eax
     3d/compare-eax-and  0a/imm32/newline
-    74/jump-if-equal  $skip-next-line:end/disp8
+    74/jump-if-=  $skip-next-line:end/disp8
     # ++curr
     41/increment-ecx
     # loop
@@ -917,10 +917,10 @@ _append-4:  # out : (addr byte), outend : (addr byte), in : (addr byte), inend :
 $_append-4:loop:
     # if (in >= inend) break
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare esi with ecx
-    73/jump-if-greater-or-equal-unsigned  $_append-4:end/disp8
+    73/jump-if-addr>=  $_append-4:end/disp8
     # if (out >= outend) abort  # just to catch test failures fast
     39/compare                      3/mod/direct    7/rm32/edi    .           .             .           2/r32/edx   .               .                 # compare edi with edx
-    73/jump-if-greater-or-equal-unsigned  $_append-4:abort/disp8
+    73/jump-if-addr>=  $_append-4:abort/disp8
     # *out = *in
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           3/r32/BL    .               .                 # copy byte at *esi to BL
     88/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           3/r32/BL    .               .                 # copy byte at BL to *edi
diff --git a/057write.subx b/057write.subx
index 5ca5700b..93f0853f 100644
--- a/057write.subx
+++ b/057write.subx
@@ -27,7 +27,7 @@ write:  # f : fd or (addr stream byte), s : (addr array byte)
     89/copy                         3/mod/direct    5/rm32/ebp    .           .             .           4/r32/esp   .               .                 # copy esp to ebp
     # if (f < 0x08000000) _write(f, s) and return  # f can't be a user-mode address, so treat it as a kernel file descriptor
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x08000000/imm32  # compare *(ebp+8)
-    73/jump-if-greater-unsigned-or-equal  $write:fake/disp8
+    73/jump-if-addr>=  $write:fake/disp8
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       .                 # push *(ebp+12)
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         .                 # push *(ebp+8)
diff --git a/058stream-equal.subx b/058stream-equal.subx
index bcf6b6f2..e2009ef4 100644
--- a/058stream-equal.subx
+++ b/058stream-equal.subx
@@ -28,7 +28,7 @@ stream-data-equal?:  # f : (addr stream byte), s : (addr array byte) -> eax : bo
 $stream-data-equal?:compare-lengths:
     # if (f->write != s->length) return false
     39/compare                      0/mod/indirect  7/rm32/edi    .           .             .           0/r32/eax   .               .                 # compare *edi and eax
-    75/jump-if-not-equal  $stream-data-equal?:false/disp8
+    75/jump-if-!=  $stream-data-equal?:false/disp8
     # var currs/edi : (addr byte) = s->data
     81          0/subop/add         3/mod/direct    7/rm32/edi    .           .             .           .           .               4/imm32           # add to edi
     # var eax : byte = 0
@@ -38,14 +38,14 @@ $stream-data-equal?:compare-lengths:
 $stream-data-equal?:loop:
     # if (currf >= maxf) return true
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           2/r32/edx   .               .                 # compare esi with edx
-    73/jump-if-greater-or-equal-unsigned  $stream-data-equal?:true/disp8
+    73/jump-if-addr>=  $stream-data-equal?:true/disp8
     # AL = *currs
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # CL = *curr
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           1/r32/CL    .               .                 # copy byte at *edi to CL
     # if (eax != ecx) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax and ecx
-    75/jump-if-not-equal  $stream-data-equal?:false/disp8
+    75/jump-if-!=  $stream-data-equal?:false/disp8
     # ++f
     46/increment-esi
     # ++curr
@@ -287,20 +287,20 @@ next-stream-line-equal?:  # f : (addr stream byte), s : (addr array byte) -> eax
 $next-stream-line-equal?:loop:
     # if (currf >= f->write) break
     3b/compare                      0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare ecx with *esi
-    7d/jump-if-greater-or-equal  $next-stream-line-equal?:break/disp8
+    7d/jump-if->=  $next-stream-line-equal?:break/disp8
     # c1 = f->data[f->read]
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # if (c1 == '\n') break
     3d/compare-eax-and  0xa/imm32/newline
-    74/jump-if-equal  $next-stream-line-equal?:break/disp8
+    74/jump-if-=  $next-stream-line-equal?:break/disp8
     # if (currs >= s->length) return false
     3b/compare                      0/mod/indirect  7/rm32/edi    .           .             .           2/r32/edx   .               .                 # compare edx with *edi
-    7d/jump-if-greater-or-equal  $next-stream-line-equal?:false/disp8
+    7d/jump-if->=  $next-stream-line-equal?:false/disp8
     # c2 = s->data[currs]
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    7/base/edi  2/index/edx   .           3/r32/BL    4/disp8         .                 # copy byte at *(edi+edx+4) to BL
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
-    75/jump-if-not-equal  $next-stream-line-equal?:false/disp8
+    75/jump-if-!=  $next-stream-line-equal?:false/disp8
     # ++currf
     41/increment-ecx
     # ++currs
@@ -311,7 +311,7 @@ $next-stream-line-equal?:break:
     41/increment-ecx
     # if (currs >= s->length) return true
     3b/compare                      0/mod/indirect  7/rm32/edi    .           .             .           2/r32/edx   .               .                 # compare edx with *edi
-    7c/jump-if-lesser  $next-stream-line-equal?:false/disp8
+    7c/jump-if-<  $next-stream-line-equal?:false/disp8
 $next-stream-line-equal?:true:
     b8/copy-to-eax  1/imm32
     # persist f->read on success
diff --git a/059stop.subx b/059stop.subx
index 2db14caf..e883cbc7 100644
--- a/059stop.subx
+++ b/059stop.subx
@@ -95,7 +95,7 @@ stop:  # ed : (addr exit-descriptor), value : int
     8b/copy                         1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none  .           0/r32/eax   4/disp8         .                 # copy *(esp+4) to eax
     # if (ed->target == 0) really exit
     81          7/subop/compare     0/mod/indirect  0/rm32/eax    .           .             .           .           .               0/imm32           # compare *eax
-    75/jump-if-not-equal  $stop:fake/disp8
+    75/jump-if-!=  $stop:fake/disp8
     # . syscall(exit, value)
     8b/copy                         1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none  .           3/r32/ebx   8/disp8         .                 # copy *(esp+8) to ebx
     b8/copy-to-eax  1/imm32/exit
diff --git a/060read.subx b/060read.subx
index fc93f93d..5f75ffe7 100644
--- a/060read.subx
+++ b/060read.subx
@@ -51,7 +51,7 @@ read:  # f : fd or (addr stream byte), s : (addr stream byte) -> num-bytes-read/
     89/copy                         3/mod/direct    5/rm32/ebp    .           .             .           4/r32/esp   .               .                 # copy esp to ebp
     # if (f < 0x08000000) return _read(f, s)  # f can't be a user-mode address, so treat it as a kernel file descriptor
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x08000000/imm32  # compare *(ebp+8)
-    73/jump-if-greater-unsigned-or-equal  $read:fake/disp8
+    73/jump-if-addr>=  $read:fake/disp8
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       .                 # push *(ebp+12)
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         .                 # push *(ebp+8)
@@ -165,10 +165,10 @@ _buffer-4:  # out : address, outend : address, in : address, inend : address ->
 $_buffer-4:loop:
     # if (in >= inend) break
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare esi with ecx
-    73/jump-if-greater-or-equal-unsigned  $_buffer-4:end/disp8
+    73/jump-if-addr>=  $_buffer-4:end/disp8
     # if (out >= outend) break  # for now silently ignore filled up buffer
     39/compare                      3/mod/direct    7/rm32/edi    .           .             .           2/r32/edx   .               .                 # compare edi with edx
-    73/jump-if-greater-or-equal-unsigned  $_buffer-4:end/disp8
+    73/jump-if-addr>=  $_buffer-4:end/disp8
     # *out = *in
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           3/r32/BL    .               .                 # copy byte at *esi to BL
     88/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           3/r32/BL    .               .                 # copy byte at BL to *edi
diff --git a/061read-byte.subx b/061read-byte.subx
index 47fa209f..a2872d17 100644
--- a/061read-byte.subx
+++ b/061read-byte.subx
@@ -48,7 +48,7 @@ read-byte-buffered:  # f : (addr buffered-file) -> byte-or-Eof/eax
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   8/disp8         .                 # copy *(esi+8) to ecx
     # if (f->read >= f->write) populate stream from file
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare ecx with *(esi+4)
-    7c/jump-if-lesser  $read-byte-buffered:from-stream/disp8
+    7c/jump-if-<  $read-byte-buffered:from-stream/disp8
     # . clear-stream(stream = f+4)
     # . . push args
     8d/copy-address                 1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy esi+4 to eax
@@ -69,7 +69,7 @@ read-byte-buffered:  # f : (addr buffered-file) -> byte-or-Eof/eax
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # if (eax == 0) return 0xffffffff
     3d/compare-eax-and  0/imm32
-    75/jump-if-not-equal  $read-byte-buffered:from-stream/disp8
+    75/jump-if-!=  $read-byte-buffered:from-stream/disp8
     b8/copy-to-eax  0xffffffff/imm32/Eof
     eb/jump  $read-byte-buffered:end/disp8
 $read-byte-buffered:from-stream:
diff --git a/062write-stream.subx b/062write-stream.subx
index af6309dd..f454dcd9 100644
--- a/062write-stream.subx
+++ b/062write-stream.subx
@@ -21,7 +21,7 @@ write-stream:  # f : fd or (addr stream byte), s : (addr stream byte)
     89/copy                         3/mod/direct    5/rm32/ebp    .           .             .           4/r32/esp   .               .                 # copy esp to ebp
     # if (f < 0x08000000) _write-stream(f, s), return  # f can't be a user-mode address, so treat it as a kernel file descriptor
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x08000000/imm32  # compare *(ebp+8)
-    73/jump-if-greater-unsigned-or-equal  $write-stream:fake/disp8
+    73/jump-if-addr>=  $write-stream:fake/disp8
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       .                 # push *(ebp+12)
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         .                 # push *(ebp+8)
@@ -104,7 +104,7 @@ _write-stream:  # fd : int, s : (addr stream byte)
     cd/syscall  0x80/imm8
     # if (eax < 0) abort
     3d/compare-eax-with  0/imm32
-    0f 8c/jump-if-lesser  $_write-stream:abort/disp32
+    0f 8c/jump-if-<  $_write-stream:abort/disp32
     # s->read += eax
     01/add                          1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # add eax to *(esi+4)
     # . restore registers
diff --git a/064write-byte.subx b/064write-byte.subx
index a5f886b2..16e39619 100644
--- a/064write-byte.subx
+++ b/064write-byte.subx
@@ -43,7 +43,7 @@ write-byte-buffered:  # f : (addr buffered-file), n : int
     8b/copy                         1/mod/*+disp8   7/rm32/edi    .           .             .           1/r32/ecx   4/disp8         .                 # copy *(edi+4) to ecx
     # if (f->write >= f->length) flush and clear f's stream
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           1/r32/ecx   0xc/disp8       .                 # compare ecx with *(edi+12)
-    7c/jump-if-lesser  $write-byte-buffered:to-stream/disp8
+    7c/jump-if-<  $write-byte-buffered:to-stream/disp8
     # . flush(f)
     # . . push args
     57/push-edi
@@ -218,7 +218,7 @@ append-byte:  # f : (addr stream byte), n : int
     8b/copy                         0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # copy *edi to ecx
     # if (f->write >= f->length) abort
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           1/r32/ecx   8/disp8         .                 # compare ecx with *(edi+8)
-    7d/jump-if-greater-or-equal  $append-byte:abort/disp8
+    7d/jump-if->=  $append-byte:abort/disp8
 $append-byte:to-stream:
     # write to stream
     # f->data[f->write] = LSB(n)
diff --git a/065write-buffered.subx b/065write-buffered.subx
index 6069caaf..001f73e3 100644
--- a/065write-buffered.subx
+++ b/065write-buffered.subx
@@ -52,10 +52,10 @@ write-buffered:  # f : (addr buffered-file), msg : (addr array byte)
 $write-buffered:loop:
     # if (in >= inend) break
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare esi with ecx
-    73/jump-if-greater-or-equal-unsigned  $write-buffered:loop-end/disp8
+    73/jump-if-addr>=  $write-buffered:loop-end/disp8
     # if (f->write >= f->length) flush and clear f's stream
     39/compare                      3/mod/direct    3/rm32/ebx    .           .             .           2/r32/edx   .               .                 # compare ebx with edx
-    7c/jump-if-lesser  $write-buffered:to-stream/disp8
+    7c/jump-if-<  $write-buffered:to-stream/disp8
     # . persist f->write
     89/copy                         1/mod/*+disp8   7/rm32/edi    .           .             .           3/r32/ebx   4/disp8         .                 # copy ebx to *(edi+4)
     # . flush(f)
diff --git a/066print-int.subx b/066print-int.subx
index dacf9ef5..91518dbe 100644
--- a/066print-int.subx
+++ b/066print-int.subx
@@ -10,7 +10,7 @@ to-hex-char:  # in/eax : int -> out/eax : int
     # no error checking; accepts argument in eax
     # if (eax <= 9) return eax + '0'
     3d/compare-eax-with  0x9/imm32/9
-    7f/jump-if-greater  $to-hex-char:else/disp8
+    7f/jump-if->  $to-hex-char:else/disp8
     05/add-to-eax  0x30/imm32/0
     c3/return
 $to-hex-char:else:
@@ -206,7 +206,7 @@ $print-int32:print-hex-prefix:
 $print-int32:loop:
     # if (ecx < 0) break
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0/imm32           # compare ecx
-    7c/jump-if-lesser  $print-int32:end/disp8
+    7c/jump-if-<  $print-int32:end/disp8
     # eax = n >> ecx
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   0xc/disp8       .                 # copy *(ebp+12) to eax
     d3/>>ecx    5/subop/pad-zeroes  3/mod/direct    0/rm32/eax    .           .             .           .           .               .                 # shift eax right by ecx bits, padding zeroes
@@ -294,7 +294,7 @@ $print-int32-buffered:print-hex-prefix:
 $print-int32-buffered:loop:
     # if (ecx < 0) break
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0/imm32           # compare ecx
-    7c/jump-if-lesser  $print-int32-buffered:end/disp8
+    7c/jump-if-<  $print-int32-buffered:end/disp8
     # eax = n >> ecx
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   0xc/disp8       .                 # copy *(ebp+12) to eax
     d3/>>ecx    5/subop/pad-zeroes  3/mod/direct    0/rm32/eax    .           .             .           .           .               .                 # shift eax right by ecx bits, padding zeroes
diff --git a/067parse-hex.subx b/067parse-hex.subx
index 6573b358..fde26e39 100644
--- a/067parse-hex.subx
+++ b/067parse-hex.subx
@@ -23,13 +23,13 @@ is-hex-int?:  # in : (addr slice) -> eax : boolean
     # if s is empty return false
     b8/copy-to-eax  0/imm32/false
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:end/disp8
+    73/jump-if-addr>=  $is-hex-int?:end/disp8
     # skip past leading '-'
     # . if (*curr == '-') ++curr
     31/xor                          3/mod/direct    3/rm32/ebx    .           .             .           3/r32/ebx   .               .                 # clear ebx
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           3/r32/BL    .               .                 # copy byte at *ecx to BL
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x2d/imm32/-      # compare ebx
-    75/jump-if-not-equal  $is-hex-int?:initial-0/disp8
+    75/jump-if-!=  $is-hex-int?:initial-0/disp8
     # . ++curr
     41/increment-ecx
     # skip past leading '0x'
@@ -38,24 +38,24 @@ $is-hex-int?:initial-0:
     31/xor                          3/mod/direct    3/rm32/ebx    .           .             .           3/r32/ebx   .               .                 # clear ebx
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           3/r32/BL    .               .                 # copy byte at *ecx to BL
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x30/imm32/0      # compare ebx
-    75/jump-if-not-equal  $is-hex-int?:loop/disp8
+    75/jump-if-!=  $is-hex-int?:loop/disp8
     # . ++curr
     41/increment-ecx
 $is-hex-int?:initial-0x:
     # . if (curr >= in->end) return true
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:true/disp8
+    73/jump-if-addr>=  $is-hex-int?:true/disp8
     # . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again
     31/xor                          3/mod/direct    3/rm32/ebx    .           .             .           3/r32/ebx   .               .                 # clear ebx
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           3/r32/BL    .               .                 # copy byte at *ecx to BL
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x78/imm32/x      # compare ebx
-    75/jump-if-not-equal  $is-hex-int?:loop/disp8
+    75/jump-if-!=  $is-hex-int?:loop/disp8
     # . ++curr
     41/increment-ecx
 $is-hex-int?:loop:
     # if (curr >= in->end) return true
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:true/disp8
+    73/jump-if-addr>=  $is-hex-int?:true/disp8
     # var eax : boolean = is-hex-digit?(*curr)
     # . . push args
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
@@ -66,7 +66,7 @@ $is-hex-int?:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # if (eax == false) return false
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $is-hex-int?:end/disp8
+    74/jump-if-=  $is-hex-int?:end/disp8
     # ++curr
     41/increment-ecx
     # loop
@@ -375,7 +375,7 @@ $parse-hex-int:negative:
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x2d/imm32/-
-    75/jump-if-not-equal  $parse-hex-int:initial-0/disp8
+    75/jump-if-!=  $parse-hex-int:initial-0/disp8
     # . ++curr
     41/increment-ecx
     # . negate = true
@@ -385,24 +385,24 @@ $parse-hex-int:initial-0:
     # . if (*curr != '0') jump to loop
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x30/imm32/0
-    75/jump-if-not-equal  $parse-hex-int:loop/disp8
+    75/jump-if-!=  $parse-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $parse-hex-int:initial-0x:
     # . if (curr >= in->end) return result
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $parse-hex-int:end/disp8
+    73/jump-if-addr>=  $parse-hex-int:end/disp8
     # . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x78/imm32/x
-    75/jump-if-not-equal  $parse-hex-int:loop/disp8
+    75/jump-if-!=  $parse-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $parse-hex-int:loop:
     # if (curr >= in->end) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $parse-hex-int:negate/disp8
+    73/jump-if-addr>=  $parse-hex-int:negate/disp8
     # var eax : int = from-hex-char(*curr)
     # . . copy arg to eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
@@ -418,7 +418,7 @@ $parse-hex-int:loop:
 $parse-hex-int:negate:
     # if (negate?) result = -result
     81          7/subop/compare     3/mod/direct    6/rm32/esi    .           .             .           .           .               0/imm32/false     # compare esi
-    74/jump-if-equal  $parse-hex-int:end/disp8
+    74/jump-if-=  $parse-hex-int:end/disp8
     f7          3/subop/negate      3/mod/direct    3/rm32/ebx    .           .             .           .           .               .                 # negate ebx
 $parse-hex-int:end:
     # return result
@@ -647,18 +647,18 @@ is-hex-digit?:  # c : byte -> eax : boolean
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           1/r32/ecx   8/disp8         .                 # copy *(ebp+8) to ecx
     # return false if c < '0'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x30/imm32        # compare ecx
-    7c/jump-if-lesser  $is-hex-digit?:false/disp8
+    7c/jump-if-<  $is-hex-digit?:false/disp8
     # return true if c <= '9'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x39/imm32        # compare ecx
-    7e/jump-if-lesser-or-equal  $is-hex-digit?:true/disp8
+    7e/jump-if-<=  $is-hex-digit?:true/disp8
     # drop case
     25/and-eax-with 0x5f/imm32
     # return false if c > 'f'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x66/imm32        # compare ecx
-    7f/jump-if-greater  $is-hex-digit?:false/disp8
+    7f/jump-if->  $is-hex-digit?:false/disp8
     # return true if c >= 'a'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x61/imm32        # compare ecx
-    7d/jump-if-greater-or-equal  $is-hex-digit?:true/disp8
+    7d/jump-if->=  $is-hex-digit?:true/disp8
     # otherwise return false
 $is-hex-digit?:false:
     b8/copy-to-eax  0/imm32/false
@@ -804,15 +804,15 @@ from-hex-char:  # in/eax : byte -> out/eax : nibble
 $from-hex-char:check0:
     # if (eax < '0') goto abort
     3d/compare-eax-with  0x30/imm32/0
-    7c/jump-if-lesser  $from-hex-char:abort/disp8
+    7c/jump-if-<  $from-hex-char:abort/disp8
 $from-hex-char:check1:
     # if (eax > 'f') goto abort
     3d/compare-eax-with  0x66/imm32/f
-    7f/jump-if-greater  $from-hex-char:abort/disp8
+    7f/jump-if->  $from-hex-char:abort/disp8
 $from-hex-char:check2:
     # if (eax > '9') goto next check
     3d/compare-eax-with  0x39/imm32/9
-    7f/jump-if-greater  $from-hex-char:check3/disp8
+    7f/jump-if->  $from-hex-char:check3/disp8
 $from-hex-char:digit:
     # return eax - '0'
     2d/subtract-from-eax  0x30/imm32/0
@@ -820,7 +820,7 @@ $from-hex-char:digit:
 $from-hex-char:check3:
     # if (eax < 'a') goto abort
     3d/compare-eax-with  0x61/imm32/a
-    7c/jump-if-lesser  $from-hex-char:abort/disp8
+    7c/jump-if-<  $from-hex-char:abort/disp8
 $from-hex-char:letter:
     # return eax - ('a'-10)
     2d/subtract-from-eax  0x57/imm32/a-10
diff --git a/069allocate.subx b/069allocate.subx
index 625f6c3a..8491fe25 100644
--- a/069allocate.subx
+++ b/069allocate.subx
@@ -72,7 +72,7 @@ allocate:  # ad : (addr allocation-descriptor), n : int -> address-or-null/eax :
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           0/r32/eax   .               .                 # copy eax to edx
     03/add                          1/mod/*+disp8   5/rm32/ebp    .           .             .           2/r32/edx   0xc/disp8       .                 # add *(ebp+12) to edx
     3b/compare                      1/mod/*+disp8   1/rm32/ecx    .           .             .           2/r32/edx   4/disp8         .                 # compare edx with *(ecx+4)
-    73/jump-if-greater-or-equal-signed  $allocate:abort/disp8
+    73/jump-if->=-signed  $allocate:abort/disp8
 $allocate:commit:
     # update ad->curr
     89/copy                         0/mod/indirect  1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # copy edx to *ecx
@@ -196,7 +196,7 @@ allocate-region:  # ad : (addr allocation-descriptor), n : int -> new-ad : (hand
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # if (eax == 0) abort
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $allocate-region:abort/disp8
+    74/jump-if-=  $allocate-region:abort/disp8
     # earmark 8 bytes at the start for a new allocation descriptor
     # . *eax = eax + 8
     89/copy                         3/mod/direct    1/rm32/ecx    .           .             .           0/r32/eax   .               .                 # copy eax to ecx
diff --git a/070new-stream.subx b/070new-stream.subx
index a011a4a5..55822c5b 100644
--- a/070new-stream.subx
+++ b/070new-stream.subx
@@ -19,7 +19,7 @@ new-stream:  # ad : (addr allocation-descriptor), length : int, elemsize : int -
     f7          4/subop/multiply    1/mod/*+disp8   5/rm32/ebp    .           .                                     0xc/disp8       .                 # multiply *(ebp+12) into eax
     # . if overflow abort
     81          7/subop/compare     3/mod/direct    2/rm32/edx    .           .             .           .           .               0/imm32           # compare edx
-    75/jump-if-not-equal  $new-stream:abort/disp8
+    75/jump-if-!=  $new-stream:abort/disp8
     # . edx = elemsize*length
     89/copy                         3/mod/direct    2/rm32/edx    .           .             .           0/r32/eax   .               .                 # copy eax to edx
     # . eax += 12
diff --git a/071read-line.subx b/071read-line.subx
index ee52e44f..1dcdf8b9 100644
--- a/071read-line.subx
+++ b/071read-line.subx
@@ -37,10 +37,10 @@ read-line-buffered:  # f : (addr buffered-file), s : (addr stream byte)
 $read-line-buffered:loop:
     # if (s->write >= s->length) abort
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           2/r32/edx   8/disp8         .                 # compare edx with *(edi+8)
-    7d/jump-if-greater-or-equal  $read-line-buffered:abort/disp8
+    7d/jump-if->=  $read-line-buffered:abort/disp8
     # if (f->read >= f->write) populate stream from file
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare ecx with *(esi+4)
-    7c/jump-if-lesser  $read-line-buffered:from-stream/disp8
+    7c/jump-if-<  $read-line-buffered:from-stream/disp8
     # . clear-stream(stream = f+4)
     # . . push args
     8d/copy-address                 1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy esi+4 to eax
@@ -63,7 +63,7 @@ $read-line-buffered:loop:
     # since f->read was initially 0, eax is the same as f->write
     # . if (eax == 0) return true
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $read-line-buffered:end/disp8
+    74/jump-if-=  $read-line-buffered:end/disp8
 $read-line-buffered:from-stream:
     # AL = f->data[f->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
@@ -76,7 +76,7 @@ $read-line-buffered:from-stream:
     42/increment-edx
     # if (AL == '\n') return
     3d/compare-eax-and  0xa/imm32
-    75/jump-if-not-equal  $read-line-buffered:loop/disp8
+    75/jump-if-!=  $read-line-buffered:loop/disp8
 $read-line-buffered:end:
     # save f->read
     89/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   8/disp8         .                 # copy ecx to *(esi+8)
@@ -246,10 +246,10 @@ read-line:  # f : (addr stream byte), s : (addr stream byte)
 $read-line:loop:
     # if (s->write >= s->length) abort
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           2/r32/edx   8/disp8         .                 # compare edx with *(edi+8)
-    0f 8d/jump-if-greater-or-equal  $read-line:abort/disp32
+    0f 8d/jump-if->=  $read-line:abort/disp32
     # if (f->read >= f->write) break
     3b/compare                      0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare ecx with *esi
-    7d/jump-if-greater-or-equal  $read-line:end/disp8
+    7d/jump-if->=  $read-line:end/disp8
     # AL = f->data[f->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
@@ -261,7 +261,7 @@ $read-line:loop:
     42/increment-edx
     # if (AL == '\n') return
     3d/compare-eax-and  0xa/imm32
-    0f 85/jump-if-not-equal  $read-line:loop/disp32
+    0f 85/jump-if-!=  $read-line:loop/disp32
 $read-line:end:
     # save f->read
     89/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # copy ecx to *(esi+4)
diff --git a/072slice.subx b/072slice.subx
index 2edeed75..65db1c16 100644
--- a/072slice.subx
+++ b/072slice.subx
@@ -20,7 +20,7 @@ slice-empty?:  # s : (addr slice) -> eax : boolean
     # . compare eax and s->end
     39/compare                      1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # compare eax and *(ecx+4)
     b8/copy-to-eax  1/imm32/true
-    74/jump-if-equal  $slice-empty?:end/disp8
+    74/jump-if-=  $slice-empty?:end/disp8
     b8/copy-to-eax  0/imm32/false
 $slice-empty?:end:
     # . restore registers
@@ -129,16 +129,16 @@ slice-equal?:  # s : (addr slice), p : (addr array byte) -> eax : boolean
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           3/r32/ebx   0xc/disp8       .                 # copy *(ebp+12) to ebx
     # if (p != 0) goto next check
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32           # compare ebx
-    75/jump-if-not-equal  $slice-equal?:nonnull-string/disp8
+    75/jump-if-!=  $slice-equal?:nonnull-string/disp8
 $slice-equal?:null-string:
     # return s->start == s->end
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $slice-equal?:true/disp8
+    74/jump-if-=  $slice-equal?:true/disp8
     eb/jump  $slice-equal?:false/disp8
 $slice-equal?:nonnull-string:
     # if (slen != p->length) return false
     39/compare                      0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/eax   .               .                 # compare *ebx and eax
-    75/jump-if-not-equal  $slice-equal?:false/disp8
+    75/jump-if-!=  $slice-equal?:false/disp8
     # var currp/ebx : (addr byte) = p->data
     81          0/subop/add         3/mod/direct    3/rm32/ebx    .           .             .           .           .               4/imm32           # add to ebx
     # var c1/eax : byte = 0
@@ -148,14 +148,14 @@ $slice-equal?:nonnull-string:
 $slice-equal?:loop:
     # if (currs >= maxs) return true
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           6/r32/esi   .               .                 # compare edx with esi
-    73/jump-if-greater-or-equal-unsigned  $slice-equal?:true/disp8
+    73/jump-if-addr>=  $slice-equal?:true/disp8
     # c1 = *currp
     8a/copy-byte                    0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/AL    .               .                 # copy byte at *ebx to AL
     # c2 = *currs
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           1/r32/CL    .               .                 # copy byte at *edx to CL
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax and ecx
-    75/jump-if-not-equal  $slice-equal?:false/disp8
+    75/jump-if-!=  $slice-equal?:false/disp8
     # ++currp
     43/increment-ebx
     # ++currs
@@ -497,7 +497,7 @@ slice-starts-with?:  # s : (addr slice), head : (addr array byte) -> eax : boole
     8b/copy                         0/mod/indirect  7/rm32/edi    .           .             .           2/r32/edx   .               .                 # copy *edi to edx
     # if (lenh > lens) return false
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           1/r32/ecx   .               .                 # compare edx with ecx
-    7f/jump-if-greater  $slice-starts-with?:false/disp8
+    7f/jump-if->  $slice-starts-with?:false/disp8
     # var currs/esi : (addr byte) = s->start
     8b/subtract                     0/mod/indirect  6/rm32/esi    .           .             .           6/r32/esi   .               .                 # copy *esi to esi
     # var currh/edi : (addr byte) = head->data
@@ -511,14 +511,14 @@ slice-starts-with?:  # s : (addr slice), head : (addr array byte) -> eax : boole
 $slice-starts-with?:loop:
     # if (i >= lenh) return true
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    7d/jump-if-greater-or-equal  $slice-starts-with?:true/disp8
+    7d/jump-if->=  $slice-starts-with?:true/disp8
     # c1 = *currs
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # c2 = *currh
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           3/r32/BL    .               .                 # copy byte at *edi to BL
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
-    75/jump-if-not-equal  $slice-starts-with?:false/disp8
+    75/jump-if-!=  $slice-starts-with?:false/disp8
     # ++i
     41/increment-ecx
     # ++currs
@@ -787,10 +787,10 @@ write-slice:  # out : (addr stream byte), s : (addr slice)
 $write-slice:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           6/r32/esi   .               .                 # compare ecx with esi
-    73/jump-if-greater-or-equal-unsigned  $write-slice:loop-end/disp8
+    73/jump-if-addr>=  $write-slice:loop-end/disp8
     # if (out->write >= out->length) abort
     39/compare                      3/mod/direct    3/rm32/ebx    .           .             .           2/r32/edx   .               .                 # compare ebx with edx
-    7d/jump-if-greater-or-equal  $write-slice:abort/disp8
+    7d/jump-if->=  $write-slice:abort/disp8
     # out->data[out->write] = *in
     # . AL = *in
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
@@ -903,10 +903,10 @@ write-slice-buffered:  # out : (addr buffered-file), s : (addr slice)
 $write-slice-buffered:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           6/r32/esi   .               .                 # compare ecx with esi
-    73/jump-if-greater-or-equal-unsigned  $write-slice-buffered:loop-end/disp8
+    73/jump-if-addr>=  $write-slice-buffered:loop-end/disp8
     # if (out->write >= out->length) flush and clear out's stream
     39/compare                      3/mod/direct    3/rm32/ebx    .           .             .           2/r32/edx   .               .                 # compare ebx with edx
-    7c/jump-if-lesser  $write-slice-buffered:to-stream/disp8
+    7c/jump-if-<  $write-slice-buffered:to-stream/disp8
     # . persist out->write
     89/copy                         1/mod/*+disp8   7/rm32/edi    .           .             .           3/r32/ebx   4/disp8         .                 # copy ebx to *(edi+4)
     # . flush(out)
@@ -1041,7 +1041,7 @@ slice-to-string:  # ad : (addr allocation-descriptor), in : (addr slice) -> out/
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # if (eax == 0) abort
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $slice-to-string:abort/disp8
+    74/jump-if-=  $slice-to-string:abort/disp8
     # out->length = size-4
     89/copy                         0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # copy ecx to *eax
     81          5/subop/subtract    0/mod/indirect  0/rm32/eax    .           .             .           .           .               4/imm32           # subtract 4 from *eax
diff --git a/073next-token.subx b/073next-token.subx
index bbcded35..b85dc686 100644
--- a/073next-token.subx
+++ b/073next-token.subx
@@ -359,13 +359,13 @@ skip-chars-matching:  # in : (addr stream byte), delimiter : byte
 $skip-chars-matching:loop:
     # if (in->read >= in->write) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx with ebx
-    7d/jump-if-greater-or-equal  $skip-chars-matching:end/disp8
+    7d/jump-if->=  $skip-chars-matching:end/disp8
     # eax = in->data[in->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # if (eax != delimiter) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax and edx
-    75/jump-if-not-equal  $skip-chars-matching:end/disp8
+    75/jump-if-!=  $skip-chars-matching:end/disp8
     # ++in->read
     41/increment-ecx
     eb/jump  $skip-chars-matching:loop/disp8
@@ -479,22 +479,22 @@ skip-chars-matching-whitespace:  # in : (addr stream byte)
 $skip-chars-matching-whitespace:loop:
     # if (in->read >= in->write) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx with ebx
-    7d/jump-if-greater-or-equal  $skip-chars-matching-whitespace:end/disp8
+    7d/jump-if->=  $skip-chars-matching-whitespace:end/disp8
     # eax = in->data[in->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # if (eax == ' ') goto body
     3d/compare-eax-and  0x20/imm32/space
-    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
     # if (eax == '\n') goto body
     3d/compare-eax-and  0x0a/imm32/newline
-    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
     # if (eax == '\t') goto body
     3d/compare-eax-and  0x09/imm32/tab
-    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
     # if (eax != '\r') break
     3d/compare-eax-and  0x0d/imm32/cr
-    75/jump-if-not-equal  $skip-chars-matching-whitespace:end/disp8
+    75/jump-if-!=  $skip-chars-matching-whitespace:end/disp8
 $skip-chars-matching-whitespace:body:
     # ++in->read
     41/increment-ecx
@@ -572,13 +572,13 @@ skip-chars-not-matching:  # in : (addr stream byte), delimiter : byte
 $skip-chars-not-matching:loop:
     # if (in->read >= in->write) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx with ebx
-    7d/jump-if-greater-or-equal  $skip-chars-not-matching:end/disp8
+    7d/jump-if->=  $skip-chars-not-matching:end/disp8
     # eax = in->data[in->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # if (eax == delimiter) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax and edx
-    74/jump-if-equal  $skip-chars-not-matching:end/disp8
+    74/jump-if-=  $skip-chars-not-matching:end/disp8
     # ++in->read
     41/increment-ecx
     eb/jump  $skip-chars-not-matching:loop/disp8
@@ -731,22 +731,22 @@ skip-chars-not-matching-whitespace:  # in : (addr stream byte)
 $skip-chars-not-matching-whitespace:loop:
     # if (in->read >= in->write) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx with ebx
-    7d/jump-if-greater-or-equal  $skip-chars-not-matching-whitespace:end/disp8
+    7d/jump-if->=  $skip-chars-not-matching-whitespace:end/disp8
     # eax = in->data[in->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # if (eax == ' ') break
     3d/compare-eax-and  0x20/imm32/space
-    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
     # if (eax == '\n') break
     3d/compare-eax-and  0x0a/imm32/newline
-    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
     # if (eax == '\t') break
     3d/compare-eax-and  0x09/imm32/tab
-    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
     # if (eax == '\r') break
     3d/compare-eax-and  0x0d/imm32/cr
-    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
     # ++in->read
     41/increment-ecx
     eb/jump  $skip-chars-not-matching-whitespace:loop/disp8
@@ -820,12 +820,12 @@ skip-chars-matching-in-slice:  # curr : (addr byte), end : (addr byte), delimite
 $skip-chars-matching-in-slice:loop:
     # if (curr >= end) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    73/jump-if-greater-or-equal-unsigned  $skip-chars-matching-in-slice:end/disp8
+    73/jump-if-addr>=  $skip-chars-matching-in-slice:end/disp8
     # c = *curr
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           3/r32/BL    .               .                 # copy byte at *eax to BL
     # if (c != delimiter) break
     39/compare                      3/mod/direct    3/rm32/ebx    .           .             .           2/r32/edx   .               .                 # compare ebx and edx
-    75/jump-if-not-equal  $skip-chars-matching-in-slice:end/disp8
+    75/jump-if-!=  $skip-chars-matching-in-slice:end/disp8
     # ++curr
     40/increment-eax
     eb/jump  $skip-chars-matching-in-slice:loop/disp8
@@ -913,21 +913,21 @@ skip-chars-matching-whitespace-in-slice:  # curr : (addr byte), end : (addr byte
 $skip-chars-matching-whitespace-in-slice:loop:
     # if (curr >= end) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    0f 83/jump-if-greater-or-equal-unsigned  $skip-chars-matching-in-slice:end/disp32
+    0f 83/jump-if-addr>=  $skip-chars-matching-in-slice:end/disp32
     # c = *curr
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           3/r32/BL    .               .                 # copy byte at *eax to BL
     # if (c == ' ') goto body
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x20/imm32/space  # compare ebx
-    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
     # if (c == '\n') goto body
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x0a/imm32/newline  # compare ebx
-    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
     # if (c == '\t') goto body
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x09/imm32/tab    # compare ebx
-    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
     # if (c != '\r') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x0d/imm32/cr     # compare ebx
-    75/jump-if-not-equal  $skip-chars-matching-whitespace-in-slice:end/disp8
+    75/jump-if-!=  $skip-chars-matching-whitespace-in-slice:end/disp8
 $skip-chars-matching-whitespace-in-slice:body:
     # ++curr
     40/increment-eax
@@ -989,12 +989,12 @@ skip-chars-not-matching-in-slice:  # curr : (addr byte), end : (addr byte), deli
 $skip-chars-not-matching-in-slice:loop:
     # if (curr >= end) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    73/jump-if-greater-or-equal-unsigned  $skip-chars-not-matching-in-slice:end/disp8
+    73/jump-if-addr>=  $skip-chars-not-matching-in-slice:end/disp8
     # c = *curr
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           3/r32/BL    .               .                 # copy byte at *eax to BL
     # if (c == delimiter) break
     39/compare                      3/mod/direct    3/rm32/ebx    .           .             .           2/r32/edx   .               .                 # compare ebx and edx
-    74/jump-if-equal  $skip-chars-not-matching-in-slice:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-in-slice:end/disp8
     # ++curr
     40/increment-eax
     eb/jump  $skip-chars-not-matching-in-slice:loop/disp8
@@ -1111,21 +1111,21 @@ skip-chars-not-matching-whitespace-in-slice:  # curr : (addr byte), end : (addr
 $skip-chars-not-matching-whitespace-in-slice:loop:
     # if (curr >= end) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    0f 83/jump-if-greater-or-equal-unsigned  $skip-chars-not-matching-in-slice:end/disp32
+    0f 83/jump-if-addr>=  $skip-chars-not-matching-in-slice:end/disp32
     # c = *curr
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           3/r32/BL    .               .                 # copy byte at *eax to BL
     # if (c == ' ') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x20/imm32/space  # compare ebx
-    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
     # if (c == '\n') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x0a/imm32/newline  # compare ebx
-    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
     # if (c == '\t') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x09/imm32/tab    # compare ebx
-    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
     # if (c == '\r') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x0d/imm32/cr     # compare ebx
-    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
     # ++curr
     40/increment-eax
     eb/jump  $skip-chars-not-matching-whitespace-in-slice:loop/disp8
@@ -1429,17 +1429,17 @@ skip-string-in-slice:  # curr : (addr byte), end : (addr byte) -> new_curr/eax
 $skip-string-in-slice:loop:
     # if (curr >= end) return curr
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-unsigned-or-equal  $skip-string-in-slice:return-curr/disp8
+    73/jump-if-addr>=  $skip-string-in-slice:return-curr/disp8
     # c = *curr
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
 $skip-string-in-slice:dquote:
     # if (c == '"') break
     3d/compare-eax-and  0x22/imm32/double-quote
-    74/jump-if-equal  $skip-string-in-slice:break/disp8
+    74/jump-if-=  $skip-string-in-slice:break/disp8
 $skip-string-in-slice:check-for-escape:
     # if (c == '\') escape next char
     3d/compare-eax-and  0x5c/imm32/backslash
-    75/jump-if-not-equal  $skip-string-in-slice:continue/disp8
+    75/jump-if-!=  $skip-string-in-slice:continue/disp8
 $skip-string-in-slice:escape:
     41/increment-ecx
 $skip-string-in-slice:continue:
@@ -1801,13 +1801,13 @@ skip-until-close-paren-in-slice:  # curr : (addr byte), end : (addr byte) -> new
 $skip-until-close-paren-in-slice:loop:
     # if (curr >= end) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-unsigned-or-equal  $skip-until-close-paren-in-slice:break/disp8
+    73/jump-if-addr>=  $skip-until-close-paren-in-slice:break/disp8
     # c = *curr
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
 $skip-until-close-paren-in-slice:check-close:
     # if (c == ')') break
     3d/compare-eax-and  0x29/imm32/close-paren
-    74/jump-if-equal  $skip-until-close-paren-in-slice:break/disp8
+    74/jump-if-=  $skip-until-close-paren-in-slice:break/disp8
     # ++curr
     41/increment-ecx
     eb/jump  $skip-until-close-paren-in-slice:loop/disp8
diff --git a/075print-int-decimal.subx b/075print-int-decimal.subx
index 95e9e23b..1265d2f4 100644
--- a/075print-int-decimal.subx
+++ b/075print-int-decimal.subx
@@ -51,7 +51,7 @@ print-int32-decimal:  # out : (addr stream byte), n : int32
     # var eax : int = abs(n)
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   0xc/disp8       .                 # copy *(ebp+12) to eax
     3d/compare-eax-with  0/imm32
-    7d/jump-if-greater-or-equal  $print-int32-decimal:read-loop/disp8
+    7d/jump-if->=  $print-int32-decimal:read-loop/disp8
 $print-int32-decimal:negative:
     f7          3/subop/negate      3/mod/direct    0/rm32/eax    .           .             .           .           .               .                 # negate eax
 $print-int32-decimal:read-loop:
@@ -64,11 +64,11 @@ $print-int32-decimal:read-loop:
     52/push-edx
     # if (eax == 0) break
     3d/compare-eax-and  0/imm32
-    7f/jump-if-greater  $print-int32-decimal:read-loop/disp8
+    7f/jump-if->  $print-int32-decimal:read-loop/disp8
 $print-int32-decimal:read-break:
     # if (n < 0) push('-')
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       0/imm32           # compare *(ebp+12)
-    7d/jump-if-greater-or-equal  $print-int32-decimal:write/disp8
+    7d/jump-if->=  $print-int32-decimal:write/disp8
 $print-int32-decimal:push-negative:
     68/push  0x2d/imm32/-
 $print-int32-decimal:write:
@@ -86,10 +86,10 @@ $print-int32-decimal:write-loop:
     58/pop-to-eax
     # if (eax == sentinel) break
     3d/compare-eax-and  0/imm32/sentinel
-    74/jump-if-equal  $print-int32-decimal:write-break/disp8
+    74/jump-if-=  $print-int32-decimal:write-break/disp8
     # if (curr >= max) abort
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # compare ecx with ebx
-    73/jump-if-greater-or-equal-unsigned  $print-int32-decimal:abort/disp8
+    73/jump-if-addr>=  $print-int32-decimal:abort/disp8
 $print-int32-decimal:write-char:
     # *curr = AL
     88/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy AL to byte at *ecx
@@ -314,10 +314,10 @@ is-decimal-digit?:  # c : byte -> eax : boolean
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           1/r32/ecx   8/disp8         .                 # copy *(ebp+8) to ecx
     # return false if c < '0'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x30/imm32        # compare ecx
-    7c/jump-if-lesser  $is-decimal-digit?:false/disp8
+    7c/jump-if-<  $is-decimal-digit?:false/disp8
     # return true if c <= '9'
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x39/imm32        # compare ecx
-    7e/jump-if-lesser-or-equal  $is-decimal-digit?:true/disp8
+    7e/jump-if-<=  $is-decimal-digit?:true/disp8
     # otherwise return false
 $is-decimal-digit?:false:
     b8/copy-to-eax  0/imm32/false
diff --git a/076next-word.subx b/076next-word.subx
index b8fdc00d..e87cf9e8 100644
--- a/076next-word.subx
+++ b/076next-word.subx
@@ -34,7 +34,7 @@ $next-word:check0:
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy *(esi+4) to eax
     # . if (eax < line->write) goto next check
     3b/compare                      0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # compare eax with *esi
-    7c/jump-if-lesser  $next-word:check-for-comment/disp8
+    7c/jump-if-<  $next-word:check-for-comment/disp8
     # . return out
     c7          0/subop/copy        0/mod/direct    7/rm32/edi    .           .             .           .           .               0/imm32           # copy to *edi
     c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi    .           .             .           .           4/disp8         0/imm32           # copy to *(edi+4)
@@ -50,7 +50,7 @@ $next-word:check-for-comment:
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # . compare
     3d/compare-eax-and  0x23/imm32/pound
-    75/jump-if-not-equal  $next-word:regular-word/disp8
+    75/jump-if-!=  $next-word:regular-word/disp8
 $next-word:comment:
     # . out->end = &line->data[line->write]
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # copy *esi to eax
diff --git a/077subx-words.subx b/077subx-words.subx
index 40699af4..3e568e04 100644
--- a/077subx-words.subx
+++ b/077subx-words.subx
@@ -62,7 +62,7 @@ $has-metadata?:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) return false
     3d/compare-eax-and  0/imm32/false
-    75/jump-if-not-equal  $has-metadata?:false/disp8
+    75/jump-if-!=  $has-metadata?:false/disp8
     # if (slice-equal?(twig, s)) return true
     # . eax = slice-equal?(twig, s)
     # . . push args
@@ -75,7 +75,7 @@ $has-metadata?:loop:
     # . if (eax != false) return true
     3d/compare-eax-and  0/imm32/false
     # eax already contains true
-    75/jump-if-not-equal  $has-metadata?:end/disp8
+    75/jump-if-!=  $has-metadata?:end/disp8
     eb/jump  $has-metadata?:loop/disp8
 $has-metadata?:false:
     b8/copy-to-eax  0/imm32/false
@@ -289,29 +289,29 @@ is-valid-name?:  # in : (addr slice) -> eax : boolean
 $is-valid-name?:check0:
     # if (start >= in->end) return false
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare ecx with *(esi+4)
-    73/jump-if-greater-or-equal-unsigned  $is-valid-name?:false/disp8
+    73/jump-if-addr>=  $is-valid-name?:false/disp8
 $is-valid-name?:check1:
     # var len/eax : int = in->end - start
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy *(esi+4) to eax
     29/subtract                     3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # subtract ecx from eax
     # if (eax == 2) return false
     3d/compare-eax-and  2/imm32
-    74/jump-if-equal  $is-valid-name?:false/disp8
+    74/jump-if-=  $is-valid-name?:false/disp8
 $is-valid-name?:check2:
     # var c/eax : (addr byte) = *start
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     # if (c == "-") return false
     3d/compare-eax-and  2d/imm32/-
-    74/jump-if-equal  $is-valid-name?:false/disp8
+    74/jump-if-=  $is-valid-name?:false/disp8
 $is-valid-name?:check3a:
     # if (c < "0") return true
     3d/compare-eax-with  30/imm32/0
-    7c/jump-if-lesser  $is-valid-name?:true/disp8
+    7c/jump-if-<  $is-valid-name?:true/disp8
 $is-valid-name?:check3b:
     # if (c > "9") return true
     3d/compare-eax-with  39/imm32/9
-    7f/jump-if-greater  $is-valid-name?:true/disp8
+    7f/jump-if->  $is-valid-name?:true/disp8
 $is-valid-name?:false:
     # return false
     b8/copy-to-eax  0/imm32/false
@@ -549,7 +549,7 @@ is-label?: # word : (addr slice) -> eax : boolean
     # . return (eax == ':')
     3d/compare-eax-and  0x3a/imm32/colon
     b8/copy-to-eax  1/imm32/true
-    74/jump-if-equal  $is-label?:end/disp8
+    74/jump-if-=  $is-label?:end/disp8
     b8/copy-to-eax  0/imm32/false
 $is-label?:end:
     # . restore registers
diff --git a/078emit-hex.subx b/078emit-hex.subx
index bc052642..b3fc39a1 100644
--- a/078emit-hex.subx
+++ b/078emit-hex.subx
@@ -25,7 +25,7 @@ emit-hex:  # out : (addr buffered-file), n : int, width : int
 $emit-hex:loop:
     # if (curr >= width) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    7d/jump-if-greater-or-equal  $emit-hex:end/disp8
+    7d/jump-if->=  $emit-hex:end/disp8
     # print-byte-buffered(out, ebx)  # only BL used
     # . . push args
     53/push-ebx
diff --git a/079emit.subx b/079emit.subx
index f4c51e23..87c6e6a6 100644
--- a/079emit.subx
+++ b/079emit.subx
@@ -41,7 +41,7 @@ emit:  # out : (addr buffered-file), word : (addr slice), width : int
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false)
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit:hex-int/disp8
+    74/jump-if-=  $emit:hex-int/disp8
 $emit:name:
     # . write-slice-buffered(out, word)
     # . . push args
diff --git a/080zero-out.subx b/080zero-out.subx
index b1f9c9dc..f52a387c 100644
--- a/080zero-out.subx
+++ b/080zero-out.subx
@@ -32,7 +32,7 @@ zero-out:  # start : (addr byte), len : int
 $zero-out:loop:
     # if (i >= len) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    7d/jump-if-greater-or-equal  $zero-out:end/disp8
+    7d/jump-if->=  $zero-out:end/disp8
     # *curr = 0
     c6          0/subop/copy        0/mod/direct    6/rm32/esi    .           .             .           .           .               0/imm8            # copy byte to *esi
     # ++curr
diff --git a/081table.subx b/081table.subx
index 76dcee2e..3dfd3856 100644
--- a/081table.subx
+++ b/081table.subx
@@ -51,7 +51,7 @@ get:  # table : (addr stream {string_key, T}), key : string_key, row-size : int,
 $get:search-loop:
     # if (curr >= max) abort
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $get:abort/disp8
+    73/jump-if-addr>=  $get:abort/disp8
     # if (string-equal?(key, *curr)) return curr+4
     # . eax = string-equal?(key, *curr)
     # . . push args
@@ -63,7 +63,7 @@ $get:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $get:mismatch/disp8
+    74/jump-if-=  $get:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $get:end/disp8
 $get:mismatch:
@@ -225,7 +225,7 @@ get-slice:  # table : (addr stream {string_key, T}), key : (addr slice), row-siz
 $get-slice:search-loop:
     # if (curr >= max) abort
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $get-slice:abort/disp8
+    73/jump-if-addr>=  $get-slice:abort/disp8
     # if (slice-equal?(key, *curr)) return curr+4
     # . eax = slice-equal?(key, *curr)
     # . . push args
@@ -237,7 +237,7 @@ $get-slice:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $get-slice:mismatch/disp8
+    74/jump-if-=  $get-slice:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $get-slice:end/disp8
 $get-slice:mismatch:
@@ -433,7 +433,7 @@ get-or-insert:  # table : (addr stream {string_key, T}), key : string_key, row-s
 $get-or-insert:search-loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $get-or-insert:not-found/disp8
+    73/jump-if-addr>=  $get-or-insert:not-found/disp8
     # if (string-equal?(key, *curr)) return curr+4
     # . eax = string-equal?(key, *curr)
     # . . push args
@@ -445,7 +445,7 @@ $get-or-insert:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $get-or-insert:mismatch/disp8
+    74/jump-if-=  $get-or-insert:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $get-or-insert:end/disp8
 $get-or-insert:mismatch:
@@ -459,7 +459,7 @@ $get-or-insert:not-found:
     # if (table->write >= table->length) abort
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # copy *esi to ecx
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   8/disp8         .                 # compare ecx with *(esi+8)
-    73/jump-if-greater-or-equal-unsigned  $get-or-insert:abort/disp8
+    73/jump-if-addr>=  $get-or-insert:abort/disp8
     # zero-out(max, row-size)
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0x10/disp8      .                 # push *(ebp+16)
@@ -684,7 +684,7 @@ leaky-get-or-insert-slice:  # table : (addr stream {string_key, T}), key : (addr
 $leaky-get-or-insert-slice:search-loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $leaky-get-or-insert-slice:not-found/disp8
+    73/jump-if-addr>=  $leaky-get-or-insert-slice:not-found/disp8
     # if (slice-equal?(key, *curr)) return curr+4
     # . eax = slice-equal?(key, *curr)
     # . . push args
@@ -696,7 +696,7 @@ $leaky-get-or-insert-slice:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $leaky-get-or-insert-slice:mismatch/disp8
+    74/jump-if-=  $leaky-get-or-insert-slice:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $leaky-get-or-insert-slice:end/disp8
 $leaky-get-or-insert-slice:mismatch:
@@ -710,7 +710,7 @@ $leaky-get-or-insert-slice:not-found:
     # if (table->write >= table->length) abort
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # copy *esi to ecx
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   8/disp8         .                 # compare ecx with *(esi+8)
-    7d/jump-if-greater-or-equal  $leaky-get-or-insert-slice:abort/disp8
+    7d/jump-if->=  $leaky-get-or-insert-slice:abort/disp8
     # zero-out(max, row-size)
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0x10/disp8      .                 # push *(ebp+16)
@@ -954,7 +954,7 @@ get-or-stop:  # table : (addr stream {string_key, T}), key : string_key, row-siz
 $get-or-stop:search-loop:
     # if (curr >= max) stop(ed)
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $get-or-stop:stop/disp8
+    73/jump-if-addr>=  $get-or-stop:stop/disp8
     # if (string-equal?(key, *curr)) return curr+4
     # . eax = string-equal?(key, *curr)
     # . . push args
@@ -966,7 +966,7 @@ $get-or-stop:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $get-or-stop:mismatch/disp8
+    74/jump-if-=  $get-or-stop:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $get-or-stop:end/disp8
 $get-or-stop:mismatch:
@@ -1170,7 +1170,7 @@ get-slice-or-stop:  # table : (addr stream {string_key, _}), key : (addr slice),
 $get-slice-or-stop:search-loop:
     # if (curr >= max) stop(ed)
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $get-slice-or-stop:stop/disp8
+    73/jump-if-addr>=  $get-slice-or-stop:stop/disp8
     # if (slice-equal?(key, *curr)) return curr+4
     # . eax = slice-equal?(key, *curr)
     # . . push args
@@ -1182,7 +1182,7 @@ $get-slice-or-stop:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $get-slice-or-stop:mismatch/disp8
+    74/jump-if-=  $get-slice-or-stop:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $get-slice-or-stop:end/disp8
 $get-slice-or-stop:mismatch:
@@ -1406,7 +1406,7 @@ maybe-get:  # table : (addr stream {string_key, T}), key : string_key, row-size
 $maybe-get:search-loop:
     # if (curr >= max) return null
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $maybe-get:null/disp8
+    73/jump-if-addr>=  $maybe-get:null/disp8
     # if (string-equal?(key, *curr)) return curr+4
     # . eax = string-equal?(key, *curr)
     # . . push args
@@ -1418,7 +1418,7 @@ $maybe-get:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $maybe-get:mismatch/disp8
+    74/jump-if-=  $maybe-get:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $maybe-get:end/disp8
 $maybe-get:mismatch:
@@ -1553,7 +1553,7 @@ maybe-get-slice:  # table : (addr stream {string_key, T}), key : (addr slice), r
 $maybe-get-slice:search-loop:
     # if (curr >= max) return null
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $maybe-get-slice:null/disp8
+    73/jump-if-addr>=  $maybe-get-slice:null/disp8
     # if (slice-equal?(key, *curr)) return curr+4
     # . eax = slice-equal?(key, *curr)
     # . . push args
@@ -1565,7 +1565,7 @@ $maybe-get-slice:search-loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return eax = curr+4
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $maybe-get-slice:mismatch/disp8
+    74/jump-if-=  $maybe-get-slice:mismatch/disp8
     8d/copy-address                 1/mod/*+disp8   1/rm32/ecx    .           .             .           0/r32/eax   4/disp8         .                 # copy ecx+4 to eax
     eb/jump  $maybe-get-slice:end/disp8
 $maybe-get-slice:mismatch:
diff --git a/082slurp.subx b/082slurp.subx
index 11769bc9..7f35986f 100644
--- a/082slurp.subx
+++ b/082slurp.subx
@@ -35,10 +35,10 @@ slurp:  # f : (addr buffered-file), s : (addr stream byte)
 $slurp:loop:
     # if (s->write >= s->length) abort
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           2/r32/edx   8/disp8         .                 # compare edx with *(edi+8)
-    7d/jump-if-greater-or-equal  $slurp:abort/disp8
+    7d/jump-if->=  $slurp:abort/disp8
     # if (f->read >= f->write) populate stream from file
     3b/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare ecx with *(esi+4)
-    7c/jump-if-lesser  $slurp:from-stream/disp8
+    7c/jump-if-<  $slurp:from-stream/disp8
     # . clear-stream(stream = f+4)
     # . . push args
     8d/copy-address                 1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy esi+4 to eax
@@ -61,7 +61,7 @@ $slurp:loop:
     # since f->read was initially 0, eax is the same as f->write
     # . if (eax == 0) return true
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $slurp:end/disp8
+    74/jump-if-=  $slurp:end/disp8
 $slurp:from-stream:
     # var c/eax : byte = f->data[f->read]
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
diff --git a/083subx-widths.subx b/083subx-widths.subx
index ffefe194..d384ea91 100644
--- a/083subx-widths.subx
+++ b/083subx-widths.subx
@@ -62,7 +62,7 @@ compute-width-of-slice: # s : (addr slice) -> eax : int
     # . if (eax != false) return 4
     3d/compare-eax-and  0/imm32/false
     b8/copy-to-eax  4/imm32         # ZF is set, so we can overwrite eax now
-    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+    75/jump-if-!=  $compute-width-of-slice:end/disp8
     # if (has-metadata?(word, "disp32")) return 4
     # . eax = has-metadata?(word, "disp32")
     # . . push args
@@ -75,7 +75,7 @@ compute-width-of-slice: # s : (addr slice) -> eax : int
     # . if (eax != false) return 4
     3d/compare-eax-and  0/imm32/false
     b8/copy-to-eax  4/imm32         # ZF is set, so we can overwrite eax now
-    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+    75/jump-if-!=  $compute-width-of-slice:end/disp8
     # if (has-metadata?(word, "imm16")) return 2
     # . eax = has-metadata?(word, "imm16")
     # . . push args
@@ -88,7 +88,7 @@ compute-width-of-slice: # s : (addr slice) -> eax : int
     # . if (eax != false) return 2
     3d/compare-eax-and  0/imm32/false
     b8/copy-to-eax  2/imm32         # ZF is set, so we can overwrite eax now
-    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+    75/jump-if-!=  $compute-width-of-slice:end/disp8
     # if (has-metadata?(word, "disp16")) return 2
     # . eax = has-metadata?(word, "disp16")
     # . . push args
@@ -101,7 +101,7 @@ compute-width-of-slice: # s : (addr slice) -> eax : int
     # . if (eax != false) return 2
     3d/compare-eax-and  0/imm32/false
     b8/copy-to-eax  2/imm32         # ZF is set, so we can overwrite eax now
-    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+    75/jump-if-!=  $compute-width-of-slice:end/disp8
     # otherwise return 1
     b8/copy-to-eax  1/imm32
 $compute-width-of-slice:end:
diff --git a/084emit-hex-array.subx b/084emit-hex-array.subx
index 8560795a..c56a6de0 100644
--- a/084emit-hex-array.subx
+++ b/084emit-hex-array.subx
@@ -27,7 +27,7 @@ emit-hex-array:  # out : (addr buffered-file), arr : (addr array byte)
 $emit-hex-array:loop:
     # if (curr >= width) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $emit-hex-array:end/disp8
+    73/jump-if-addr>=  $emit-hex-array:end/disp8
     # emit-hex(out, c = *curr, width=1)
     # . . push args
     68/push  1/imm32/width
diff --git a/085next-word-or-string.subx b/085next-word-or-string.subx
index cb9a424c..5f6e2cee 100644
--- a/085next-word-or-string.subx
+++ b/085next-word-or-string.subx
@@ -32,7 +32,7 @@ $next-word-or-string:check0:
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy *(esi+4) to eax
     # . if (eax < line->write) goto next check
     3b/compare                      0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # compare eax with *esi
-    7c/jump-if-lesser  $next-word-or-string:check-for-comment/disp8
+    7c/jump-if-<  $next-word-or-string:check-for-comment/disp8
     # . return out
     c7          0/subop/copy        0/mod/direct    7/rm32/edi    .           .             .           .           .               0/imm32           # copy to *edi
     c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi    .           .             .           .           4/disp8         0/imm32           # copy to *(edi+4)
@@ -48,7 +48,7 @@ $next-word-or-string:check-for-comment:
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # . compare
     3d/compare-eax-and  0x23/imm32/pound
-    75/jump-if-not-equal  $next-word-or-string:check-for-string-literal/disp8
+    75/jump-if-!=  $next-word-or-string:check-for-string-literal/disp8
 $next-word-or-string:comment:
     # out->end = &line->data[line->write]
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # copy *esi to eax
@@ -66,7 +66,7 @@ $next-word-or-string:check-for-string-literal:
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # . compare
     3d/compare-eax-and  0x22/imm32/dquote
-    75/jump-if-not-equal  $next-word-or-string:regular-word/disp8
+    75/jump-if-!=  $next-word-or-string:regular-word/disp8
 $next-word-or-string:string-literal:
     # skip-string(line)
     # . . push args
diff --git a/091write-int.subx b/091write-int.subx
index 736fc684..624ca41e 100644
--- a/091write-int.subx
+++ b/091write-int.subx
@@ -19,7 +19,7 @@ write-int:  # out : (addr stream byte), n : int
     8b/copy                         0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # copy *edi to ecx
     # if (out->write >= out->length) abort
     3b/compare                      1/mod/*+disp8   7/rm32/edi    .           .             .           1/r32/ecx   8/disp8         .                 # compare ecx with *(edi+8)
-    7d/jump-if-greater-or-equal  $write-int:abort/disp8
+    7d/jump-if->=  $write-int:abort/disp8
 $write-int:to-stream:
     # out->data[out->write] = n
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   0xc/disp8       .                 # copy *(ebp+12) to eax
diff --git a/092stack.subx b/092stack.subx
index fdc4fa95..95e819f1 100644
--- a/092stack.subx
+++ b/092stack.subx
@@ -26,7 +26,7 @@ clear-stack:  # s : (addr stack)
 $clear-stack:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    73/jump-if-greater-or-equal-unsigned  $clear-stack:end/disp8
+    73/jump-if-addr>=  $clear-stack:end/disp8
     # *curr = 0
     c6          0/subop/copy        0/mod/direct    0/rm32/eax    .           .             .           .           .               0/imm8            # copy byte to *eax
     # ++curr
@@ -121,7 +121,7 @@ push:  # s : (addr stack), n : int
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # copy *esi to ecx
     # if (s->top >= s->length) abort
     39/compare                      1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # compare *(esi+4) and ecx
-    7e/jump-if-lesser-or-equal  $push:abort/disp8
+    7e/jump-if-<=  $push:abort/disp8
     # s->data[s->top] = n
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   0xc/disp8       .                 # copy *(ebp+12) to eax
     89/copy                         1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/eax   8/disp8         .                 # copy eax to *(esi+ecx+8)
@@ -238,7 +238,7 @@ pop:  # s : (addr stack) -> n/eax : int
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           6/r32/esi   8/disp8         .                 # copy *(ebp+8) to esi
     # if (s->top <= 0) abort
     81          7/subop/compare     0/mod/indirect  6/rm32/esi    .           .             .           .           .               0/imm32           # compare *esi
-    7e/jump-if-lesser-or-equal  $pop:abort/disp8
+    7e/jump-if-<=  $pop:abort/disp8
     # s->top -= 4
     81          5/subop/subtract    0/mod/direct    6/rm32/esi    .           .             .           .           .               4/imm32           # subtract from *esi
     # eax = s->data[s->top]
@@ -342,7 +342,7 @@ top:  # s : (addr stack) -> n/eax : int
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           6/r32/esi   8/disp8         .                 # copy *(ebp+8) to esi
     # if (s->top <= 0) abort
     81          7/subop/compare     0/mod/indirect  6/rm32/esi    .           .             .           .           .               0/imm32           # compare *esi
-    7e/jump-if-lesser-or-equal  $top:abort/disp8
+    7e/jump-if-<=  $top:abort/disp8
     # n = s->data[s->top - 4]
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # copy *esi to ecx
     81          5/subop/subtract    3/mod/direct    1/rm32/ecx    .           .             .           .           .               4/imm32           # subtract from ecx
diff --git a/100array-equal.subx b/100array-equal.subx
index e86f7c6b..374a6cdc 100644
--- a/100array-equal.subx
+++ b/100array-equal.subx
@@ -42,7 +42,7 @@ array-equal?:  # a : (addr array int), b : (addr array int) -> eax : boolean
 $array-equal?:lengths:
     # if (lena != b->length) return false
     39/compare *edi 2/r32/edx
-    75/jump-if-not-equal $array-equal?:false/disp8
+    75/jump-if-!= $array-equal?:false/disp8
     # var curra/esi : (addr byte) = a->data
     81 0/subop/add %esi 4/imm32
     # var currb/edi : (addr byte) = b->data
@@ -54,14 +54,14 @@ $array-equal?:lengths:
 $array-equal?:loop:
     # if (i >= lena) return true
     39/compare %ecx 2/r32/edx
-    7d/jump-if-greater-or-equal $array-equal?:true/disp8
+    7d/jump-if->= $array-equal?:true/disp8
     # var vala/eax : int = *curra
     8b/-> *esi 0/r32/eax
     # var valb/ebx : int = *currb
     8b/-> *edi 3/r32/ebx
     # if (vala != valb) return false
     39/compare %eax 3/r32/ebx
-    75/jump-if-not-equal $array-equal?:false/disp8
+    75/jump-if-!= $array-equal?:false/disp8
     # i += 4
     81 0/subop/add %ecx 4/imm32
     # currs += 4
@@ -275,7 +275,7 @@ parse-array-of-ints:  # ad : (addr allocation-descriptor), s : (addr string) ->
 $parse-array-of-ints:loop1:
     # if (curr >= end) break
     39/compare %ecx 2/r32/edx
-    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:break1/disp8
+    73/jump-if-addr>= $parse-array-of-ints:break1/disp8
     # curr = skip-chars-matching-in-slice(curr, end, ' ')
     # . eax = skip-chars-matching-in-slice(curr, end, ' ')
     # . . push args
@@ -290,7 +290,7 @@ $parse-array-of-ints:loop1:
     89/<- %ecx 0/r32/eax
     # if (curr >= end) break
     39/compare %ecx 2/r32/edx
-    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:break1/disp8
+    73/jump-if-addr>= $parse-array-of-ints:break1/disp8
     # curr = skip-chars-not-matching-in-slice(curr, end, ' ')
     # . eax = skip-chars-not-matching-in-slice(curr, end, ' ')
     # . . push args
@@ -333,7 +333,7 @@ $parse-array-of-ints:pass2:
 $parse-array-of-ints:loop2:
     # if (slice->start >= end) break
     39/compare *ecx 2/r32/edx
-    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:end/disp8
+    73/jump-if-addr>= $parse-array-of-ints:end/disp8
     # slice->start = skip-chars-matching-in-slice(slice->start, end, ' ')
     # . eax = skip-chars-matching-in-slice(slice->start, end, ' ')
     # . . push args
@@ -348,7 +348,7 @@ $parse-array-of-ints:loop2:
     89/<- *ecx 0/r32/eax
     # if (slice->start >= end) break
     39/compare *ecx 2/r32/edx
-    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:end/disp8
+    73/jump-if-addr>= $parse-array-of-ints:end/disp8
     # slice->end = skip-chars-not-matching-in-slice(slice->start, end, ' ')
     # . eax = skip-chars-not-matching-in-slice(curr, end, ' ')
     # . . push args
diff --git a/apps/assort.subx b/apps/assort.subx
index be365403..e6914978 100644
--- a/apps/assort.subx
+++ b/apps/assort.subx
@@ -40,7 +40,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-assort-main:interactive/disp8
+    7e/jump-if-<=  $subx-assort-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -52,7 +52,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-assort-main:interactive/disp8
+    74/jump-if-=  $subx-assort-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -525,7 +525,7 @@ $read-segments:loop:
 $read-segments:check0:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $read-segments:break/disp32
+    0f 84/jump-if-=  $read-segments:break/disp32
 #?     # dump line {{{
 #?     # . write(2/stderr, "LL: ")
 #?     # . . push args
@@ -587,7 +587,7 @@ $read-segments:check1:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) continue
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $read-segments:loop/disp32
+    0f 85/jump-if-!=  $read-segments:loop/disp32
 $read-segments:check-for-comment:
 #?     # print("check for comment\n") {{{
 #?     # . . push args
@@ -606,7 +606,7 @@ $read-segments:check-for-comment:
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # . if (c == '#') continue
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $read-segments:loop/disp32
+    0f 84/jump-if-=  $read-segments:loop/disp32
 $read-segments:check-for-segment-header:
 #?     # print("check for segment header\n") {{{
 #?     # . . push args
@@ -668,7 +668,7 @@ $read-segments:check-for-segment-header:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto check3
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $read-segments:regular-line/disp32
+    0f 84/jump-if-=  $read-segments:regular-line/disp32
     # segment-name = next-word-or-string(line)
     # . . push args
     52/push-edx
@@ -730,7 +730,7 @@ $read-segments:check-for-segment-header:
     8b/copy                         0/mod/indirect  0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # copy *eax to ebx
     # if (curr-segment != 0) continue
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32           # compare ebx
-    0f 85/jump-if-not-equal  $read-segments:loop/disp32
+    0f 85/jump-if-!=  $read-segments:loop/disp32
     # curr-segment = new-stream(Heap, Segment-size, 1)
     # . save segment-slot
     50/push-eax
@@ -871,7 +871,7 @@ write-segments:  # out : (addr buffered-file), table : (addr stream {string_key,
 $write-segments:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    6/rm32/esi    .           .             .           2/r32/edx   .               .                 # compare esi with edx
-    73/jump-if-greater-or-equal-unsigned  $write-segments:break/disp8
+    73/jump-if-addr>=  $write-segments:break/disp8
     # var stream/eax : (addr stream byte) = table[i].stream
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   4/disp8         .                 # copy *(esi+4) to eax
     # write-stream-data(out, stream)
diff --git a/apps/braces.subx b/apps/braces.subx
index e3659048..edb72393 100644
--- a/apps/braces.subx
+++ b/apps/braces.subx
@@ -57,11 +57,11 @@ Entry:  # run tests if necessary, a REPL if not
     (new-segment *Heap-size Heap)
     # if (argc <= 1) goto interactive
     81 7/subop/compare *ebp 1/imm32
-    7e/jump-if-lesser-or-equal $subx-braces-main:interactive/disp8
+    7e/jump-if-<= $subx-braces-main:interactive/disp8
     # if (argv[1] != "test")) goto interactive
     (kernel-string-equal? *(ebp+8) "test")  # => eax
     3d/compare-eax-and 0/imm32
-    74/jump-if-equal $subx-braces-main:interactive/disp8
+    74/jump-if-= $subx-braces-main:interactive/disp8
     #
     (run-tests)
     # syscall(exit, *Num-test-failures)
@@ -146,7 +146,7 @@ $subx-braces:line-loop:
 $subx-braces:check0:
     # if (line->write == 0) break
     81 7/subop/compare *ecx 0/imm32
-    0f 84/jump-if-equal  $subx-braces:break/disp32
+    0f 84/jump-if-=  $subx-braces:break/disp32
     (skip-chars-matching-whitespace %ecx)
 $subx-braces:check-for-curly-open:
     # if (line->data[line->read] != '{') goto next check
@@ -156,7 +156,7 @@ $subx-braces:check-for-curly-open:
     81 4/subop/and %eax 0xff/imm32
     # . if (eax != '{') continue
     3d/compare-eax-and 0x7b/imm32/open-curly
-    0f 85/jump-if-not-equal $subx-braces:check-for-curly-closed/disp32
+    0f 85/jump-if-!= $subx-braces:check-for-curly-closed/disp32
 $subx-braces:emit-curly-open:
     # print(out, "_loop" next-label-id ":")
     (write-buffered *(ebp+0xc) "_loop")
@@ -171,7 +171,7 @@ $subx-braces:emit-curly-open:
 $subx-braces:check-for-curly-closed:
     # if (line->data[line->read] != '}') goto next check
     3d/compare-eax-and 0x7d/imm32/close-curly
-    0f 85/jump-if-equal $subx-braces:word-loop/disp32
+    0f 85/jump-if-= $subx-braces:word-loop/disp32
 $subx-braces:emit-curly-closed:
     # eax = pop(label-stack)
     (pop %edx)
@@ -187,7 +187,7 @@ $subx-braces:check1:
     # if (slice-empty?(word-slice)) break
     (slice-empty? %edi)
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $subx-braces:next-line/disp32
+    0f 85/jump-if-!= $subx-braces:next-line/disp32
 $subx-braces:check-for-comment:
     # if (slice-starts-with?(word-slice, "#")) continue
     # . eax = *word-slice->start
@@ -196,14 +196,14 @@ $subx-braces:check-for-comment:
     81 4/subop/and %eax 0xff/imm32
     # . if (eax == '#') continue
     3d/compare-eax-and 0x23/imm32/hash
-    74/jump-if-equal $subx-braces:word-loop/disp8
+    74/jump-if-= $subx-braces:word-loop/disp8
 $subx-braces:check-for-break:
     # if (!slice-starts-with?(word-slice, "break/")) goto next check
     # . eax = slice-starts-with?(word-slice, "break/")
     (slice-starts-with? %edi "break/")
     # . if (eax == false) goto next check
     3d/compare-eax-and 0/imm32/false
-    74/jump-if-equal $subx-braces:check-for-loop/disp8
+    74/jump-if-= $subx-braces:check-for-loop/disp8
 $subx-braces:emit-break:
     (top %edx)
     # print(out, "_break" eax)
@@ -219,7 +219,7 @@ $subx-braces:check-for-loop:
     (slice-starts-with? %edi "loop/")
     # . if (eax == false) goto next check
     3d/compare-eax-and 0/imm32/false
-    74/jump-if-equal $subx-braces:emit-word-slice/disp8
+    74/jump-if-= $subx-braces:emit-word-slice/disp8
 $subx-braces:emit-loop:
     (top %edx)
     # print(out, "_loop" eax)
diff --git a/apps/calls.subx b/apps/calls.subx
index aedd766a..a1ab5ca1 100644
--- a/apps/calls.subx
+++ b/apps/calls.subx
@@ -41,7 +41,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81 7/subop/compare *ebp 1/imm32
-    7e/jump-if-lesser-or-equal $subx-calls-main:interactive/disp8
+    7e/jump-if-<= $subx-calls-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -53,7 +53,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81 0/subop/add %esp 8/imm32
     # . if (eax == false) goto run-main
     3d/compare-eax-and 0/imm32/false
-    74/jump-if-equal $subx-calls-main:interactive/disp8
+    74/jump-if-= $subx-calls-main:interactive/disp8
     # run-tests()
     e8/call run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -136,7 +136,7 @@ $subx-calls:loop:
 $subx-calls:check0:
     # if (line->write == 0) break
     81 7/subop/compare *esi 0/imm32
-    0f 84/jump-if-equal $subx-calls:break/disp32
+    0f 84/jump-if-= $subx-calls:break/disp32
     # skip-chars-matching-whitespace(line)
     # . . push args
     56/push-esi
@@ -152,7 +152,7 @@ $subx-calls:check0:
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax == '(') goto convert-call
     3d/compare-eax-and 0x28/imm32/open-paren
-    74/jump-if-equal $subx-calls:convert-call/disp8
+    74/jump-if-= $subx-calls:convert-call/disp8
 $subx-calls:pass-through:
     # write-stream-data(out, line)
     # . . push args
@@ -270,7 +270,7 @@ $parse-line:check1:
     81 0/subop/add %esp 4/imm32
     # . if (eax != false) break
     3d/compare-eax-and 0/imm32/false
-    0f 85/jump-if-not-equal $parse-line:end/disp32
+    0f 85/jump-if-!= $parse-line:end/disp32
 #?     # dump word-slice {{{
 #?     # . write(2/stderr, "w: ")
 #?     # . . push args
@@ -380,7 +380,7 @@ emit-call:  # out : (addr buffered-file), words : (addr stream slice)
     # . ecx = words->write - 8
     8b/-> *esi 1/r32/ecx
     81 5/subop/subtract %ecx 8/imm32
-    0f 8c/jump-if-lesser $emit-call:error1/disp32
+    0f 8c/jump-if-< $emit-call:error1/disp32
     # var curr/ecx : (addr slice) = &words->data[words->write-8]
     8d/copy-address *(esi+ecx+0xc) 1/r32/ecx
     # var min/edx : (addr byte) = words->data
@@ -389,7 +389,7 @@ emit-call:  # out : (addr buffered-file), words : (addr stream slice)
 $emit-call:push-loop:
     # if (curr <= min) break
     39/compare %ecx 2/r32/edx
-    0f 8e/jump-if-lesser-or-equal $emit-call:call-instruction/disp32
+    0f 8e/jump-if-<= $emit-call:call-instruction/disp32
     # if (*curr->start in '%' '*') goto push-rm32
     # . var start/eax : (addr byte) = curr->start
     8b/-> *ecx 0/r32/eax
@@ -398,10 +398,10 @@ $emit-call:push-loop:
     81 4/subop/and %eax 0xff/imm32
     # . if (c == '%') goto push-rm32
     3d/compare-eax-and 0x25/imm32/percent
-    74/jump-if-equal $emit-call:push-rm32/disp8
+    74/jump-if-= $emit-call:push-rm32/disp8
     # . if (c == '*') goto push-rm32
     3d/compare-eax-and 0x2a/imm32/asterisk
-    74/jump-if-equal $emit-call:push-rm32/disp8
+    74/jump-if-= $emit-call:push-rm32/disp8
 $emit-call:push-imm32:
     # write-buffered(out, "68/push ")
     68/push "68/push "/imm32
@@ -824,7 +824,7 @@ $next-word-string-or-expression-without-metadata:check0:
     8b/-> *(esi+4) 1/r32/ecx
     # . if (ecx >= line->write) return out = {0, 0}
     3b/compare 1/r32/ecx *esi
-    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+    0f 8d/jump-if->= $next-word-string-or-expression-without-metadata:return-eol/disp32
 $next-word-string-or-expression-without-metadata:check-for-comment:
     # out->start = &line->data[line->read]
     8d/copy-address *(esi+ecx+0xc) 0/r32/eax
@@ -835,7 +835,7 @@ $next-word-string-or-expression-without-metadata:check-for-comment:
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax != '#') goto next check
     3d/compare-eax-and 0x23/imm32/pound
-    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
+    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
 $next-word-string-or-expression-without-metadata:comment:
     # out->end = &line->data[line->write]
     8b/-> *esi 0/r32/eax
@@ -849,7 +849,7 @@ $next-word-string-or-expression-without-metadata:comment:
 $next-word-string-or-expression-without-metadata:check-for-string-literal:
     # if (line->data[line->read] != '"') goto next check
     3d/compare-eax-and 0x22/imm32/dquote
-    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-expression/disp8
+    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-expression/disp8
 $next-word-string-or-expression-without-metadata:string-literal:
     # skip-string(line)
     # . . push args
@@ -867,14 +867,14 @@ $next-word-string-or-expression-without-metadata:string-literal:
 $next-word-string-or-expression-without-metadata:check-for-expression:
     # if (line->data[line->read] != '*') goto next check
     3d/compare-eax-and 0x2a/imm32/asterisk
-    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
+    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
     # if (line->data[line->read + 1] == ' ') goto error1
     8a/copy-byte *(esi+ecx+0xd) 0/r32/AL
     3d/compare-eax-and 0x20/imm32/space
-    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error1/disp32
+    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error1/disp32
     # if (line->data[line->read + 1] != '(') goto regular-word
     3d/compare-eax-and 0x28/imm32/open-paren
-    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
+    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
 $next-word-string-or-expression-without-metadata:paren:
     # skip-until-close-paren(line)
     # . . push args
@@ -889,7 +889,7 @@ $next-word-string-or-expression-without-metadata:paren:
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax != ')') goto error2
     3d/compare-eax-and 0x29/imm32/close-paren
-    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:error2/disp32
+    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:error2/disp32
     # ++line->read to skip ')'
     ff 0/subop/increment *(esi+4)
     # out->end = &line->data[line->read]
@@ -901,7 +901,7 @@ $next-word-string-or-expression-without-metadata:paren:
 $next-word-string-or-expression-without-metadata:check-for-end-of-call:
     # if (line->data[line->read] != ')') goto next check
     3d/compare-eax-and 0x29/imm32/close-paren
-    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
+    75/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
     # ++line->read to skip ')'
     ff 0/subop/increment *(esi+4)
     # - error checking: make sure there's nothing else of importance on the line
@@ -910,13 +910,13 @@ $next-word-string-or-expression-without-metadata:check-for-end-of-call:
     8b/-> *(esi+4) 1/r32/ecx
     # . if (ecx >= line->write) return {0, 0}
     3b/compare 1/r32/ecx *esi
-    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+    0f 8d/jump-if->= $next-word-string-or-expression-without-metadata:return-eol/disp32
     # if (line->data[line->read] == '/') goto error3
     # . eax = line->data[line->read]
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax == '/') goto error3
     3d/compare-eax-and 0x2f/imm32/slash
-    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error3/disp32
+    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error3/disp32
     # skip-chars-matching-whitespace(line)
     # . . push args
     56/push-esi
@@ -929,14 +929,14 @@ $next-word-string-or-expression-without-metadata:check-for-end-of-call:
     8b/-> *(esi+4) 1/r32/ecx
     # . if (ecx >= line->write) return {0, 0}
     3b/compare 1/r32/ecx *esi
-    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+    0f 8d/jump-if->= $next-word-string-or-expression-without-metadata:return-eol/disp32
     # if (line->data[line->read] == '#') return out = {0, 0}
     # . eax = line->data[line->read]
     8b/-> *(esi+4) 1/r32/ecx
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax == '#') return out = {0, 0}
     3d/compare-eax-and 0x23/imm32/pound
-    74/jump-if-equal $next-word-string-or-expression-without-metadata:return-eol/disp8
+    74/jump-if-= $next-word-string-or-expression-without-metadata:return-eol/disp8
     # otherwise goto error4
     e9/jump $next-word-string-or-expression-without-metadata:error4/disp32
 $next-word-string-or-expression-without-metadata:regular-word-without-metadata:
@@ -945,20 +945,20 @@ $next-word-string-or-expression-without-metadata:regular-word-without-metadata:
     8b/-> *(esi+4) 1/r32/ecx
     # . if (ecx >= line->write) break
     3b/compare *esi 1/r32/ecx
-    7d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+    7d/jump-if->= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
     # if (line->data[line->read] == ' ') break
     # . eax = line->data[line->read]
     8b/-> *(esi+4) 1/r32/ecx
     8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
     # . if (eax == ' ') break
     3d/compare-eax-and 0x20/imm32/space
-    74/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+    74/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
     # if (line->data[line->read] == ')') break
     3d/compare-eax-and 0x29/imm32/close-paren
-    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp32
+    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp32
     # if (line->data[line->read] == '/') goto error5
     3d/compare-eax-and 0x2f/imm32/slash
-    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error5/disp32
+    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error5/disp32
     # ++line->read
     ff 0/subop/increment *(esi+4)
     # loop
diff --git a/apps/crenshaw2-1.subx b/apps/crenshaw2-1.subx
index b5783ef3..e8ff7101 100644
--- a/apps/crenshaw2-1.subx
+++ b/apps/crenshaw2-1.subx
@@ -47,7 +47,7 @@ Entry:  # run tests if necessary, call 'compile' if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $run-main/disp8
+    7e/jump-if-<=  $run-main/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -59,7 +59,7 @@ Entry:  # run tests if necessary, call 'compile' if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto run-main
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $run-main/disp8
+    74/jump-if-=  $run-main/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -224,7 +224,7 @@ get-num:  # in : (addr buffered-file), out : (addr stream byte), err : fd or (ad
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false)
     3d/compare-eax-and  0/imm32/false
-    75/jump-if-not-equal  $get-num:main/disp8
+    75/jump-if-!=  $get-num:main/disp8
     # . expected(ed, err, "integer")
     # . . push args
     68/push  "integer"/imm32
@@ -255,7 +255,7 @@ $get-num:main:
 $get-num:loop:
     # if (out->write >= out->length) error
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           1/r32/ecx   .               .                 # compare edx with ecx
-    7d/jump-if-lesser  $get-num:stage2/disp8
+    7d/jump-if-<  $get-num:stage2/disp8
     # . error(ed, err, msg)  # TODO: show full number
     # . . push args
     68/push  "get-num: too many digits in number"/imm32
@@ -543,10 +543,10 @@ is-digit?:  # c : int -> eax : boolean
     b8/copy-to-eax  0/imm32
     # if (c < '0') return false
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x30/imm32        # compare *(ebp+8)
-    7c/jump-if-lesser  $is-digit?:end/disp8
+    7c/jump-if-<  $is-digit?:end/disp8
     # if (c > '9') return false
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x39/imm32        # compare *(ebp+8)
-    7f/jump-if-greater  $is-digit?:end/disp8
+    7f/jump-if->  $is-digit?:end/disp8
     # otherwise return true
     b8/copy-to-eax  1/imm32
 $is-digit?:end:
diff --git a/apps/crenshaw2-1b.subx b/apps/crenshaw2-1b.subx
index d5f90952..f382955c 100644
--- a/apps/crenshaw2-1b.subx
+++ b/apps/crenshaw2-1b.subx
@@ -47,7 +47,7 @@ Entry:  # run tests if necessary, call 'compile' if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $run-main/disp8
+    7e/jump-if-<=  $run-main/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -59,7 +59,7 @@ Entry:  # run tests if necessary, call 'compile' if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto run-main
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $run-main/disp8
+    74/jump-if-=  $run-main/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -229,7 +229,7 @@ get-num:  # in : (addr buffered-file), out : (addr stream byte), err : fd or (ad
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false)
     3d/compare-eax-and  0/imm32/false
-    75/jump-if-not-equal  $get-num:main/disp8
+    75/jump-if-!=  $get-num:main/disp8
     # . expected(ed, err, "integer")
     # . . push args
     68/push  "integer"/imm32
@@ -260,7 +260,7 @@ $get-num:main:
 $get-num:loop:
     # if (out->write >= out->length) error
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           1/r32/ecx   .               .                 # compare edx with ecx
-    7d/jump-if-lesser  $get-num:loop-stage2/disp8
+    7d/jump-if-<  $get-num:loop-stage2/disp8
     # . error(ed, err, msg)  # TODO: show full number
     # . . push args
     68/push  "get-num: too many digits in number"/imm32
@@ -294,7 +294,7 @@ $get-num:loop-stage2:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) loop
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $get-num:loop/disp32
+    0f 85/jump-if-!=  $get-num:loop/disp32
 $get-num:loop-end:
     # persist necessary variables from registers
     89/copy                         0/mod/indirect  7/rm32/edi    .           .             .           1/r32/ecx   .               .                 # copy ecx to *edi
@@ -737,10 +737,10 @@ is-digit?:  # c : int -> eax : boolean
     b8/copy-to-eax  0/imm32
     # if (c < '0') return false
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x30/imm32        # compare *(ebp+8)
-    7c/jump-if-lesser  $is-digit?:end/disp8
+    7c/jump-if-<  $is-digit?:end/disp8
     # if (c > '9') return false
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         0x39/imm32        # compare *(ebp+8)
-    7f/jump-if-greater  $is-digit?:end/disp8
+    7f/jump-if->  $is-digit?:end/disp8
     # otherwise return true
     b8/copy-to-eax  1/imm32
 $is-digit?:end:
diff --git a/apps/dquotes.subx b/apps/dquotes.subx
index 5396d26e..38eb08fd 100644
--- a/apps/dquotes.subx
+++ b/apps/dquotes.subx
@@ -36,7 +36,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run-tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-dquotes-main:interactive/disp8
+    7e/jump-if-<=  $subx-dquotes-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -48,7 +48,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-dquotes-main:interactive/disp8
+    74/jump-if-=  $subx-dquotes-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -174,7 +174,7 @@ $subx-dquotes:line-loop:
 $subx-dquotes:check0:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $subx-dquotes:break/disp32
+    0f 84/jump-if-=  $subx-dquotes:break/disp32
 $subx-dquotes:word-loop:
     # next-word-or-string(line, word-slice)
     # . . push args
@@ -195,7 +195,7 @@ $subx-dquotes:check1:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $subx-dquotes:next-line/disp32
+    0f 85/jump-if-!=  $subx-dquotes:next-line/disp32
 $subx-dquotes:check-for-comment:
     # if (slice-starts-with?(word-slice, "#")) continue
     # . var start/esi : (addr byte) = word-slice->start
@@ -205,11 +205,11 @@ $subx-dquotes:check-for-comment:
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # . if (c == '#') continue
     3d/compare-eax-and  0x23/imm32/hash
-    74/jump-if-equal  $subx-dquotes:word-loop/disp8
+    74/jump-if-=  $subx-dquotes:word-loop/disp8
 $subx-dquotes:check-for-string-literal:
     # if (slice-starts-with?(word-slice, '"')) continue
     3d/compare-eax-and  0x22/imm32/dquote
-    75/jump-if-not-equal  $subx-dquotes:regular-word/disp8
+    75/jump-if-!=  $subx-dquotes:regular-word/disp8
 $subx-dquotes:string-literal:
     # process-string-literal(word-slice, out, new-data-segment)
     # . . push args
@@ -925,25 +925,25 @@ $emit-string-literal-data:loop-init:
 $emit-string-literal-data:loop:
     # if (curr >= max) break
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           6/r32/esi   .               .                 # compare edx with esi
-    0f 83/jump-if-greater-or-equal-unsigned  $emit-string-literal-data:end/disp32
+    0f 83/jump-if-addr>=  $emit-string-literal-data:end/disp32
     # CL = *curr
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           1/r32/CL    .               .                 # copy byte at *edx to CL
     # if (c == '"') break
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x22/imm32/dquote # compare ecx
-    0f 84/jump-if-equal  $emit-string-literal-data:end/disp32
+    0f 84/jump-if-=  $emit-string-literal-data:end/disp32
     # if (c != '\') goto emit
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x5c/imm32/backslash  # compare ecx
-    75/jump-if-not-equal  $emit-string-literal-data:emit/disp8
+    75/jump-if-!=  $emit-string-literal-data:emit/disp8
     # ++curr
     42/increment-edx
     # if (curr >= max) break
     39/compare                      3/mod/direct    2/rm32/edx    .           .             .           6/r32/esi   .               .                 # compare edx with esi
-    0f 83/jump-if-greater-or-equal-unsigned  $emit-string-literal-data:end/disp32
+    0f 83/jump-if-addr>=  $emit-string-literal-data:end/disp32
     # c = *curr
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           1/r32/CL    .               .                 # copy byte at *edx to CL
     # if (c == 'n') c = newline
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0x6e/imm32/n      # compare ecx
-    75/jump-if-not-equal  $emit-string-literal-data:emit/disp8
+    75/jump-if-!=  $emit-string-literal-data:emit/disp8
     b9/copy-to-ecx  0x0a/imm32/newline
 $emit-string-literal-data:emit:
     # append-byte-hex(out, CL)
@@ -964,7 +964,7 @@ $emit-string-literal-data:emit:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) goto char-done
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-string-literal-data:char-done/disp8
+    74/jump-if-=  $emit-string-literal-data:char-done/disp8
     # . write(out, "/")
     # . . push args
     68/push  Slash/imm32
@@ -996,7 +996,7 @@ $emit-string-literal-data:char-done:
     43/increment-ebx
     # if (idx < 0x40) continue
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x40/imm32        # compare ebx
-    7c/jump-if-lesser  $emit-string-literal-data:next-char/disp8
+    7c/jump-if-<  $emit-string-literal-data:next-char/disp8
     # idx = 0
     31/xor                          3/mod/direct    3/rm32/ebx    .           .             .           3/r32/ebx   .               .                 # clear ebx
     # write(out, "\n")
@@ -1029,22 +1029,22 @@ is-alphanumeric?:  # c : int -> eax : boolean
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .             .           0/r32/eax   8/disp8         .                 # copy *(ebp+8) to eax
     # if (c < '0') return false
     3d/compare-eax-with  0x30/imm32/0
-    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+    7c/jump-if-<  $is-alphanumeric?:false/disp8
     # if (c <= '9') return true
     3d/compare-eax-with  0x39/imm32/9
-    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+    7e/jump-if-<=  $is-alphanumeric?:true/disp8
     # if (c < 'A') return false
     3d/compare-eax-with  0x41/imm32/A
-    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+    7c/jump-if-<  $is-alphanumeric?:false/disp8
     # if (c <= 'Z') return true
     3d/compare-eax-with  0x5a/imm32/Z
-    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+    7e/jump-if-<=  $is-alphanumeric?:true/disp8
     # if (c < 'a') return false
     3d/compare-eax-with  0x61/imm32/a
-    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+    7c/jump-if-<  $is-alphanumeric?:false/disp8
     # if (c <= 'z') return true
     3d/compare-eax-with  0x7a/imm32/z
-    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+    7e/jump-if-<=  $is-alphanumeric?:true/disp8
     # return false
 $is-alphanumeric?:false:
     b8/copy-to-eax  0/imm32/false
@@ -1420,7 +1420,7 @@ $emit-metadata:check-for-string-literal:
     # -  if (*curr == '"') curr = skip-string-in-slice(curr, end)
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x22/imm32/dquote
-    75/jump-if-not-equal  $emit-metadata:skip-datum-loop/disp8
+    75/jump-if-!=  $emit-metadata:skip-datum-loop/disp8
 $emit-metadata:skip-string-literal:
     # . eax = skip-string-in-slice(curr, end)
     # . . push args
@@ -1437,11 +1437,11 @@ $emit-metadata:skip-datum-loop:
     # - otherwise scan for '/'
     # if (curr == end) return
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx and edx
-    74/jump-if-equal  $emit-metadata:end/disp8
+    74/jump-if-=  $emit-metadata:end/disp8
     # if (*curr == '/') break
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x2f/imm32/slash
-    74/jump-if-equal  $emit-metadata:emit/disp8
+    74/jump-if-=  $emit-metadata:emit/disp8
     # ++curr
     41/increment-ecx
     eb/jump  $emit-metadata:skip-datum-loop/disp8
@@ -1799,17 +1799,17 @@ string-length-at-start-of-slice:  # curr : (addr byte), end : (addr byte) -> len
 $string-length-at-start-of-slice:loop:
     # if (curr >= end) return length
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-unsigned-or-equal  $string-length-at-start-of-slice:end/disp8
+    73/jump-if-addr>=  $string-length-at-start-of-slice:end/disp8
     # c = *curr
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           3/r32/BL    .               .                 # copy byte at *ecx to BL
 $string-length-at-start-of-slice:dquote:
     # if (c == '"') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x22/imm32/dquote # compare ebx
-    74/jump-if-equal  $string-length-at-start-of-slice:end/disp8
+    74/jump-if-=  $string-length-at-start-of-slice:end/disp8
 $string-length-at-start-of-slice:check-for-escape:
     # if (c == '\') escape next char
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x5c/imm32/backslash # compare ebx
-    75/jump-if-not-equal  $string-length-at-start-of-slice:continue/disp8
+    75/jump-if-!=  $string-length-at-start-of-slice:continue/disp8
 $string-length-at-start-of-slice:escape:
     # increment curr but not result
     41/increment-ecx
diff --git a/apps/ex10.subx b/apps/ex10.subx
index c091fe52..a67ec6f7 100644
--- a/apps/ex10.subx
+++ b/apps/ex10.subx
@@ -45,10 +45,10 @@ $argv-equal:loop:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           3/r32/BL    .               .                 # copy byte at *edx to BL
     # if (c1 == 0) break
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $argv-equal:break/disp8
+    74/jump-if-=  $argv-equal:break/disp8
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
-    75/jump-if-not-equal  $argv-equal:false/disp8
+    75/jump-if-!=  $argv-equal:false/disp8
     # ++s1, ++s2
     41/increment-ecx
     42/increment-edx
@@ -57,7 +57,7 @@ $argv-equal:loop:
 $argv-equal:break:
     # if (c2 == 0) return true
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32           # compare ebx
-    75/jump-if-not-equal  $argv-equal:false/disp8
+    75/jump-if-!=  $argv-equal:false/disp8
 $argv-equal:success:
     b8/copy-to-eax  1/imm32
     c3/return
diff --git a/apps/ex11.subx b/apps/ex11.subx
index 2469542d..fb63b25c 100644
--- a/apps/ex11.subx
+++ b/apps/ex11.subx
@@ -73,17 +73,17 @@ kernel-string-equal?:  # s : null-terminated ascii string, benchmark : length-pr
 $kernel-string-equal?:loop:
     # if (i >= n) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    7d/jump-if-greater-or-equal  $kernel-string-equal?:break/disp8
+    7d/jump-if->=  $kernel-string-equal?:break/disp8
     # c1 = *s1
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           0/r32/AL    .               .                 # copy byte at *edi to AL
     # c2 = *s2
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           3/r32/BL    .               .                 # copy byte at *esi to BL
     # if (c1 == 0) return false
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $kernel-string-equal?:false/disp8
+    74/jump-if-=  $kernel-string-equal?:false/disp8
     # if (c1 != c2) return false
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           3/r32/ebx   .               .                 # compare eax and ebx
-    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+    75/jump-if-!=  $kernel-string-equal?:false/disp8
     # ++i
     41/increment-ecx
     # ++s1
@@ -95,7 +95,7 @@ $kernel-string-equal?:break:
     # return *s1 == 0
     8a/copy-byte                    0/mod/indirect  7/rm32/edi    .           .             .           0/r32/AL    .               .                 # copy byte at *edi to AL
     3d/compare-eax-and  0/imm32
-    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+    75/jump-if-!=  $kernel-string-equal?:false/disp8
 $kernel-string-equal?:true:
     b8/copy-to-eax  1/imm32
     eb/jump  $kernel-string-equal?:end/disp8
diff --git a/apps/ex3.subx b/apps/ex3.subx
index f6f8c17d..66f2b3a3 100644
--- a/apps/ex3.subx
+++ b/apps/ex3.subx
@@ -21,7 +21,7 @@ Entry:
 $loop:
     # if (counter > 10) break
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0xa/imm32         # compare ecx
-    7f/jump-if-greater  $exit/disp8
+    7f/jump-if->  $exit/disp8
     # result += counter
     01/add                          3/mod/direct    3/rm32/ebx    .           .             .           1/r32/ecx   .               .                 # add ecx to ebx
     # ++counter
diff --git a/apps/ex8.subx b/apps/ex8.subx
index 2ea653f1..e000bfca 100644
--- a/apps/ex8.subx
+++ b/apps/ex8.subx
@@ -44,7 +44,7 @@ $ascii-length:loop:
     8a/copy-byte                    0/mod/*         2/rm32/edx    .           .             .           1/r32/CL    .               .                 # copy byte at *edx to CL
     # if (c == '\0') break
     81          7/subop/compare     3/mod/direct    1/rm32/ecx    .           .             .           .           .               0/imm32           # compare ecx
-    74/jump-if-equal  $ascii-length:end/disp8
+    74/jump-if-=  $ascii-length:end/disp8
     # ++s
     42/increment-edx
     # ++result
diff --git a/apps/factorial.subx b/apps/factorial.subx
index 019329e3..aebd2a12 100644
--- a/apps/factorial.subx
+++ b/apps/factorial.subx
@@ -35,7 +35,7 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $run-main/disp8
+    7e/jump-if-<=  $run-main/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -47,7 +47,7 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto run-main
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $run-main/disp8
+    74/jump-if-=  $run-main/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
diff --git a/apps/factorial2.subx b/apps/factorial2.subx
index f6578f1b..7e0a737d 100644
--- a/apps/factorial2.subx
+++ b/apps/factorial2.subx
@@ -35,7 +35,7 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81 7/subop/compare *ebp 1/imm32
-    7e/jump-if-lesser-or-equal $run-main/disp8
+    7e/jump-if-<= $run-main/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -47,7 +47,7 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     81 0/subop/add %esp 8/imm32
     # . if (eax == false) goto run-main
     3d/compare-eax-and 0/imm32/false
-    74/jump-if-equal $run-main/disp8
+    74/jump-if-= $run-main/disp8
     # run-tests()
     e8/call run-tests/disp32
     # syscall(exit, *Num-test-failures)
diff --git a/apps/factorial3.subx b/apps/factorial3.subx
index 17a8cbbb..e6bcf959 100644
--- a/apps/factorial3.subx
+++ b/apps/factorial3.subx
@@ -29,12 +29,12 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81 7/subop/compare *ebp 1/imm32
-    7e/jump-if-lesser-or-equal $run-main/disp8
+    7e/jump-if-<= $run-main/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     (kernel-string-equal? *(ebp+8) "test")  # => eax
     # . if (eax == false) goto run-main
     3d/compare-eax-and 0/imm32/false
-    74/jump-if-equal $run-main/disp8
+    74/jump-if-= $run-main/disp8
     #
     (run-tests)
     # syscall(exit, *Num-test-failures)
diff --git a/apps/factorial4.subx b/apps/factorial4.subx
index 99d7bff4..5f8c6aef 100644
--- a/apps/factorial4.subx
+++ b/apps/factorial4.subx
@@ -31,11 +31,11 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     {
       # if (argc <= 1) break
       81 7/subop/compare *ebp 1/imm32
-      7e/jump-if-lesser-or-equal break/disp8
+      7e/jump-if-<= break/disp8
       # if (!kernel-string-equal?(argv[1], "test")) break
       (kernel-string-equal? *(ebp+8) "test")  # => eax
       3d/compare-eax-and 0/imm32/false
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (run-tests)
       # eax = *Num-test-failures
@@ -45,7 +45,7 @@ Entry:  # run tests if necessary, compute `factorial(5)` if not
     {
       # if (argc > 1) break
       81 7/subop/compare *ebp 1/imm32
-      7f/jump-if-greater break/disp8
+      7f/jump-if-> break/disp8
       # eax = factorial(5)
       (factorial 5)
       # syscall(exit, eax)
@@ -64,12 +64,12 @@ factorial:  # n : int -> int/eax
     # if (n <= 1) return 1
     81 7/subop/compare *(ebp+8) 1/imm32
     {
-      7f/jump-if-greater break/disp8
+      7f/jump-if-> break/disp8
       b8/copy-to-eax 1/imm32
     }
     # if (n > 1) return n * factorial(n-1)
     {
-      7e/jump-if-lesser-or-equal break/disp8
+      7e/jump-if-<= break/disp8
       # var ebx : int = n-1
       8b/-> *(ebp+8) 3/r32/ebx
       4b/decrement-ebx
diff --git a/apps/handle.subx b/apps/handle.subx
index 38af2db2..37fb9030 100644
--- a/apps/handle.subx
+++ b/apps/handle.subx
@@ -69,7 +69,7 @@ new:  # ad : (addr allocation-descriptor), n : int, out : (handle _)
     89/copy                         1/mod/*+disp8   2/rm32/edx    .           .             .           0/r32/eax   4/disp8         .                 # copy eax to *(edx+4)
     # if (eax == 0) out->alloc_id = 0, return
     3d/compare-eax-and  0/imm32
-    75/jump-if-not-equal  $new:continue/disp8
+    75/jump-if-!=  $new:continue/disp8
     c7          0/subop/copy        0/mod/indirect  2/rm32/edx    .           .             .           .           .               0/imm32           # copy to *edx
     eb/jump  $new:end/disp8
 $new:continue:
@@ -239,7 +239,7 @@ lookup:  # h : (handle T) -> eax : (addr T)
     8b/copy                         0/mod/indirect  0/rm32/eax    .           .             .           .           .               .                 # copy *eax to eax
     # if (eax != handle->alloc_id) abort
     39/compare                      1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none  .           0/r32/eax   4/disp8         .                 # compare *(esp+4) and eax
-    75/jump-if-not-equal  $lookup:abort/disp8
+    75/jump-if-!=  $lookup:abort/disp8
     # eax = pop handle->address
     58/pop-to-eax
     # discard handle->alloc_id
@@ -254,7 +254,7 @@ lookup:  # h : (handle T) -> eax : (addr T)
 #?     8b/copy                         1/mod/*+disp8   0/rm32/eax    .           .             .           0/r32/eax   4/disp8         .                 # copy *(eax+4) to eax
 #?     # if (ecx != *eax) abort
 #?     39/compare                      0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare *eax and ecx
-#?     75/jump-if-not-equal  $lookup:abort/disp8
+#?     75/jump-if-!=  $lookup:abort/disp8
 #?     # add 4 to eax
 #?     05/add-to-eax  4/imm32
     # - }
diff --git a/apps/hex.subx b/apps/hex.subx
index 4dd725e8..21fd1939 100644
--- a/apps/hex.subx
+++ b/apps/hex.subx
@@ -34,7 +34,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-hex-main:interactive/disp8
+    7e/jump-if-<=  $subx-hex-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -46,7 +46,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-hex-main:interactive/disp8
+    74/jump-if-=  $subx-hex-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -102,7 +102,7 @@ $subx-hex:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # if (eax == Eof) break
     3d/compare-eax-and  0xffffffff/imm32/Eof
-    74/jump-if-equal  $subx-hex:loop-end/disp8
+    74/jump-if-=  $subx-hex:loop-end/disp8
     # write-byte-buffered(out, AL)
     # . . push args
     50/push-eax
@@ -162,7 +162,7 @@ convert-next-octet:  # in : (addr buffered-file), err : (addr buffered-file), ed
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # if (eax == Eof) return
     3d/compare-eax-and  0xffffffff/imm32/Eof
-    74/jump-if-equal  $convert-next-octet:end/disp8
+    74/jump-if-=  $convert-next-octet:end/disp8
     # eax = from-hex-char(eax)
     e8/call from-hex-char/disp32
     # ecx = eax
@@ -178,7 +178,7 @@ convert-next-octet:  # in : (addr buffered-file), err : (addr buffered-file), ed
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # if (eax == Eof) error(ed, err, "partial byte found.")
     3d/compare-eax-and  0xffffffff/imm32/Eof
-    75/jump-if-not-equal  $convert-next-octet:convert/disp8
+    75/jump-if-!=  $convert-next-octet:convert/disp8
     # . error-byte(ed, err, msg, '.')  # reusing error-byte to avoid creating _yet_ another helper
     # . . push args
     68/push  0x2e/imm32/period/dummy
@@ -284,7 +284,7 @@ test-convert-next-octet:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-convert-next-octet:end/disp8
+    75/jump-if-!=  $test-convert-next-octet:end/disp8
     # check-ints-equal(eax, 0xab, msg)
     # . . push args
     68/push  "F - test-convert-next-octet"/imm32
@@ -374,7 +374,7 @@ test-convert-next-octet-handles-Eof:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-convert-next-octet-handles-Eof:end/disp8
+    75/jump-if-!=  $test-convert-next-octet-handles-Eof:end/disp8
     # check-ints-equal(eax, Eof, msg)
     # . . push args
     68/push  "F - test-convert-next-octet-handles-Eof"/imm32
@@ -505,7 +505,7 @@ $scan-next-byte:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # if (eax == Eof) return eax
     3d/compare-with-eax  0xffffffff/imm32/Eof
-    74/jump-if-equal  $scan-next-byte:end/disp8
+    74/jump-if-=  $scan-next-byte:end/disp8
     # if (is-hex-digit?(eax)) return eax
     # . save eax for now
     50/push-eax
@@ -521,21 +521,21 @@ $scan-next-byte:loop:
     # . restore eax (does not affect flags)
     58/pop-to-eax
     # . check whether to return
-    75/jump-if-not-equal  $scan-next-byte:end/disp8
+    75/jump-if-!=  $scan-next-byte:end/disp8
 $scan-next-byte:check1:
     # if (eax == ' ') continue
     3d/compare-eax-and  0x20/imm32/space
-    74/jump-if-equal  $scan-next-byte:loop/disp8
+    74/jump-if-=  $scan-next-byte:loop/disp8
     # if (eax == '\t') continue
     3d/compare-eax-and  9/imm32/tab
-    74/jump-if-equal  $scan-next-byte:loop/disp8
+    74/jump-if-=  $scan-next-byte:loop/disp8
     # if (eax == '\n') continue
     3d/compare-eax-and  0xa/imm32/newline
-    74/jump-if-equal  $scan-next-byte:loop/disp8
+    74/jump-if-=  $scan-next-byte:loop/disp8
 $scan-next-byte:check2:
     # if (eax == '#') skip-until-newline(in)
     3d/compare-with-eax  0x23/imm32
-    75/jump-if-not-equal  $scan-next-byte:check3/disp8
+    75/jump-if-!=  $scan-next-byte:check3/disp8
     # . skip-until-newline(in)
     # . . push args
     ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp    .           .             .           .           8/disp8         .                 # push *(ebp+8)
@@ -641,7 +641,7 @@ test-scan-next-byte:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte:end/disp8
+    75/jump-if-!=  $test-scan-next-byte:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte"/imm32
@@ -739,7 +739,7 @@ test-scan-next-byte-skips-whitespace:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-skips-whitespace:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-skips-whitespace:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-skips-whitespace"/imm32
@@ -845,7 +845,7 @@ test-scan-next-byte-skips-comment:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-skips-comment:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-skips-comment:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-skips-comment"/imm32
@@ -951,7 +951,7 @@ test-scan-next-byte-skips-comment-and-whitespace:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-skips-comment-and-whitespace:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-skips-comment-and-whitespace:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-skips-comment-and-whitespace"/imm32
@@ -1059,7 +1059,7 @@ test-scan-next-byte-skips-whitespace-and-comment:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-skips-whitespace-and-comment:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-skips-whitespace-and-comment:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-skips-whitespace-and-comment"/imm32
@@ -1157,7 +1157,7 @@ test-scan-next-byte-reads-final-byte:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-reads-final-byte:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-reads-final-byte:end/disp8
     # check-ints-equal(eax, 0x61/a, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-reads-final-byte"/imm32
@@ -1247,7 +1247,7 @@ test-scan-next-byte-handles-Eof:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # return if abort
     81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx    .           .             .           .           4/disp8         0/imm32           # compare *(ecx+4)
-    75/jump-if-not-equal  $test-scan-next-byte-handles-Eof:end/disp8
+    75/jump-if-!=  $test-scan-next-byte-handles-Eof:end/disp8
     # check-ints-equal(eax, Eof, msg)
     # . . push args
     68/push  "F - test-scan-next-byte-handles-Eof"/imm32
@@ -1373,10 +1373,10 @@ $skip-until-newline:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == Eof) break
     3d/compare-eax-and  0xffffffff/imm32/Eof
-    74/jump-if-equal  $skip-until-newline:end/disp8
+    74/jump-if-=  $skip-until-newline:end/disp8
     # . if (eax != 0xa/newline) loop
     3d/compare-eax-and  0xa/imm32/newline
-    75/jump-if-not-equal  $skip-until-newline:loop/disp8
+    75/jump-if-!=  $skip-until-newline:loop/disp8
 $skip-until-newline:end:
     # . restore registers
     58/pop-to-eax
diff --git a/apps/mu.subx b/apps/mu.subx
index d0719713..962cc175 100644
--- a/apps/mu.subx
+++ b/apps/mu.subx
@@ -374,11 +374,11 @@ Entry:
     {
       # if (argc <= 1) break
       81 7/subop/compare *ebp 1/imm32
-      7e/jump-if-lesser-or-equal break/disp8
+      7e/jump-if-<= break/disp8
       # if (argv[1] != "test") break
       (kernel-string-equal? *(ebp+8) "test")  # => eax
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (run-tests)
       # syscall(exit, *Num-test-failures)
@@ -1025,7 +1025,7 @@ $parse-mu:line-loop:
       (read-line-buffered *(ebp+8) %ecx)
       # if (line->write == 0) break
       81 7/subop/compare *ecx 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
 #?       # dump line {{{
 #?       (write 2 "parse-mu: ^")
 #?       (write-stream 2 %ecx)
@@ -1036,7 +1036,7 @@ $parse-mu:line-loop:
       # if slice-empty?(word-slice) continue
       (slice-empty? %edx)
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal loop/disp32
+      0f 85/jump-if-!= loop/disp32
       # if (*word-slice->start == "#") continue
       # . eax = *word-slice->start
       8b/-> *edx 0/r32/eax
@@ -1044,13 +1044,13 @@ $parse-mu:line-loop:
       81 4/subop/and %eax 0xff/imm32
       # . if (eax == '#') continue
       3d/compare-eax-and 0x23/imm32/hash
-      0f 84/jump-if-equal loop/disp32
+      0f 84/jump-if-= loop/disp32
       # if (slice-equal?(word-slice, "fn")) parse a function
       {
 $parse-mu:fn:
         (slice-equal? %edx "fn")
         3d/compare-eax-and 0/imm32
-        0f 84/jump-if-equal break/disp32
+        0f 84/jump-if-= break/disp32
         # var new-function/eax : (handle function) = populate-mu-function(in, new-function, vars)
         (allocate Heap *Function-size)  # => eax
         (zero-out %eax *Function-size)
@@ -1169,15 +1169,15 @@ populate-mu-function-header:  # first-line : (addr stream byte), out : (handle f
     # if (word-slice == '{') abort
     (slice-equal? %ecx "{")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
     # if (word-slice == '->') abort
     (slice-equal? %ecx "->")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
     # if (word-slice == '}') abort
     (slice-equal? %ecx "}")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
     # save function name
     (slice-to-string Heap %ecx)  # => eax
     89/<- *edi 0/r32/eax  # Function-name
@@ -1190,21 +1190,21 @@ $populate-mu-function-header:check-for-inout:
       # if (word-slice == '{') goto done
       (slice-equal? %ecx "{")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $populate-mu-function-header:done/disp32
+      0f 85/jump-if-!= $populate-mu-function-header:done/disp32
       # if (word-slice == '->') break
       (slice-equal? %ecx "->")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal break/disp32
+      0f 85/jump-if-!= break/disp32
       # if (word-slice == '}') abort
       (slice-equal? %ecx "}")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
       # var v/ebx : (handle var) = parse-var-with-type(word-slice, first-line)
       (parse-var-with-type %ecx *(ebp+8))  # => eax
       89/<- %ebx 0/r32/eax
       # assert(v->register == null)
       81 7/subop/compare *(ebx+0x10) 0/imm32  # Var-register
-      0f 85/jump-if-not-equal $populate-mu-function-header:error2/disp32
+      0f 85/jump-if-!= $populate-mu-function-header:error2/disp32
       # v->stack-offset = next-offset
       89/<- *(ebx+0xc) 2/r32/edx  # Var-stack-offset
       # next-offset += size-of(v)
@@ -1224,21 +1224,21 @@ $parse-var-with-type:check-for-out:
       # if (word-slice == '{') break
       (slice-equal? %ecx "{")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal break/disp32
+      0f 85/jump-if-!= break/disp32
       # if (word-slice == '->') abort
       (slice-equal? %ecx "->")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
       # if (word-slice == '}') abort
       (slice-equal? %ecx "}")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
       #
       (parse-var-with-type %ecx *(ebp+8))  # => eax
       89/<- %ebx 0/r32/eax
       # assert(var->register != null)
       81 7/subop/compare *(ebx+0x10) 0/imm32  # Var-register
-      0f 84/jump-if-equal $populate-mu-function-header:error3/disp32
+      0f 84/jump-if-= $populate-mu-function-header:error3/disp32
       (append-list Heap %ebx *(edi+0xc))  # Function-outputs => eax
       89/<- *(edi+0xc) 0/r32/eax  # Function-outputs
       e9/jump loop/disp32
@@ -1522,7 +1522,7 @@ $parse-var-with-type:save-name:
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x3a/imm32/colon
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(ecx+4) 0/r32/eax
     }
     # . if s ends with ',', decrement s->end
@@ -1532,7 +1532,7 @@ $parse-var-with-type:save-name:
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x2c/imm32/comma
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(ecx+4) 0/r32/eax
     }
 $parse-var-with-type:write-name:
@@ -1548,7 +1548,7 @@ $parse-var-with-type:save-register:
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x3a/imm32/colon
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(ecx+4) 0/r32/eax
     }
     # . if s ends with ',', decrement s->end
@@ -1558,7 +1558,7 @@ $parse-var-with-type:save-register:
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x2c/imm32/comma
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(ecx+4) 0/r32/eax
     }
     # if (!slice-empty?(s)) v->register = slice-to-string(s)
@@ -1568,7 +1568,7 @@ $parse-var-with-type:write-register:
       # That's probably a sign we have the wrong algorithm for this function.
       8b/-> *ecx 0/r32/eax
       39/compare 0/r32/eax *(ecx+4)
-      76/jump-if-lesser-or-equal break/disp8
+      76/jump-if-<= break/disp8
       (slice-to-string Heap %ecx)
       89/<- *(edi+0x10) 0/r32/eax  # Var-register
     }
@@ -1577,33 +1577,33 @@ $parse-var-with-type:write-register:
     # if (word-slice == '{') abort
     (slice-equal? %ecx "{")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
     # if (word-slice == '->') abort
     (slice-equal? %ecx "->")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
     # if (word-slice == '}') abort
     (slice-equal? %ecx "}")   # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
     # if (slice-empty?(type)) skip
     (slice-empty? %ecx)
     {
       3d/compare-eax-and 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       (next-mu-token *(ebp+0xc) %ecx)
       # if (word-slice == '{') abort
       (slice-equal? %ecx "{")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
       # if (word-slice == '->') abort
       (slice-equal? %ecx "->")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
       # if (word-slice == '}') abort
       (slice-equal? %ecx "}")   # => eax
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
     }
     (type-for %ecx)  # => eax
     89/<- *(edi+4) 0/r32/eax  # Var-type
@@ -1655,7 +1655,7 @@ next-mu-token:  # in: (addr stream byte), out: (addr slice)
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x3a/imm32/colon
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(edi+4) 0/r32/eax
     }
     # if out ends with ',', decrement out->end
@@ -1665,7 +1665,7 @@ next-mu-token:  # in: (addr stream byte), out: (addr slice)
       8a/copy-byte *eax 3/r32/BL
       81 4/subop/and %ebx 0xff/imm32
       81 7/subop/compare %ebx 0x2c/imm32/comma
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       89/<- *(edi+4) 0/r32/eax
     }
 $next-mu-token:end:
@@ -1722,14 +1722,14 @@ pos-slice:  # arr: (addr stream (handle array byte)), s: (addr slice) -> index/e
       # if (curr >= max) return -1
       39/compare %edx 3/r32/ebx
       {
-        72/jump-if-lesser-unsigned break/disp8
+        72/jump-if-addr< break/disp8
         b8/copy-to-eax 1/imm32
         eb/jump $pos-slice:end/disp8
       }
       # if (slice-equal?(s, *curr)) break
       (slice-equal? *(ebp+0xc) *edx)  # => eax
       3d/compare-eax-and 0/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       # ++index
       41/increment-ecx
       # curr += 4
@@ -1901,7 +1901,7 @@ is-identifier?:  # in : (addr slice) -> result/eax : boolean
     # if (slice-empty?(in)) return false
     (slice-empty? *(ebp+8))  # => eax
     3d/compare-eax-and 0/imm32
-    75/jump-if-not-equal $is-identifier?:false/disp8
+    75/jump-if-!= $is-identifier?:false/disp8
     # var c/eax : byte = *in->start
     8b/-> *(ebp+8) 0/r32/eax
     8b/-> *eax 0/r32/eax
@@ -1909,18 +1909,18 @@ is-identifier?:  # in : (addr slice) -> result/eax : boolean
     81 4/subop/and %eax 0xff/imm32
     # if (c == '$') return true
     3d/compare-eax-and 0x24/imm32/$
-    74/jump-if-equal $is-identifier?:true/disp8
+    74/jump-if-= $is-identifier?:true/disp8
     # if (c == '_') return true
     3d/compare-eax-and 0x5f/imm32/_
-    74/jump-if-equal $is-identifier?:true/disp8
+    74/jump-if-= $is-identifier?:true/disp8
     # drop case
     25/and-eax-with 0x5f/imm32
     # if (c < 'A') return false
     3d/compare-eax-and 0x41/imm32/A
-    7c/jump-if-lesser $is-identifier?:false/disp8
+    7c/jump-if-< $is-identifier?:false/disp8
     # if (c > 'Z') return false
     3d/compare-eax-and 0x5a/imm32/Z
-    7f/jump-if-greater $is-identifier?:false/disp8
+    7f/jump-if-> $is-identifier?:false/disp8
     # otherwise return true
 $is-identifier?:true:
     b8/copy-to-eax 1/imm32/true
@@ -2282,7 +2282,7 @@ $parse-mu-block:line-loop:
 #?       (flush Stderr)
       # if (line->write == 0) break
       81 7/subop/compare *ecx 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       # word-slice = next-word(line)
       (next-word %ecx %edx)
 #?       (write-buffered Stderr "word: ")
@@ -2292,7 +2292,7 @@ $parse-mu-block:line-loop:
       # if slice-empty?(word-slice) continue
       (slice-empty? %edx)
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal loop/disp32
+      0f 85/jump-if-!= loop/disp32
       # if (slice-starts-with?(word-slice, '#') continue
       # . eax = *word-slice->start
       8b/-> *edx 0/r32/eax
@@ -2300,13 +2300,13 @@ $parse-mu-block:line-loop:
       81 4/subop/and %eax 0xff/imm32
       # . if (eax == '#') continue
       3d/compare-eax-and 0x23/imm32/hash
-      0f 84/jump-if-equal loop/disp32
+      0f 84/jump-if-= loop/disp32
       # if slice-equal?(word-slice, "{")
       {
 $parse-mu-block:check-for-block:
         (slice-equal? %edx "{")
         3d/compare-eax-and 0/imm32
-        74/jump-if-equal break/disp8
+        74/jump-if-= break/disp8
         (check-no-tokens-left %ecx)
         # parse new block and append
         (parse-mu-block *(ebp+8) *(ebp+0xc) *(ebp+0x10))  # => eax
@@ -2317,7 +2317,7 @@ $parse-mu-block:check-for-block:
 $parse-mu-block:check-for-end:
       (slice-equal? %edx "}")
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal break/disp32
+      0f 85/jump-if-!= break/disp32
       # if slice-ends-with?(word-slice, ":") parse named block and append
       {
 $parse-mu-block:check-for-named-block:
@@ -2327,7 +2327,7 @@ $parse-mu-block:check-for-named-block:
         81 4/subop/and %eax 0xff/imm32
         # . if (eax != ':') break
         3d/compare-eax-and 0x23/imm32/hash
-        0f 85/jump-if-not-equal break/disp32
+        0f 85/jump-if-!= break/disp32
         #
         (parse-mu-named-block %edx %ecx *(ebp+8) *(ebp+0xc) *(ebp+0x10))  # => eax
         (append-to-block %edi %eax)
@@ -2338,7 +2338,7 @@ $parse-mu-block:check-for-named-block:
 $parse-mu-block:check-for-var:
         (slice-equal? %edx "var")
         3d/compare-eax-and 0/imm32
-        74/jump-if-equal break/disp8
+        74/jump-if-= break/disp8
         #
         (parse-mu-var-def %ecx *(ebp+0xc))  # => eax
         (append-to-block %edi %eax)
@@ -2394,7 +2394,7 @@ check-no-tokens-left:  # line : (addr stream byte)
     # if slice-empty?(s) return
     (slice-empty? %ecx)
     3d/compare-eax-and 0/imm32
-    75/jump-if-not-equal $check-no-tokens-left:end/disp8
+    75/jump-if-!= $check-no-tokens-left:end/disp8
     # if (slice-starts-with?(s, '#') return
     # . eax = *s->start
     8b/-> *edx 0/r32/eax
@@ -2402,7 +2402,7 @@ check-no-tokens-left:  # line : (addr stream byte)
     81 4/subop/and %eax 0xff/imm32
     # . if (eax == '#') continue
     3d/compare-eax-and 0x23/imm32/hash
-    74/jump-if-equal $check-no-tokens-left:end/disp8
+    74/jump-if-= $check-no-tokens-left:end/disp8
     # abort
     (write-buffered Stderr "'{' or '}' should be on its own line, but got '")
     (rewind-stream %ecx)
@@ -2520,7 +2520,7 @@ parse-mu-stmt:  # line : (addr stream byte), vars : (addr stack (handle var)), f
     {
       (stmt-has-outputs? *(ebp+8))
       3d/compare-eax-and 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       {
 $parse-mu-stmt:read-outputs:
         # name = next-word(line)
@@ -2528,15 +2528,15 @@ $parse-mu-stmt:read-outputs:
         # if slice-empty?(word-slice) break
         (slice-empty? %ecx)
         3d/compare-eax-and 0/imm32
-        0f 85/jump-if-not-equal break/disp32
+        0f 85/jump-if-!= break/disp32
         # if (name == "<-") break
         (slice-equal? %ecx "<-")
         3d/compare-eax-and 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         # assert(is-identifier?(name))
         (is-identifier? %ecx)
         3d/compare-eax-and 0/imm32
-        0f 84/jump-if-equal $parse-mu-stmt:abort/disp32
+        0f 84/jump-if-= $parse-mu-stmt:abort/disp32
         #
         (lookup-or-define-var %ecx *(ebp+0xc) *(ebp+0x10))  # => eax
         (append-list Heap %eax *(edi+0xc))  # Stmt1-outputs => eax
@@ -2555,11 +2555,11 @@ $parse-mu-stmt:read-inouts:
       # if slice-empty?(word-slice) break
       (slice-empty? %ecx)
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal break/disp32
+      0f 85/jump-if-!= break/disp32
       # if (name == "<-") abort
       (slice-equal? %ecx "<-")
       3d/compare-eax-and 0/imm32
-      0f 85/jump-if-not-equal $parse-mu-stmt:abort2/disp32
+      0f 85/jump-if-!= $parse-mu-stmt:abort2/disp32
       #
       (lookup-var-or-literal %ecx *(ebp+0xc))  # => eax
       (append-list Heap %eax *(edi+8))  # Stmt1-inouts => eax
@@ -2623,7 +2623,7 @@ stmt-has-outputs?:  # line : (addr stream byte) -> result/eax : boolean
       (slice-empty? %ecx)
       3d/compare-eax-and 0/imm32
       b8/copy-to-eax 0/imm32/false/result  # restore result (if we're here it's still false)
-      0f 85/jump-if-not-equal break/disp32
+      0f 85/jump-if-!= break/disp32
       # if slice-starts-with?(word-slice, '#') break
       # . eax = *word-slice->start
       8b/-> *ecx 0/r32/eax
@@ -2632,11 +2632,11 @@ stmt-has-outputs?:  # line : (addr stream byte) -> result/eax : boolean
       # . if (eax == '#') break
       3d/compare-eax-and 0x23/imm32/hash
       b8/copy-to-eax 0/imm32/false/result  # restore result (if we're here it's still false)
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       # if slice-equal?(word-slice, '<-') return true
       (slice-equal? %ecx "<-")
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal loop/disp8
+      74/jump-if-= loop/disp8
       b8/copy-to-eax 1/imm32/true
     }
 $stmt-has-outputs:end:
@@ -2664,7 +2664,7 @@ lookup-var-or-literal:  # name: (addr slice), vars : (addr stack (handle var)) -
     # if slice-empty?(name) abort
     (slice-empty? %esi)  # => eax
     3d/compare-eax-and 0/imm32
-    0f 85/jump-if-not-equal $lookup-var-or-literal:abort/disp32
+    0f 85/jump-if-!= $lookup-var-or-literal:abort/disp32
     # var ecx : byte = *name->start
     8b/-> *esi 1/r32/ecx
     8a/copy-byte *ecx 1/r32/CL
@@ -2673,12 +2673,12 @@ lookup-var-or-literal:  # name: (addr slice), vars : (addr stack (handle var)) -
     (is-decimal-digit? %ecx)  # => eax
     81 7/subop/compare %eax 0/imm32
     {
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       (new-literal-integer Heap %esi)  # => eax
     }
     # otherwise return lookup-var(name, vars)
     {
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       (lookup-var %esi *(ebp+0xc))  # => eax
     }
 $lookup-var-or-literal:end:
@@ -2710,7 +2710,7 @@ lookup-var:  # name: (addr slice), vars : (addr stack (handle var)) -> result/ea
     (lookup-var-helper %eax *(ebp+0xc))  # => eax
     # if (result == 0) abort
     3d/compare-eax-and 0/imm32
-    74/jump-if-equal $lookup-var:abort/disp8
+    74/jump-if-= $lookup-var:abort/disp8
 $lookup-var:end:
     # . epilogue
     89/<- %esp 5/r32/ebp
@@ -2752,7 +2752,7 @@ lookup-var-helper:  # name: (addr array byte), vars : (addr stack (handle var))
     8b/-> *esi 3/r32/ebx
     # if (vars->top > vars->length) abort
     3b/compare 0/r32/eax *(esi+4)
-    0f 8f/jump-if-greater $lookup-var-helper:error1/disp32
+    0f 8f/jump-if-> $lookup-var-helper:error1/disp32
     # var min/edx : (addr handle var) = vars->data
     8d/copy-address *(esi+8) 2/r32/edx
     # var curr/ebx : (addr handle var) = &vars->data[vars->top - 4]
@@ -2762,14 +2762,14 @@ lookup-var-helper:  # name: (addr array byte), vars : (addr stack (handle var))
       # if (curr < min) return 0
       39/compare %ebx 2/r32/edx
       b8/copy-to-eax 0/imm32
-      0f 82/jump-if-lesser-unsigned break/disp32
+      0f 82/jump-if-addr< break/disp32
       # var v/eax : (handle var) = *curr
       8b/-> *ebx 0/r32/eax
       # if (v->name == name) return v
       (string-equal? *eax *(ebp+8))  # Var-name
       3d/compare-eax-and 0/imm32
       8b/-> *ebx 0/r32/eax
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       # curr -= 4
       81 5/subop/subtract %ebx 4/imm32
       e9/jump loop/disp32
@@ -2810,13 +2810,13 @@ lookup-or-define-var:  # name: (addr slice), vars : (addr stack (handle var)), f
     {
       # if (result != 0) return
       3d/compare-eax-and 0/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       # if name is one of fn's outputs, return it
       {
         (find-in-function-outputs *(ebp+0x10) %ecx)  # => eax
         3d/compare-eax-and 0/imm32
         # otherwise abort
-        0f 84/jump-if-not-equal $lookup-var:abort/disp32
+        0f 84/jump-if-!= $lookup-var:abort/disp32
       }
     }
 $lookup-or-define-var:end:
@@ -2839,7 +2839,7 @@ find-in-function-outputs:  # fn : (handle function), name : (handle array byte)
     # while curr != null
     {
       81 7/subop/compare %ecx 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       # var v : (handle var) = *curr
       8b/-> *ecx 0/r32/eax  # List-value
       # if (curr->name == name) return curr
@@ -2847,7 +2847,7 @@ find-in-function-outputs:  # fn : (handle function), name : (handle array byte)
       (string-equal? *eax *(ebp+0xc))
       3d/compare-eax-and 0/imm32
       58/pop-to-eax
-      75/jump-if-not-equal $find-in-function-outputs:end/disp8
+      75/jump-if-!= $find-in-function-outputs:end/disp8
       # curr = curr->next
       8b/-> *(ecx+4) 1/r32/ecx  # List-next
       eb/jump loop/disp8
@@ -2960,7 +2960,7 @@ new-literal-integer:  # ad: (addr allocation-descriptor), name: (addr slice) ->
     # if (!is-hex-int?(name)) abort
     (is-hex-int? *(ebp+0xc))  # => eax
     3d/compare-eax-and 0/imm32
-    0f 84/jump-if-equal $new-literal-integer:abort/disp32
+    0f 84/jump-if-= $new-literal-integer:abort/disp32
     # var s/ecx : (addr array byte)
     (slice-to-string Heap *(ebp+0xc))  # => eax
     89/<- %ecx 0/r32/eax
@@ -3137,14 +3137,14 @@ append-list:  # ad: (addr allocation-descriptor), value: _type, list: (handle li
     89/<- *eax 1/r32/ecx  # List-value
     # if (list == null) return result
     81 7/subop/compare *(ebp+0x10) 0/imm32
-    74/jump-if-equal $new-list:end/disp8
+    74/jump-if-= $new-list:end/disp8
     # otherwise append
     # var curr/ecx = list
     8b/-> *(ebp+0x10) 1/r32/ecx
     # while (curr->next != null) curr = curr->next
     {
       81 7/subop/compare *(ecx+4) 0/imm32  # List-next
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       # curr = curr->next
       8b/-> *(ecx+4) 1/r32/ecx
       eb/jump loop/disp8
@@ -3225,7 +3225,7 @@ emit-subx:  # out : (addr buffered-file)
     {
       # if (curr == null) break
       81 7/subop/compare %ecx 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       (emit-subx-function %edi %ecx)
       # curr = curr->next
       8b/-> *(ecx+0x14) 1/r32/ecx  # Function-next
@@ -3280,12 +3280,12 @@ emit-subx-block:  # out : (addr buffered-file), block : (handle block)
     {
 $emit-subx-block:check-empty:
       81 7/subop/compare %esi 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
       (write-buffered *(ebp+8) "{\n")
       {
 $emit-subx-block:stmt:
         81 7/subop/compare %esi 0/imm32
-        74/jump-if-equal break/disp8
+        74/jump-if-= break/disp8
         (emit-subx-statement *(ebp+8) *esi Primitives *Program)
         (write-buffered *(ebp+8) Newline)
         8b/-> *(esi+4) 6/r32/esi  # List-next
@@ -3311,7 +3311,7 @@ emit-subx-statement:  # out : (addr buffered-file), stmt : (handle statement), p
 $emit-subx-statement:primitive:
       (find-matching-primitive *(ebp+0x10) *(ebp+0xc))  # primitives, stmt => curr/eax
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       (emit-subx-primitive *(ebp+8) *(ebp+0xc) %eax)  # out, stmt, curr
       e9/jump $emit-subx-statement:end/disp32
     }
@@ -3320,7 +3320,7 @@ $emit-subx-statement:primitive:
 $emit-subx-statement:call:
       (find-matching-function *(ebp+0x14) *(ebp+0xc))  # functions, stmt => curr/eax
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       (emit-subx-call *(ebp+8) *(ebp+0xc) %eax)  # out, stmt, curr
       e9/jump $emit-subx-statement:end/disp32
     }
@@ -4136,7 +4136,7 @@ emit-subx-rm32:  # out : (addr buffered-file), l : arg-location, stmt : (handle
     50/push-eax
     # if (l == 0) return
     81 7/subop/compare *(ebp+0xc) 0/imm32
-    74/jump-if-equal $emit-subx-rm32:end/disp8
+    74/jump-if-= $emit-subx-rm32:end/disp8
     #
     (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc))  # stmt, l => var/eax
     (emit-subx-var-as-rm32 *(ebp+8) %eax)  # out, var
@@ -4161,7 +4161,7 @@ get-stmt-operand-from-arg-location:  # stmt : (handle statement), l : arg-locati
     # if (l == 1) return stmt->inouts->var
     {
       3d/compare-eax-and 1/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
 $get-stmt-operand-from-arg-location:1:
       8b/-> *(ecx+8) 0/r32/eax  # Stmt1-inouts
       8b/-> *eax 0/r32/eax  # Operand-var
@@ -4170,7 +4170,7 @@ $get-stmt-operand-from-arg-location:1:
     # if (l == 2) return stmt->inouts->next->var
     {
       3d/compare-eax-and 2/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
 $get-stmt-operand-from-arg-location:2:
       8b/-> *(ecx+8) 0/r32/eax  # Stmt1-inouts
       8b/-> *(eax+4) 0/r32/eax  # Operand-next
@@ -4180,7 +4180,7 @@ $get-stmt-operand-from-arg-location:2:
     # if (l == 3) return stmt->outputs
     {
       3d/compare-eax-and 3/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
 $get-stmt-operand-from-arg-location:3:
       8b/-> *(ecx+0xc) 0/r32/eax  # Stmt1-outputs
       8b/-> *eax 0/r32/eax  # Operand-var
@@ -4217,7 +4217,7 @@ emit-subx-r32:  # out : (addr buffered-file), l : arg-location, stmt : (handle s
     51/push-ecx
     # if (location == 0) return
     81 7/subop/compare *(ebp+0xc) 0/imm32
-    0f 84/jump-if-equal $emit-subx-r32:end/disp32
+    0f 84/jump-if-= $emit-subx-r32:end/disp32
     #
     (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc))  # stmt, l => var/eax
     (maybe-get Registers *(eax+0x10) 8)  # Var-register => eax : (addr register-index)
@@ -4242,7 +4242,7 @@ emit-subx-imm32:  # out : (addr buffered-file), l : arg-location, stmt : (handle
     51/push-ecx
     # if (location == 0) return
     81 7/subop/compare *(ebp+0xc) 0/imm32
-    74/jump-if-equal $emit-subx-imm32:end/disp8
+    74/jump-if-= $emit-subx-imm32:end/disp8
     #
     (get-stmt-operand-from-arg-location *(ebp+0x10) *(ebp+0xc))  # stmt, l => var/eax
     (write-buffered *(ebp+8) Space)
@@ -4276,7 +4276,7 @@ emit-subx-call:  # out : (addr buffered-file), stmt : (handle statement), callee
     {
       # if (curr == null) break
       81 7/subop/compare %ecx 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (emit-subx-call-operand *(ebp+8) *ecx)
       # curr = curr->next
@@ -4305,7 +4305,7 @@ emit-subx-call-operand:  # out : (addr buffered-file), operand : (handle variabl
     # if (operand->register) emit "%__"
     {
       81 7/subop/compare *(eax+0x10) 0/imm32  # Var-register
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
 $emit-subx-call-operand:register:
       (write-buffered *(ebp+8) " %")
       (write-buffered *(ebp+8) *(eax+0x10))  # Var-register
@@ -4314,7 +4314,7 @@ $emit-subx-call-operand:register:
     # else if (operand->stack-offset) emit "*(ebp+__)"
     {
       81 7/subop/compare *(eax+0xc) 0/imm32  # Var-stack-offset
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
 $emit-subx-call-operand:stack:
       (write-buffered *(ebp+8) Space)
       (write-buffered *(ebp+8) "*(ebp+")
@@ -4329,7 +4329,7 @@ $emit-subx-call-operand:stack:
       8b/-> *(eax+4) 0/r32/eax  # Var-type
       81 7/subop/compare *eax 0/imm32  # Tree-left
       58/pop-to-eax
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
 $emit-subx-call-operand:literal:
       (write-buffered *(ebp+8) Space)
       (write-buffered *(ebp+8) *eax)
@@ -4353,7 +4353,7 @@ emit-subx-var-as-rm32:  # out : (addr buffered-file), operand : (handle variable
     # if (operand->register) emit "%__"
     {
       81 7/subop/compare *(eax+0x10) 0/imm32  # Var-register
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
 $emit-subx-var-as-rm32:register:
       (write-buffered *(ebp+8) " %")
       (write-buffered *(ebp+8) *(eax+0x10))  # Var-register
@@ -4361,7 +4361,7 @@ $emit-subx-var-as-rm32:register:
     # else if (operand->stack-offset) emit "*(ebp+__)"
     {
       81 7/subop/compare *(eax+0xc) 0/imm32  # Var-stack-offset
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
 $emit-subx-var-as-rm32:stack:
       (write-buffered *(ebp+8) Space)
       (write-buffered *(ebp+8) "*(ebp+")
@@ -4388,12 +4388,12 @@ find-matching-function:  # functions : (addr function), stmt : (handle statement
     {
       # if (curr == null) break
       81 7/subop/compare %ecx 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       # if match(stmt, curr) return curr
       {
         (mu-stmt-matches-function? *(ebp+0xc) %ecx)  # => eax
         3d/compare-eax-and 0/imm32
-        74/jump-if-equal break/disp8
+        74/jump-if-= break/disp8
         89/<- %eax 1/r32/ecx
         eb/jump $find-matching-function:end/disp8
       }
@@ -4423,7 +4423,7 @@ find-matching-primitive:  # primitives : (handle primitive), stmt : (handle stat
 $find-matching-primitive:loop:
       # if (curr == null) break
       81 7/subop/compare %ecx 0/imm32
-      0f 84/jump-if-equal break/disp32
+      0f 84/jump-if-= break/disp32
 #?       (write-buffered Stderr "prim: ")
 #?       (write-buffered Stderr *ecx)  # Primitive-name
 #?       (write-buffered Stderr " => ")
@@ -4434,7 +4434,7 @@ $find-matching-primitive:loop:
       {
         (mu-stmt-matches-primitive? *(ebp+0xc) %ecx)  # => eax
         3d/compare-eax-and 0/imm32
-        74/jump-if-equal break/disp8
+        74/jump-if-= break/disp8
         89/<- %eax 1/r32/ecx
         eb/jump $find-matching-primitive:end/disp8
       }
@@ -4495,7 +4495,7 @@ $mu-stmt-matches-primitive?:check-name:
       # if (primitive->name != stmt->operation) return false
       (string-equal? *(ecx+4) *edx)  # Stmt1-operation, Primitive-name => eax
       3d/compare-eax-and 0/imm32
-      75/jump-if-not-equal break/disp8
+      75/jump-if-!= break/disp8
       b8/copy-to-eax 0/imm32
       e9/jump $mu-stmt-matches-primitive?:end/disp32
     }
@@ -4507,11 +4507,11 @@ $mu-stmt-matches-primitive?:check-inouts:
       # if (curr == 0 && curr2 == 0) move on to check outputs
       {
         81 7/subop/compare %esi 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
 $mu-stmt-matches-primitive?:stmt-inout-is-null:
         {
           81 7/subop/compare %edi 0/imm32
-          75/jump-if-not-equal break/disp8
+          75/jump-if-!= break/disp8
           #
           e9/jump $mu-stmt-matches-primitive?:check-outputs/disp32
         }
@@ -4522,7 +4522,7 @@ $mu-stmt-matches-primitive?:stmt-inout-is-null:
       # if (curr2 == 0) return false
       {
         81 7/subop/compare %edi 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
 $mu-stmt-matches-primitive?:prim-inout-is-null:
         b8/copy-to-eax 0/imm32/false
         e9/jump $mu-stmt-matches-primitive?:end/disp32
@@ -4531,7 +4531,7 @@ $mu-stmt-matches-primitive?:prim-inout-is-null:
       {
         (operand-matches-primitive? *esi *edi)  # => eax
         3d/compare-eax-and 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         b8/copy-to-eax 0/imm32/false
         e9/jump $mu-stmt-matches-primitive?:end/disp32
       }
@@ -4550,10 +4550,10 @@ $mu-stmt-matches-primitive?:check-outputs:
       {
 $mu-stmt-matches-primitive?:check-output:
         81 7/subop/compare %esi 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         {
           81 7/subop/compare %edi 0/imm32
-          75/jump-if-not-equal break/disp8
+          75/jump-if-!= break/disp8
           # return true
           b8/copy-to-eax 1/imm32
           e9/jump $mu-stmt-matches-primitive?:end/disp32
@@ -4565,7 +4565,7 @@ $mu-stmt-matches-primitive?:check-output:
       # if (curr2 == 0) return false
       {
         81 7/subop/compare %edi 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         b8/copy-to-eax 0/imm32
         e9/jump $mu-stmt-matches-primitive?:end/disp32
       }
@@ -4573,7 +4573,7 @@ $mu-stmt-matches-primitive?:check-output:
       {
         (operand-matches-primitive? *esi *edi)  # List-value List-value => eax
         3d/compare-eax-and 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         b8/copy-to-eax 0/imm32
         e9/jump $mu-stmt-matches-primitive?:end/disp32
       }
@@ -4612,28 +4612,28 @@ operand-matches-primitive?:  # var : (handle var), prim-var : (handle var) => re
     (type-equal? *(esi+4) *(edi+4))  # Var-type, Var-type => eax
     3d/compare-eax-and 0/imm32
     b8/copy-to-eax 0/imm32/false
-    74/jump-if-equal $operand-matches-primitive?:end/disp8
+    74/jump-if-= $operand-matches-primitive?:end/disp8
     # return false if var->register doesn't match prim-var->register
     {
       # if addresses are equal, don't return here
       8b/-> *(esi+0x10) 0/r32/eax
       39/compare *(edi+0x10) 0/r32/eax
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       # if either address is 0, return false
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal  $operand-matches-primitive?:end/disp8  # eax goes from meaning var->register to result
+      74/jump-if-=  $operand-matches-primitive?:end/disp8  # eax goes from meaning var->register to result
       81 7/subop/compare *(edi+0x10) 0/imm32
-      74/jump-if-equal  $operand-matches-primitive?:end/disp8  # eax goes from meaning var->register to result
+      74/jump-if-=  $operand-matches-primitive?:end/disp8  # eax goes from meaning var->register to result
       # if prim-var->register is "*", return true
       (string-equal? *(edi+0x10) "*")  # Var-register
       3d/compare-eax-and 0/imm32
       b8/copy-to-eax 1/imm32/true
-      75/jump-if-not-equal $operand-matches-primitive?:end/disp8
+      75/jump-if-!= $operand-matches-primitive?:end/disp8
       # if string contents don't match, return false
       (string-equal? *(esi+0x10) *(edi+0x10))  # Var-register Var-register
       3d/compare-eax-and 0/imm32
       b8/copy-to-eax 0/imm32/false
-      74/jump-if-equal $operand-matches-primitive?:end/disp8
+      74/jump-if-= $operand-matches-primitive?:end/disp8
     }
     # return true
     b8/copy-to-eax 1/imm32/true
@@ -4661,19 +4661,19 @@ type-equal?:  # a : (handle tree type-id), b : (handle tree type-id) => result/e
     8b/-> %ecx 0/r32/eax  # Var-type
     39/compare %edx 0/r32/eax  # Var-type
     b8/copy-to-eax 1/imm32/true
-    0f 84/jump-if-equal $type-equal?:end/disp32
+    0f 84/jump-if-= $type-equal?:end/disp32
     # if (a == 0) return false
     81 7/subop/compare %ecx 0/imm32
     b8/copy-to-eax 0/imm32/false
-    0f 84/jump-if-equal $type-equal?:end/disp32
+    0f 84/jump-if-= $type-equal?:end/disp32
     # if (b == 0) return false
     81 7/subop/compare %edx 0/imm32
     b8/copy-to-eax 0/imm32/false
-    0f 84/jump-if-equal $type-equal?:end/disp32
+    0f 84/jump-if-= $type-equal?:end/disp32
     # if (!type-equal?(a->left, b->left)) return false
     (type-equal? *ecx *edx)  # Tree-left, Tree-left => eax
     3d/compare-eax-and 0/imm32
-    0f 84/jump-if-equal $type-equal?:end/disp32
+    0f 84/jump-if-= $type-equal?:end/disp32
     # return type-equal?(a->right, b->right
     (type-equal? *(ecx+4) *(edx+4))  # Tree-right, Tree-right => eax
 $type-equal?:end:
diff --git a/apps/mulisp.subx b/apps/mulisp.subx
index 87479ffe..a2fd5ebe 100644
--- a/apps/mulisp.subx
+++ b/apps/mulisp.subx
@@ -18,11 +18,11 @@ Entry:  # run tests if necessary, a REPL if not
     {
       # if (argc <= 1) break
       81 7/subop/compare *ebp 1/imm32
-      7e/jump-if-lesser-or-equal break/disp8
+      7e/jump-if-<= break/disp8
       # if (argv[1] != "test")) break
       (kernel-string-equal? *(ebp+8) "test")  # => eax
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (run-tests)
       # syscall(exit, *Num-test-failures)
@@ -84,7 +84,7 @@ repl:  # in : (addr buffered-file), out : (addr buffered-file)
       (lisp-read Stdin)  # => eax : (handle cell)
       # if (eax == 0) break
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (lisp-eval %eax)  # => eax : (handle cell)
       (lisp-print Stdout %eax)
@@ -123,7 +123,7 @@ lisp-read:  # in : (addr buffered-file) -> eax : (handle cell)
       # if (s->write == 0) return null
       {
         81 7/subop/compare *ecx 0/imm32
-        75/jump-if-not-equal break/disp8
+        75/jump-if-!= break/disp8
         b8/copy-to-eax 0/imm32/eof
         eb/jump $lisp-read:end/disp8
       }
diff --git a/apps/pack.subx b/apps/pack.subx
index 68be16aa..8719996b 100644
--- a/apps/pack.subx
+++ b/apps/pack.subx
@@ -35,7 +35,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-pack-main:interactive/disp8
+    7e/jump-if-<=  $subx-pack-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -47,7 +47,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-pack-main:interactive/disp8
+    74/jump-if-=  $subx-pack-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -159,7 +159,7 @@ $subx-pack:loop:
 $subx-pack:check0:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $subx-pack:break/disp32
+    0f 84/jump-if-=  $subx-pack:break/disp32
 #?     # dump line {{{
 #?     # . write(2/stderr, "LL: ")
 #?     # . . push args
@@ -205,7 +205,7 @@ $subx-pack:check1:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) write-stream-data(out, line)
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $subx-pack:pass-through/disp32
+    0f 85/jump-if-!=  $subx-pack:pass-through/disp32
 $subx-pack:check2:
 #?     # dump word-slice {{{
 #?     # . write(2/stderr, "AA: ")
@@ -258,7 +258,7 @@ $subx-pack:check2:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto check3
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $subx-pack:check3/disp32
+    0f 84/jump-if-=  $subx-pack:check3/disp32
     # word-slice = next-word(line)
     # . . push args
     52/push-edx
@@ -330,7 +330,7 @@ $subx-pack:check3:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # if (in-code? != false) convert-instruction(line, out)
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32/false     # compare ebx
-    74/jump-if-equal  $subx-pack:data/disp8
+    74/jump-if-=  $subx-pack:data/disp8
 $subx-pack:code:
     # . convert-instruction(line, out)
     # . . push args
@@ -1026,7 +1026,7 @@ $convert-data:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $convert-data:break/disp32
+    0f 85/jump-if-!=  $convert-data:break/disp32
 $convert-data:check-for-comment:
     # if (slice-starts-with?(word-slice, "#"))
     # . var start/edx : (addr byte) = word-slice->start
@@ -1036,7 +1036,7 @@ $convert-data:check-for-comment:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           0/r32/AL    .               .                 # copy byte at *edx to AL
     # . if (c != '#') goto next check
     3d/compare-eax-and  0x23/imm32/hash
-    75/jump-if-not-equal  $convert-data:check-for-label/disp8
+    75/jump-if-!=  $convert-data:check-for-label/disp8
 $convert-data:comment:
     # write-slice-buffered(out, word-slice)
     # . . push args
@@ -1047,7 +1047,7 @@ $convert-data:comment:
     # . . discard args
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # return
-    0f 85/jump-if-not-equal  $convert-data:end/disp32
+    0f 85/jump-if-!=  $convert-data:end/disp32
 $convert-data:check-for-label:
     # if (slice-ends-with?(word-slice, ":"))
     # . var end/edx : (addr byte) = word-slice->end
@@ -1057,7 +1057,7 @@ $convert-data:check-for-label:
     8a/copy-byte                    1/mod/*+disp8   2/rm32/edx    .           .             .           0/r32/AL    -1/disp8        .                 # copy byte at *ecx to AL
     # . if (c != ':') goto next check
     3d/compare-eax-and  0x3a/imm32/colon
-    75/jump-if-not-equal  $convert-data:check-for-imm32/disp8
+    75/jump-if-!=  $convert-data:check-for-imm32/disp8
 $convert-data:label:
     # write-stream-data(out, line)
     # . . push args
@@ -1068,7 +1068,7 @@ $convert-data:label:
     # . . discard args
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # return
-    75/jump-if-not-equal  $convert-data:end/disp8
+    75/jump-if-!=  $convert-data:end/disp8
 $convert-data:check-for-imm32:
     # if (has-metadata?(word-slice, "imm32"))
     # . eax = has-metadata?(ecx, "imm32")
@@ -1081,7 +1081,7 @@ $convert-data:check-for-imm32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) process as a single byte
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $convert-data:single-byte/disp8
+    74/jump-if-=  $convert-data:single-byte/disp8
 $convert-data:imm32:
     # emit(out, word-slice, 4)
     # . . push args
@@ -1860,7 +1860,7 @@ $convert-instruction:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) pass through
     3d/compare-eax-and  0/imm32/false
-    75/jump-if-not-equal  $convert-instruction:pass-through/disp8
+    75/jump-if-!=  $convert-instruction:pass-through/disp8
 $convert-instruction:check1:
     # if (slice-starts-with?(word-slice, "#")) write-stream-data(out, line)
     # . var start/edx : (addr byte) = word-slice->start
@@ -1870,7 +1870,7 @@ $convert-instruction:check1:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           0/r32/AL    .               .                 # copy byte at *edx to AL
     # . if (c == '#') pass through
     3d/compare-eax-and  0x23/imm32/hash
-    74/jump-if-equal  $convert-instruction:pass-through/disp8
+    74/jump-if-=  $convert-instruction:pass-through/disp8
 $convert-instruction:check2:
     # if (slice-ends-with?(word-slice, ":")) write-stream-data(out, line)
     # . var end/edx : (addr byte) = word-slice->end
@@ -1880,7 +1880,7 @@ $convert-instruction:check2:
     8a/copy-byte                    1/mod/*+disp8   2/rm32/edx    .           .             .           0/r32/AL    -1/disp8        .                 # copy byte at *ecx to AL
     # . if (c == ':') pass through
     3d/compare-eax-and  0x3a/imm32/colon
-    75/jump-if-not-equal  $convert-instruction:really-convert/disp8
+    75/jump-if-!=  $convert-instruction:really-convert/disp8
 $convert-instruction:pass-through:
     # write-stream-data(out, line)
     # . . push args
@@ -2028,7 +2028,7 @@ $emit-opcodes:op1:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) return
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+    0f 85/jump-if-!=  $emit-opcodes:end/disp32
     # if (slice-starts-with?(op1, "#")) return
     # . var start/ebx : (addr byte) = op1->start
     8b/copy                         0/mod/indirect  1/rm32/ecx    .           .             .           3/r32/ebx   .               .                 # copy *ecx to ebx
@@ -2037,7 +2037,7 @@ $emit-opcodes:op1:
     8a/copy-byte                    0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/AL    .               .                 # copy byte at *ebx to AL
     # . if (c == '#') return
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+    0f 84/jump-if-=  $emit-opcodes:end/disp32
     # op1 = next-token-from-slice(op1->start, op1->end, '/')
     # . . push args
     51/push-ecx
@@ -2075,7 +2075,7 @@ $emit-opcodes:op1:
     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-not-equal  $emit-opcodes:op2/disp8
+    75/jump-if-!=  $emit-opcodes:op2/disp8
     # if (slice-equal?(op1, "f2")) goto op2
     # . eax = slice-equal?(op1, "f2")
     # . . push args
@@ -2087,7 +2087,7 @@ $emit-opcodes:op1:
     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-not-equal  $emit-opcodes:op2/disp8
+    75/jump-if-!=  $emit-opcodes:op2/disp8
     # if (slice-equal?(op1, "f3")) goto op2
     # . eax = slice-equal?(op1, "f3")
     # . . push args
@@ -2099,7 +2099,7 @@ $emit-opcodes:op1:
     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-not-equal  $emit-opcodes:op2/disp8
+    75/jump-if-!=  $emit-opcodes:op2/disp8
     # otherwise return
     e9/jump  $emit-opcodes:end/disp32
 $emit-opcodes:op2:
@@ -2121,7 +2121,7 @@ $emit-opcodes:op2:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) return
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+    0f 85/jump-if-!=  $emit-opcodes:end/disp32
     # if (slice-starts-with?(op2, "#")) return
     # . var start/ebx : (addr byte) = op2->start
     8b/copy                         0/mod/indirect  2/rm32/edx    .           .             .           3/r32/ebx   .               .                 # copy *edx to ebx
@@ -2130,7 +2130,7 @@ $emit-opcodes:op2:
     8a/copy-byte                    0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/AL    .               .                 # copy byte at *ebx to AL
     # . if (c == '#') return
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+    0f 84/jump-if-=  $emit-opcodes:end/disp32
     # op2 = next-token-from-slice(op2->start, op2->end, '/')
     # . . push args
     52/push-edx
@@ -2168,7 +2168,7 @@ $emit-opcodes:op2:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) return
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+    0f 85/jump-if-!=  $emit-opcodes:end/disp32
     # if (!slice-equal?(op2, "0f")) return
     # . eax = slice-equal?(op2, "0f")
     # . . push args
@@ -2180,7 +2180,7 @@ $emit-opcodes:op2:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) return
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+    0f 84/jump-if-=  $emit-opcodes:end/disp32
 $emit-opcodes:op3:
     # next-word(line, op3)  # reuse op2/edx
     # . . push args
@@ -2200,7 +2200,7 @@ $emit-opcodes:op3:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) return
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+    0f 85/jump-if-!=  $emit-opcodes:end/disp32
     # if (slice-starts-with?(op3, "#")) return
     # . var start/ebx : (addr byte) = op2->start
     8b/copy                         0/mod/indirect  2/rm32/edx    .           .             .           3/r32/ebx   .               .                 # copy *edx to ebx
@@ -2209,7 +2209,7 @@ $emit-opcodes:op3:
     8a/copy-byte                    0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/AL    .               .                 # copy byte at *ebx to AL
     # . if (c == '#') return
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+    0f 84/jump-if-=  $emit-opcodes:end/disp32
     # op3 = next-token-from-slice(op3->start, op3->end, '/')
     # . . push args
     52/push-edx
@@ -2397,7 +2397,7 @@ $emit-modrm:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) pass through
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-modrm:break/disp32
+    0f 85/jump-if-!=  $emit-modrm:break/disp32
 $emit-modrm:check1:
     # if (slice-starts-with?(word-slice, "#")) break
     # . spill edx
@@ -2411,7 +2411,7 @@ $emit-modrm:check1:
     5a/pop-to-edx
     # . if (c == '#') pass through
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-modrm:break/disp32
+    0f 84/jump-if-=  $emit-modrm:break/disp32
 $emit-modrm:check-for-mod:
     # if (has-metadata?(word-slice, "mod"))
     # . eax = has-metadata?(ecx, "mod")
@@ -2424,7 +2424,7 @@ $emit-modrm:check-for-mod:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-modrm:check-for-rm32/disp8
+    74/jump-if-=  $emit-modrm:check-for-rm32/disp8
 $emit-modrm:mod:
     # mod = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2452,7 +2452,7 @@ $emit-modrm:check-for-rm32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-modrm:check-for-r32/disp8
+    74/jump-if-=  $emit-modrm:check-for-r32/disp8
 $emit-modrm:rm32:
     # rm32 = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2480,7 +2480,7 @@ $emit-modrm:check-for-r32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-modrm:check-for-subop/disp8
+    74/jump-if-=  $emit-modrm:check-for-subop/disp8
 $emit-modrm:r32:
     # r32 = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2508,7 +2508,7 @@ $emit-modrm:check-for-subop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) loop
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-modrm:loop/disp32
+    0f 84/jump-if-=  $emit-modrm:loop/disp32
 $emit-modrm:subop:
     # r32 = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2527,7 +2527,7 @@ $emit-modrm:subop:
 $emit-modrm:break:
     # if (!has-modrm?) return
     81          7/subop/compare     3/mod/direct    2/rm32/edx    .           .             .           .           .               0/imm32/false     # compare edx
-    74/jump-if-equal  $emit-modrm:end/disp8
+    74/jump-if-=  $emit-modrm:end/disp8
 $emit-modrm:calculate:
     # var modrm/ebx : byte = mod & 0b11
     81          4/subop/and         3/mod/direct    3/rm32/ebx    .           .             .           .           .               3/imm32/0b11      # bitwise and of ebx
@@ -2706,7 +2706,7 @@ $emit-sib:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) pass through
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-sib:break/disp32
+    0f 85/jump-if-!=  $emit-sib:break/disp32
 $emit-sib:check1:
     # if (slice-starts-with?(word-slice, "#")) break
     # . spill edx
@@ -2720,7 +2720,7 @@ $emit-sib:check1:
     5a/pop-to-edx
     # . if (c == '#') pass through
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-sib:break/disp32
+    0f 84/jump-if-=  $emit-sib:break/disp32
 $emit-sib:check-for-scale:
     # if (has-metadata?(word-slice, "scale"))
     # . eax = has-metadata?(ecx, "scale")
@@ -2733,7 +2733,7 @@ $emit-sib:check-for-scale:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-sib:check-for-base/disp8
+    74/jump-if-=  $emit-sib:check-for-base/disp8
 $emit-sib:scale:
     # scale = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2761,7 +2761,7 @@ $emit-sib:check-for-base:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-sib:check-for-index/disp8
+    74/jump-if-=  $emit-sib:check-for-index/disp8
 $emit-sib:base:
     # base = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2789,7 +2789,7 @@ $emit-sib:check-for-index:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) loop
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-sib:loop/disp32
+    0f 84/jump-if-=  $emit-sib:loop/disp32
 $emit-sib:index:
     # index = parse-hex-int(next-token-from-slice(word-slice->start, word-slice->end, '/'))
     # . eax = parse-datum-of-word(word-slice)
@@ -2808,7 +2808,7 @@ $emit-sib:index:
 $emit-sib:break:
     # if (!has-sib?) return
     81          7/subop/compare     3/mod/direct    2/rm32/edx    .           .             .           .           .               0/imm32/false     # compare edx
-    74/jump-if-equal  $emit-sib:end/disp8
+    74/jump-if-=  $emit-sib:end/disp8
 $emit-sib:calculate:
     # var sib/ebx : byte = scale & 0b11
     81          4/subop/and         3/mod/direct    3/rm32/ebx    .           .             .           .           .               3/imm32/0b11      # bitwise and of ebx
@@ -2969,7 +2969,7 @@ $emit-disp:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) pass through
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-disp:break/disp32
+    0f 85/jump-if-!=  $emit-disp:break/disp32
 $emit-disp:check1:
     # if (slice-starts-with?(word-slice, "#")) break
     # . var start/edx : (addr byte) = word-slice->start
@@ -2979,7 +2979,7 @@ $emit-disp:check1:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           0/r32/AL    .               .                 # copy byte at *edx to AL
     # . if (c == '#') break
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-disp:break/disp32
+    0f 84/jump-if-=  $emit-disp:break/disp32
 $emit-disp:check-for-disp32:
     # if (has-metadata?(word-slice, "disp32"))
     # . eax = has-metadata?(ecx, "disp32")
@@ -2992,7 +2992,7 @@ $emit-disp:check-for-disp32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-disp:check-for-disp16/disp8
+    74/jump-if-=  $emit-disp:check-for-disp16/disp8
 $emit-disp:disp32:
     # emit(out, word-slice, 4)
     # . . push args
@@ -3017,7 +3017,7 @@ $emit-disp:check-for-disp16:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-disp:check-for-disp8/disp8
+    74/jump-if-=  $emit-disp:check-for-disp8/disp8
 $emit-disp:disp16:
     # emit(out, word-slice, 2)
     # . . push args
@@ -3042,7 +3042,7 @@ $emit-disp:check-for-disp8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) loop
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-disp:loop/disp32
+    0f 84/jump-if-=  $emit-disp:loop/disp32
 $emit-disp:disp8:
     # emit(out, word-slice, 1)
     # . . push args
@@ -3188,7 +3188,7 @@ $emit-imm:check0:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) pass through
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-imm:break/disp32
+    0f 85/jump-if-!=  $emit-imm:break/disp32
 $emit-imm:check1:
     # if (slice-starts-with?(word-slice, "#")) break
     # . var start/edx : (addr byte) = slice->start
@@ -3198,7 +3198,7 @@ $emit-imm:check1:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           0/r32/AL    .               .                 # copy byte at *edx to AL
     # . if (c == '#') break
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-imm:break/disp32
+    0f 84/jump-if-=  $emit-imm:break/disp32
 $emit-imm:check-for-imm32:
     # if (has-metadata?(word-slice, "imm32"))
     # . eax = has-metadata?(ecx, "imm32")
@@ -3211,7 +3211,7 @@ $emit-imm:check-for-imm32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-imm:check-for-imm16/disp8
+    74/jump-if-=  $emit-imm:check-for-imm16/disp8
 $emit-imm:imm32:
     # emit(out, word-slice, 4)
     # . . push args
@@ -3236,7 +3236,7 @@ $emit-imm:check-for-imm16:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-imm:check-for-imm8/disp8
+    74/jump-if-=  $emit-imm:check-for-imm8/disp8
 $emit-imm:imm16:
     # emit(out, word-slice, 2)
     # . . push args
@@ -3261,7 +3261,7 @@ $emit-imm:check-for-imm8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) loop
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-imm:loop/disp32
+    0f 84/jump-if-=  $emit-imm:loop/disp32
 $emit-imm:imm8:
     # emit(out, word-slice, 1)
     # . . push args
diff --git a/apps/sigils.subx b/apps/sigils.subx
index c1374c60..fd0bc649 100644
--- a/apps/sigils.subx
+++ b/apps/sigils.subx
@@ -68,7 +68,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-sigils-main:interactive/disp8
+    7e/jump-if-<=  $subx-sigils-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -80,7 +80,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-sigils-main:interactive/disp8
+    74/jump-if-=  $subx-sigils-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -170,7 +170,7 @@ $subx-sigils:line-loop:
 $subx-sigils:check0:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $subx-sigils:break/disp32
+    0f 84/jump-if-=  $subx-sigils:break/disp32
 $subx-sigils:word-loop:
     # next-word-or-expression(line, word-slice)
     # . . push args
@@ -191,7 +191,7 @@ $subx-sigils:check1:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $subx-sigils:next-line/disp32
+    0f 85/jump-if-!=  $subx-sigils:next-line/disp32
 $subx-sigils:check-for-comment:
     # if (slice-starts-with?(word-slice, "#")) continue
     # . start/ebx = word-slice->start
@@ -201,11 +201,11 @@ $subx-sigils:check-for-comment:
     8a/copy-byte                    0/mod/indirect  3/rm32/ebx    .           .             .           0/r32/AL    .               .                 # copy byte at *ebx to AL
     # . if (eax == '#') continue
     3d/compare-eax-and  0x23/imm32/hash
-    74/jump-if-equal  $subx-sigils:word-loop/disp8
+    74/jump-if-=  $subx-sigils:word-loop/disp8
 $subx-sigils:check-for-direct-mode:
     # if (!slice-starts-with?(word-slice, "%")) goto next check
     3d/compare-eax-and  0x25/imm32/percent
-    75/jump-if-not-equal  $subx-sigils:check-for-indirect-mode/disp8
+    75/jump-if-!=  $subx-sigils:check-for-indirect-mode/disp8
 $subx-sigils:direct-mode:
 #?     # dump word-slice {{{
 #?     # . write(2/stderr, "w: ")
@@ -260,7 +260,7 @@ $subx-sigils:direct-mode:
 $subx-sigils:check-for-indirect-mode:
     # if (!slice-starts-with?(word-slice, "*")) goto next check
     3d/compare-eax-and  0x2a/imm32/asterisk
-    75/jump-if-not-equal  $subx-sigils:check-for-invalid-addition/disp8
+    75/jump-if-!=  $subx-sigils:check-for-invalid-addition/disp8
     # if (!disp32-mode?(word-slice)) goto indirect mode
     # . eax = disp32-mode?(word-slice)
     # . . push args
@@ -271,7 +271,7 @@ $subx-sigils:check-for-indirect-mode:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) goto indirect mode
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-sigils:indirect-mode/disp8
+    74/jump-if-=  $subx-sigils:indirect-mode/disp8
 $subx-sigils:disp32-mode:
     # emit-indirect-mode(out, word-slice)
     # . . push args
@@ -317,11 +317,11 @@ $subx-sigils:indirect-mode:
 $subx-sigils:check-for-invalid-addition:
     # if (slice-starts-with?(word-slice, "+")) goto error1
     3d/compare-eax-and  0x2b/imm32/plus
-    74/jump-if-equal  $subx-sigils:error1/disp8
+    74/jump-if-=  $subx-sigils:error1/disp8
 $subx-sigils:check-for-invalid-left-shift:
     # if (slice-starts-with?(word-slice, "<")) goto error1
     3d/compare-eax-and  0x3c/imm32/less-than
-    74/jump-if-equal  $subx-sigils:error1/disp8
+    74/jump-if-=  $subx-sigils:error1/disp8
 $subx-sigils:regular-word:
     # write-slice-buffered(out, word-slice)
     # . . push args
@@ -1652,7 +1652,7 @@ $next-word-or-expression:check0:
     8b/copy                         1/mod/*+disp8   6/rm32/esi    .           .             .           1/r32/ecx   4/disp8         .                 # copy *(esi+4) to ecx
     # . if (ecx < line->write) goto next check
     3b/compare                      0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # compare ecx with *esi
-    7c/jump-if-lesser  $next-word-or-expression:check-for-comment/disp8
+    7c/jump-if-<  $next-word-or-expression:check-for-comment/disp8
     # . return out = {0, 0}
     c7          0/subop/copy        0/mod/direct    7/rm32/edi    .           .             .           .           .               0/imm32           # copy to *edi
     c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi    .           .             .           .           4/disp8         0/imm32           # copy to *(edi+4)
@@ -1667,7 +1667,7 @@ $next-word-or-expression:check-for-comment:
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # . if (eax != '#') goto next check
     3d/compare-eax-and  0x23/imm32/pound
-    75/jump-if-not-equal  $next-word-or-expression:check-for-string-literal/disp8
+    75/jump-if-!=  $next-word-or-expression:check-for-string-literal/disp8
 $next-word-or-expression:comment:
     # out->end = &line->data[line->write]
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           0/r32/eax   .               .                 # copy *esi to eax
@@ -1681,7 +1681,7 @@ $next-word-or-expression:comment:
 $next-word-or-expression:check-for-string-literal:
     # if (line->data[line->read] != '"') goto next check
     3d/compare-eax-and  0x22/imm32/dquote
-    75/jump-if-not-equal  $next-word-or-expression:check-for-expression/disp8
+    75/jump-if-!=  $next-word-or-expression:check-for-expression/disp8
 $next-word-or-expression:string-literal:
     # skip-string(line)
     # . . push args
@@ -1695,14 +1695,14 @@ $next-word-or-expression:string-literal:
 $next-word-or-expression:check-for-expression:
     # if (line->data[line->read] != '*') goto next check
     3d/compare-eax-and  0x2a/imm32/asterisk
-    75/jump-if-not-equal  $next-word-or-expression:regular-word/disp8
+    75/jump-if-!=  $next-word-or-expression:regular-word/disp8
     # if (line->data[line->read + 1] == ' ') goto error1
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xd/disp8       .                 # copy byte at *(esi+ecx+12+1) to AL
     3d/compare-eax-and  0x20/imm32/space
-    74/jump-if-equal  $next-word-or-expression:error1/disp8
+    74/jump-if-=  $next-word-or-expression:error1/disp8
     # if (line->data[line->read + 1] != '(') goto regular word
     3d/compare-eax-and  0x28/imm32/open-paren
-    75/jump-if-not-equal  $next-word-or-expression:regular-word/disp8
+    75/jump-if-!=  $next-word-or-expression:regular-word/disp8
 $next-word-or-expression:paren:
     # skip-until-close-paren(line)
     # . . push args
@@ -1717,7 +1717,7 @@ $next-word-or-expression:paren:
     8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           0/r32/AL    0xc/disp8       .                 # copy byte at *(esi+ecx+12) to AL
     # . if (eax != ')') goto error2
     3d/compare-eax-and  0x29/imm32/close-paren
-    75/jump-if-not-equal  $next-word-or-expression:error2/disp8
+    75/jump-if-!=  $next-word-or-expression:error2/disp8
     # skip ')'
     ff          0/subop/increment   1/mod/*+disp8   6/rm32/esi    .           .             .           .           4/disp8         .                 # increment *(esi+4)
     # fall through
@@ -2269,7 +2269,7 @@ $parse-effective-address:check-for-simple-register:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x28/imm32/open-paren
-    74/jump-if-equal  $parse-effective-address:compound-expression/disp8
+    74/jump-if-=  $parse-effective-address:compound-expression/disp8
 $parse-effective-address:simple-register:
     # local-slice = next-token-from-slice(local-slice->start, local-slice->end, "/")
     # . . push args
@@ -2335,13 +2335,13 @@ $parse-effective-address:compound-expression:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x29/imm32/close-paren
-    0f 84/jump-if-equal  $parse-effective-address:end/disp32
+    0f 84/jump-if-=  $parse-effective-address:end/disp32
     # if (*local-slice->start == '-') goto displacement
     3d/compare-eax-and  0x2d/imm32/minus
-    0f 84/jump-if-equal  $parse-effective-address:displacement/disp32
+    0f 84/jump-if-=  $parse-effective-address:displacement/disp32
     # if (*local-slice->start != '+') goto error1
     3d/compare-eax-and  0x2b/imm32/plus
-    0f 85/jump-if-not-equal  $parse-effective-address:error1/disp32
+    0f 85/jump-if-!=  $parse-effective-address:error1/disp32
 $parse-effective-address:check-for-index:
     # ++local-slice->start to skip '+'
     ff          0/subop/increment   0/mod/indirect  6/rm32/esi    .           .             .           .           .               .                 # increment *esi
@@ -2385,7 +2385,7 @@ $parse-effective-address:resolve-ambiguity:
     59/pop-to-ecx
     # . if (eax == 0) goto displacement
     3d/compare-eax-and  0/imm32
-    0f 84/jump-if-equal  $parse-effective-address:displacement/disp32
+    0f 84/jump-if-=  $parse-effective-address:displacement/disp32
 $parse-effective-address:index:
     # read register into index
     # . eax = next-register(local-slice)
@@ -2412,11 +2412,11 @@ $parse-effective-address:index:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x29/imm32/close-paren
-    0f 84/jump-if-equal  $parse-effective-address:end/disp32
+    0f 84/jump-if-=  $parse-effective-address:end/disp32
 $parse-effective-address:check-for-scale:
     # if (*local-slice->start != '<') goto next check
     3d/compare-eax-and  0x3c/imm32/less-than
-    75/jump-if-not-equal  $parse-effective-address:check-for-displacement/disp8
+    75/jump-if-!=  $parse-effective-address:check-for-displacement/disp8
     # ++local-slice->start to skip '<'
     ff          0/subop/increment   0/mod/indirect  6/rm32/esi    .           .             .           .           .               .                 # increment *esi
     # if (*local-slice->start != '<') goto error2
@@ -2424,7 +2424,7 @@ $parse-effective-address:check-for-scale:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x3c/imm32/less-than
-    0f 85/jump-if-not-equal  $parse-effective-address:error2/disp32
+    0f 85/jump-if-!=  $parse-effective-address:error2/disp32
     # ++local-slice->start to skip '<'
     ff          0/subop/increment   0/mod/indirect  6/rm32/esi    .           .             .           .           .               .                 # increment *esi
     # skip whitespace
@@ -2464,13 +2464,13 @@ $parse-effective-address:scale:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x29/imm32/close-paren
-    74/jump-if-equal  $parse-effective-address:end/disp8
+    74/jump-if-=  $parse-effective-address:end/disp8
 $parse-effective-address:check-for-displacement:
     # if (*local-slice->start not in '+' '-') goto error3
     3d/compare-eax-and  0x2b/imm32/plus
-    74/jump-if-equal  $parse-effective-address:displacement/disp8
+    74/jump-if-=  $parse-effective-address:displacement/disp8
     3d/compare-eax-and  0x2d/imm32/minus
-    74/jump-if-equal  $parse-effective-address:displacement/disp8
+    74/jump-if-=  $parse-effective-address:displacement/disp8
     e9/jump  $parse-effective-address:error3/disp32
 $parse-effective-address:displacement:
     # read integer into disp
@@ -2498,7 +2498,7 @@ $parse-effective-address:displacement:
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x29/imm32/close-paren
-    0f 85/jump-if-not-equal  $parse-effective-address:error4/disp32
+    0f 85/jump-if-!=  $parse-effective-address:error4/disp32
 $parse-effective-address:end:
     # return base in eax
     89/copy                         3/mod/direct    0/rm32/eax    .           .             .           7/r32/edi   .               .                 # copy edi to eax
@@ -3156,15 +3156,15 @@ emit-indirect-mode:  # out : (addr buffered-file), base : int, index : int, scal
 $emit-indirect-mode:check-for-ebp:
     # if (base == 5) goto emit-sib
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       5/imm32           # compare *(ebp+12)
-    74/jump-if-equal  $emit-indirect-mode:emit-sib/disp8
+    74/jump-if-=  $emit-indirect-mode:emit-sib/disp8
 $emit-indirect-mode:check-for-esp:
     # if (base == 4) goto emit-sib
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0xc/disp8       4/imm32           # compare *(ebp+12)
-    74/jump-if-equal  $emit-indirect-mode:emit-sib/disp8
+    74/jump-if-=  $emit-indirect-mode:emit-sib/disp8
 $emit-indirect-mode:check-for-sib:
     # if (index == 4/none) goto next check
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0x10/disp8      4/imm32           # compare *(ebp+16)
-    0f 84/jump-if-equal  $emit-indirect-mode:check-for-disp/disp32
+    0f 84/jump-if-=  $emit-indirect-mode:check-for-disp/disp32
 $emit-indirect-mode:emit-sib:
     # emit(out, "2/mod/indirect 4/rm32/sib " base "/base " index "/index " scale "/scale " disp "/disp32")
     # . write-buffered(out, "2/mod/*+disp32 4/rm32/sib ")
@@ -3243,7 +3243,7 @@ $emit-indirect-mode:emit-sib:
 $emit-indirect-mode:check-for-disp:
     # if (disp == 0) goto next check
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0x18/disp8      0/imm32           # compare *(ebp+24)
-    74/jump-if-equal  $emit-indirect-mode:emit-indirect/disp8
+    74/jump-if-=  $emit-indirect-mode:emit-indirect/disp8
 $emit-indirect-mode:emit-disp:
     # emit(out, "2/mod/*+disp32 " base "/rm32 " disp "/disp32")
     # . write-buffered(out, "2/mod/*+disp32 ")
@@ -3877,7 +3877,7 @@ disp32-mode?:  # in : (addr slice) -> reg/eax : boolean
     8a/copy-byte                    0/mod/indirect  0/rm32/eax    .           .             .           0/r32/AL    .               .                 # copy byte at *eax to AL
     81          4/subop/and         3/mod/direct    0/rm32/eax    .           .             .           .           .               0xff/imm32        # bitwise and of eax
     3d/compare-eax-and  0x28/imm32/open-paren
-    74/jump-if-equal  $disp32-mode?:false/disp8
+    74/jump-if-=  $disp32-mode?:false/disp8
 $disp32-mode?:check-for-register:
     # local-slice = next-token-from-slice(local-slice->start, local-slice->end, "/")
     # . . push args
@@ -3900,7 +3900,7 @@ $disp32-mode?:check-for-register:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               0xc/imm32         # add to esp
     # if (eax != 0) return false
     3d/compare-eax-and  0/imm32
-    75/jump-if-not-equal  $disp32-mode?:false/disp8
+    75/jump-if-!=  $disp32-mode?:false/disp8
     # return true
     b8/copy-to-eax  1/imm32/true
     eb/jump  $disp32-mode?:end/disp8
@@ -3993,14 +3993,14 @@ next-hex-int:  # in : (addr slice) -> result/eax
 $next-hex-int:positive:
     # if (*curr == '+') ++curr
     3d/compare-eax-and  0x2b/imm32/+
-    75/jump-if-not-equal  $next-hex-int:negative/disp8
+    75/jump-if-!=  $next-hex-int:negative/disp8
     # . ++curr
     41/increment-ecx
     eb/jump  $next-hex-int:skip-whitespace/disp8
 $next-hex-int:negative:
     # else if (*curr == '-') ++curr, negate = true
     3d/compare-eax-and  0x2d/imm32/-
-    75/jump-if-not-equal  $next-hex-int:skip-whitespace/disp8
+    75/jump-if-!=  $next-hex-int:skip-whitespace/disp8
 $next-hex-int:need-to-negate:
     # . ++curr
     41/increment-ecx
@@ -4027,24 +4027,24 @@ $next-hex-int:initial-0:
     # . if (*curr != '0') jump to loop
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x30/imm32/0
-    75/jump-if-not-equal  $next-hex-int:loop/disp8
+    75/jump-if-!=  $next-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $next-hex-int:initial-0x:
     # . if (curr >= in->end) return result
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $next-hex-int:end/disp8
+    73/jump-if-addr>=  $next-hex-int:end/disp8
     # . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x78/imm32/x
-    75/jump-if-not-equal  $next-hex-int:loop/disp8
+    75/jump-if-!=  $next-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $next-hex-int:loop:
     # if (curr >= in->end) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $next-hex-int:break/disp8
+    73/jump-if-addr>=  $next-hex-int:break/disp8
     # if (!is-hex-digit?(*curr)) break
     # . eax = *curr
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
@@ -4057,7 +4057,7 @@ $next-hex-int:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) break
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $next-hex-int:break/disp8
+    74/jump-if-=  $next-hex-int:break/disp8
     # eax = from-hex-char(*curr)
     # . . copy arg to eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
@@ -4073,7 +4073,7 @@ $next-hex-int:loop:
 $next-hex-int:break:
     # if (negate?) result = -result
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32/false     # compare ebx
-    74/jump-if-equal  $next-hex-int:end/disp8
+    74/jump-if-=  $next-hex-int:end/disp8
 $next-hex-int:negate:
     f7          3/subop/negate      3/mod/direct    7/rm32/edi    .           .             .           .           .               .                 # negate edi
 $next-hex-int:end:
@@ -4410,24 +4410,24 @@ $next-positive-hex-int:initial-0:
     # . if (*curr != '0') jump to loop
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x30/imm32/0
-    75/jump-if-not-equal  $next-positive-hex-int:loop/disp8
+    75/jump-if-!=  $next-positive-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $next-positive-hex-int:initial-0x:
     # . if (curr >= in->end) return result
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $next-positive-hex-int:end/disp8
+    73/jump-if-addr>=  $next-positive-hex-int:end/disp8
     # . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again
     31/xor                          3/mod/direct    0/rm32/eax    .           .             .           0/r32/eax   .               .                 # clear eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
     3d/compare-eax-and  0x78/imm32/x
-    75/jump-if-not-equal  $next-positive-hex-int:loop/disp8
+    75/jump-if-!=  $next-positive-hex-int:loop/disp8
     # . ++curr
     41/increment-ecx
 $next-positive-hex-int:loop:
     # if (curr >= in->end) break
     39/compare                      3/mod/direct    1/rm32/ecx    .           .             .           2/r32/edx   .               .                 # compare ecx with edx
-    73/jump-if-greater-or-equal-unsigned  $next-positive-hex-int:end/disp8
+    73/jump-if-addr>=  $next-positive-hex-int:end/disp8
     # if (!is-hex-digit?(*curr)) break
     # . eax = *curr
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
@@ -4440,7 +4440,7 @@ $next-positive-hex-int:loop:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) break
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $next-positive-hex-int:end/disp8
+    74/jump-if-=  $next-positive-hex-int:end/disp8
     # eax = from-hex-char(*curr)
     # . . copy arg to eax
     8a/copy-byte                    0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/AL    .               .                 # copy byte at *ecx to AL
diff --git a/apps/survey.subx b/apps/survey.subx
index caedc77a..7ee97d3d 100644
--- a/apps/survey.subx
+++ b/apps/survey.subx
@@ -64,7 +64,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto interactive
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-survey-main:interactive/disp8
+    7e/jump-if-<=  $subx-survey-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto interactive
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -76,7 +76,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto interactive
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-survey-main:interactive/disp8
+    74/jump-if-=  $subx-survey-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -709,7 +709,7 @@ $compute-offsets:line-loop:
     # if (line->write == 0) break
     8b/copy                         0/mod/indirect  1/rm32/ecx    .           .             .           0/r32/eax   .               .                 # copy *ecx to eax
     3d/compare-eax-and  0/imm32
-    0f 84/jump-if-equal  $compute-offsets:break-line-loop/disp32
+    0f 84/jump-if-=  $compute-offsets:break-line-loop/disp32
 #?     # dump line {{{
 #?     # . write(2/stderr, "LL: ")
 #?     # . . push args
@@ -793,7 +793,7 @@ $compute-offsets:word-loop:
 #?     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
 #?     # . if (curr-segment-name == 0) print curr-segment-name
 #?     81          7/subop/compare     3/mod/direct    6/rm32/esi    .           .             .           .           .               0/imm32           # compare esi
-#?     74/jump-if-equal  $compute-offsets:case-empty/disp8
+#?     74/jump-if-=  $compute-offsets:case-empty/disp8
 #?     # . write(2/stderr, "segment at start of word: ")
 #?     # . . push args
 #?     68/push  "segment at start of word: "/imm32
@@ -835,7 +835,7 @@ $compute-offsets:case-empty:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
+    0f 85/jump-if-!=  $compute-offsets:line-loop/disp32
 $compute-offsets:case-comment:
     # if slice-starts-with?(word-slice, "#") continue
     68/push  "#"/imm32
@@ -845,7 +845,7 @@ $compute-offsets:case-comment:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
+    0f 85/jump-if-!=  $compute-offsets:line-loop/disp32
 $compute-offsets:case-segment-header:
     # if (!slice-equal?(word-slice/edx, "==")) goto next case
     # . eax = slice-equal?(word-slice/edx, "==")
@@ -856,10 +856,10 @@ $compute-offsets:case-segment-header:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next case
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $compute-offsets:case-label/disp32
+    0f 84/jump-if-=  $compute-offsets:case-label/disp32
     # if (curr-segment-name == 0) goto construct-next-segment
     81          7/subop/compare     3/mod/direct    6/rm32/esi    .           .             .           .           .               0/imm32           # compare esi
-    74/jump-if-equal  $compute-offsets:construct-next-segment/disp8
+    74/jump-if-=  $compute-offsets:construct-next-segment/disp8
     # seg/eax = get-or-insert(segments, curr-segment-name, row-size=16)
     # . . push args
     68/push  0x10/imm32/row-size
@@ -903,7 +903,7 @@ $compute-offsets:construct-next-segment:
 #?     # dump curr-segment-name if not null (clobbering eax) {{{
 #?     # . if (curr-segment-name == 0) goto update-curr-segment-name
 #?     81          7/subop/compare     3/mod/direct    6/rm32/esi    .           .             .           .           .               0/imm32           # compare esi
-#?     74/jump-if-equal  $compute-offsets:update-curr-segment-name/disp8
+#?     74/jump-if-=  $compute-offsets:update-curr-segment-name/disp8
 #?     # . write(2/stderr, "setting segment to: ")
 #?     # . . push args
 #?     68/push  "setting segment to: "/imm32
@@ -960,7 +960,7 @@ $compute-offsets:update-curr-segment-name:
     # if empty?(curr-segment-name) abort
     # . if (eax == 0) abort
     3d/compare-eax-and  0/imm32
-    0f 84/jump-if-equal  $compute-offsets:abort/disp32
+    0f 84/jump-if-=  $compute-offsets:abort/disp32
     # next-word(line, segment-tmp)
     68/push  compute-offsets:segment-tmp/imm32
     51/push-ecx
@@ -975,7 +975,7 @@ $compute-offsets:update-curr-segment-name:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) abort
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $compute-offsets:abort/disp32
+    0f 85/jump-if-!=  $compute-offsets:abort/disp32
     # seg/ebx = get-or-insert(segments, curr-segment-name, row-size=16)
     # . . push args
     68/push  0x10/imm32/row-size
@@ -1024,7 +1024,7 @@ $compute-offsets:case-label:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) goto next case
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $compute-offsets:case-default/disp8
+    74/jump-if-=  $compute-offsets:case-default/disp8
     # strip trailing ':' from word-slice
     ff          1/subop/decrement   1/mod/*+disp8   2/rm32/edx    .           .             .           .           4/disp8         .                 # decrement *(edx+4)
     # x/eax = leaky-get-or-insert-slice(labels, word-slice, row-size=16)
@@ -1428,7 +1428,7 @@ compute-addresses:  # segments : (addr stream {string, segment-info}), labels :
 $compute-addresses:segment-loop:
     # if (srow >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    73/jump-if-greater-or-equal-unsigned  $compute-addresses:segment-break/disp8
+    73/jump-if-addr>=  $compute-addresses:segment-break/disp8
     # srow->file-offset += starting-offset
     01/add                          1/mod/*+disp8   0/rm32/eax    .           .             .           7/r32/edi   8/disp8         .                 # add edi to *(eax+8)
     # clear last 12 bits of srow->address for p_align=0x1000
@@ -1495,7 +1495,7 @@ $compute-addresses:segment-break:
 $compute-addresses:label-loop:
     # if (lrow >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    0f 83/jump-if-greater-or-equal-unsigned  $compute-addresses:end/disp32
+    0f 83/jump-if-addr>=  $compute-addresses:end/disp32
 #?     # dump lrow->key {{{
 #?     # . write(2/stderr, "label: ")
 #?     # . . push args
@@ -2055,7 +2055,7 @@ $emit-segments:line-loop:
 $emit-segments:check-for-end-of-input:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $emit-segments:end/disp32
+    0f 84/jump-if-=  $emit-segments:end/disp32
     # offset-of-next-instruction += num-bytes(line)
     # . eax = num-bytes(line)
     # . . push args
@@ -2119,7 +2119,7 @@ $emit-segments:check-for-end-of-line:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != 0) break
     3d/compare-eax-and  0/imm32
-    0f 85/jump-if-not-equal  $emit-segments:next-line/disp32
+    0f 85/jump-if-!=  $emit-segments:next-line/disp32
 $emit-segments:check-for-comment:
     # if (slice-starts-with?(word-slice, "#")) break
     # . start/esi = word-slice->start
@@ -2129,7 +2129,7 @@ $emit-segments:check-for-comment:
     8a/copy-byte                    0/mod/indirect  6/rm32/esi    .           .             .           0/r32/AL    .               .                 # copy byte at *esi to AL
     # . if (eax == '#') break
     3d/compare-eax-and  0x23/imm32/hash
-    0f 84/jump-if-equal  $emit-segments:next-line/disp32
+    0f 84/jump-if-=  $emit-segments:next-line/disp32
 $emit-segments:check-for-label:
     # if is-label?(word-slice) break
     # . eax = is-label?(word-slice)
@@ -2141,7 +2141,7 @@ $emit-segments:check-for-label:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
+    0f 85/jump-if-!=  $emit-segments:line-loop/disp32
 $emit-segments:check-for-segment-header:
     # if (slice-equal?(word-slice, "==")) break
     # . eax = slice-equal?(word-slice, "==")
@@ -2154,7 +2154,7 @@ $emit-segments:check-for-segment-header:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) break
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
+    0f 85/jump-if-!=  $emit-segments:line-loop/disp32
 $emit-segments:2-character:
     # if (length(word-slice) != 2) goto next check
     # . eax = length(word-slice)
@@ -2162,7 +2162,7 @@ $emit-segments:2-character:
     2b/subtract                     0/mod/indirect  2/rm32/edx    .           .             .           0/r32/eax   .               .                 # subtract *edx from eax
     # . if (eax != 2) goto next check
     3d/compare-eax-and  2/imm32
-    75/jump-if-not-equal  $emit-segments:check-metadata/disp8
+    75/jump-if-!=  $emit-segments:check-metadata/disp8
     # write-slice-buffered(out, word-slice)
     # . . push args
     52/push-edx
@@ -2277,7 +2277,7 @@ $emit-segments:check-global-variable:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) goto code label checks
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:check-code-label-for-imm8/disp32
+    0f 85/jump-if-!=  $emit-segments:check-code-label-for-imm8/disp32
 $emit-segments:check-global-variable-for-disp8:
     # if has-metadata?(word-slice, "disp8") abort
     # . eax = has-metadata?(word-slice, "disp8")
@@ -2290,7 +2290,7 @@ $emit-segments:check-global-variable-for-disp8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) abort
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
+    0f 85/jump-if-!=  $emit-segments:global-variable-abort/disp32
 $emit-segments:check-global-variable-for-imm8:
     # if has-metadata?(word-slice, "imm8") abort
     # . eax = has-metadata?(word-slice, "imm8")
@@ -2303,7 +2303,7 @@ $emit-segments:check-global-variable-for-imm8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) abort
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
+    0f 85/jump-if-!=  $emit-segments:global-variable-abort/disp32
 $emit-segments:emit-global-variable:
     # emit-hex(out, info->address, 4)
     # . . push args
@@ -2328,7 +2328,7 @@ $emit-segments:check-code-label-for-imm8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax != false) abort
     3d/compare-eax-and  0/imm32/false
-    0f 85/jump-if-not-equal  $emit-segments:imm8-abort/disp32
+    0f 85/jump-if-!=  $emit-segments:imm8-abort/disp32
 $emit-segments:check-code-label-for-imm32:
     # if (!has-metadata?(word-slice, "imm32")) goto next check
     # . eax = has-metadata?(edx, "imm32")
@@ -2341,7 +2341,7 @@ $emit-segments:check-code-label-for-imm32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32
-    74/jump-if-equal  $emit-segments:check-code-label-for-disp8/disp8
+    74/jump-if-=  $emit-segments:check-code-label-for-disp8/disp8
 #?     # dump info->address {{{
 #?     # . write(2/stderr, "info->address: ")
 #?     # . . push args
@@ -2399,7 +2399,7 @@ $emit-segments:check-code-label-for-disp8:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-segments:check-code-label-for-disp32/disp8
+    74/jump-if-=  $emit-segments:check-code-label-for-disp32/disp8
 $emit-segments:emit-code-label-disp8:
     # emit-hex(out, info->offset - offset-of-next-instruction, 1)
     # . . push args
@@ -2426,7 +2426,7 @@ $emit-segments:check-code-label-for-disp32:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) abort
     3d/compare-eax-and  0/imm32/false
-    0f 84/jump-if-equal  $emit-segments:abort/disp32
+    0f 84/jump-if-=  $emit-segments:abort/disp32
 $emit-segments:emit-code-label-disp32:
     # emit-hex(out, info->offset - offset-of-next-instruction, 4)
     # . . push args
@@ -3218,7 +3218,7 @@ emit-headers:  # out : (addr buffered-file), segments : (addr stream {string, se
 $emit-headers:loop:
     # if (curr-segment >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx
-    0f 83/jump-if-greater-or-equal-unsigned  $emit-headers:end/disp32
+    0f 83/jump-if-addr>=  $emit-headers:end/disp32
 #?     # dump curr-segment->name {{{
 #?     # . write(2/stderr, "about to emit ph entry: segment->name: ")
 #?     # . . push args
@@ -3433,7 +3433,7 @@ emit-elf-program-header-entry:  # out : (addr buffered-file), curr-segment : (ad
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto next check
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $emit-elf-program-header-entry:data/disp8
+    74/jump-if-=  $emit-elf-program-header-entry:data/disp8
     # *$Elf_p_flags = r-x
     c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32            .             .           .           $Elf_p_flags/disp32  5/imm32      # copy to *$Elf_p_flags
     eb/jump  $emit-elf-program-header-entry:really-emit/disp8
@@ -3491,7 +3491,7 @@ stream-add4:  # in : (addr stream byte), key : addr, val1 : addr, val2 : addr, v
     8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  2/index/edx   .           2/r32/edx   0xc/disp8       .                 # copy esi+edx+12 to edx
     # if (curr >= max) abort
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax with edx
-    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+    73/jump-if-addr>=  $stream-add4:abort/disp8
     # *curr = key
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .                         1/r32/ecx   0xc/disp8       .                 # copy *(ebp+12) to ecx
     89/copy                         0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # copy ecx to *eax
@@ -3499,7 +3499,7 @@ stream-add4:  # in : (addr stream byte), key : addr, val1 : addr, val2 : addr, v
     05/add-to-eax  4/imm32
     # if (curr >= max) abort
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax with edx
-    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+    73/jump-if-addr>=  $stream-add4:abort/disp8
     # *curr = val1
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .                         1/r32/ecx   0x10/disp8      .                 # copy *(ebp+16) to ecx
     89/copy                         0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # copy ecx to *eax
@@ -3507,7 +3507,7 @@ stream-add4:  # in : (addr stream byte), key : addr, val1 : addr, val2 : addr, v
     05/add-to-eax  4/imm32
     # if (curr >= max) abort
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax with edx
-    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+    73/jump-if-addr>=  $stream-add4:abort/disp8
     # *curr = val2
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .                         1/r32/ecx   0x14/disp8      .                 # copy *(ebp+20) to ecx
     89/copy                         0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # copy ecx to *eax
@@ -3515,7 +3515,7 @@ stream-add4:  # in : (addr stream byte), key : addr, val1 : addr, val2 : addr, v
     05/add-to-eax  4/imm32
     # if (curr >= max) abort
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           2/r32/edx   .               .                 # compare eax with edx
-    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+    73/jump-if-addr>=  $stream-add4:abort/disp8
     # *curr = val3
     8b/copy                         1/mod/*+disp8   5/rm32/ebp    .           .                         1/r32/ecx   0x18/disp8      .                 # copy *(ebp+24) to ecx
     89/copy                         0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # copy ecx to *eax
@@ -4251,7 +4251,7 @@ $num-bytes:check0:
     3d/compare-eax-and  0/imm32/false
     # . restore result now that ZF is set
     58/pop-to-eax
-    75/jump-if-not-equal  $num-bytes:end/disp8
+    75/jump-if-!=  $num-bytes:end/disp8
 $num-bytes:check-for-comment:
     # if (slice-starts-with?(word-slice, "#")) break
     # . start/edx = word-slice->start
@@ -4261,7 +4261,7 @@ $num-bytes:check-for-comment:
     8a/copy-byte                    0/mod/indirect  2/rm32/edx    .           .             .           3/r32/BL    .               .                 # copy byte at *edx to BL
     # . if (ebx == '#') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x23/imm32/hash   # compare ebx
-    74/jump-if-equal  $num-bytes:end/disp8
+    74/jump-if-=  $num-bytes:end/disp8
 $num-bytes:check-for-label:
     # if (slice-ends-with?(word-slice, ":")) break
     # . end/edx = word-slice->end
@@ -4271,7 +4271,7 @@ $num-bytes:check-for-label:
     8a/copy-byte                    1/mod/*+disp8   2/rm32/edx    .           .             .           3/r32/BL    -1/disp8        .                 # copy byte at *ecx to BL
     # . if (ebx == ':') break
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0x3a/imm32/colon  # compare ebx
-    74/jump-if-equal  $num-bytes:end/disp8
+    74/jump-if-=  $num-bytes:end/disp8
 $num-bytes:check-for-segment-header:
     # if (slice-equal?(word-slice, "==")) break
     # . push result
@@ -4288,7 +4288,7 @@ $num-bytes:check-for-segment-header:
     3d/compare-eax-and  0/imm32/false
     # . restore result now that ZF is set
     58/pop-to-eax
-    75/jump-if-not-equal  $num-bytes:end/disp8
+    75/jump-if-!=  $num-bytes:end/disp8
 $num-bytes:loop-body:
     # result += compute-width-of-slice(word-slice)
     # . copy result to edx
diff --git a/apps/tests.subx b/apps/tests.subx
index 5609be0c..118e027e 100644
--- a/apps/tests.subx
+++ b/apps/tests.subx
@@ -33,7 +33,7 @@ Entry:  # run tests if necessary, convert stdin if not
     # - if argc > 1 and argv[1] == "test", then return run_tests()
     # if (argc <= 1) goto run-main
     81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp    .           .             .           .           0/disp8         1/imm32           # compare *ebp
-    7e/jump-if-lesser-or-equal  $subx-tests-main:interactive/disp8
+    7e/jump-if-<=  $subx-tests-main:interactive/disp8
     # if (!kernel-string-equal?(argv[1], "test")) goto run-main
     # . eax = kernel-string-equal?(argv[1], "test")
     # . . push args
@@ -45,7 +45,7 @@ Entry:  # run tests if necessary, convert stdin if not
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) goto run-main
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-tests-main:interactive/disp8
+    74/jump-if-=  $subx-tests-main:interactive/disp8
     # run-tests()
     e8/call  run-tests/disp32
     # syscall(exit, *Num-test-failures)
@@ -160,7 +160,7 @@ $subx-gen-run-tests:loop:
 $subx-gen-run-tests:check0:
     # if (line->write == 0) break
     81          7/subop/compare     0/mod/indirect  1/rm32/ecx    .           .             .           .           .               0/imm32           # compare *ecx
-    0f 84/jump-if-equal  $subx-gen-run-tests:break/disp32
+    0f 84/jump-if-=  $subx-gen-run-tests:break/disp32
     # next-word(line, word-slice)
     # . . push args
     52/push-edx
@@ -180,7 +180,7 @@ $subx-gen-run-tests:check-for-label:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               4/imm32           # add to esp
     # . if (eax == false) continue
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-gen-run-tests:continue/disp8
+    74/jump-if-=  $subx-gen-run-tests:continue/disp8
 $subx-gen-run-tests:check-label-prefix:
     # strip trailing ':' from word-slice
     ff          1/subop/decrement   1/mod/*+disp8   2/rm32/edx    .           .             .           .           4/disp8         .                 # decrement *(edx+4)
@@ -194,7 +194,7 @@ $subx-gen-run-tests:check-label-prefix:
     81          0/subop/add         3/mod/direct    4/rm32/esp    .           .             .           .           .               8/imm32           # add to esp
     # . if (eax == false) break
     3d/compare-eax-and  0/imm32/false
-    74/jump-if-equal  $subx-gen-run-tests:continue/disp8
+    74/jump-if-=  $subx-gen-run-tests:continue/disp8
 $subx-gen-run-tests:call-test-function:
     # tests-found? = true
     bb/copy-to-ebx  1/imm32/true
@@ -243,7 +243,7 @@ $subx-gen-run-tests:continue:
 $subx-gen-run-tests:break:
     # if (!tests-found?) goto end
     81          7/subop/compare     3/mod/direct    3/rm32/ebx    .           .             .           .           .               0/imm32/false     # compare ebx
-    74/jump-if-equal  $subx-gen-run-tests:end/disp8
+    74/jump-if-=  $subx-gen-run-tests:end/disp8
     # write(new-code-segment, "  c3/return\n")
     # . . push args
     68/push  "  c3/return\n"/imm32
diff --git a/html/050_write.subx.html b/html/050_write.subx.html
index 7a3bdae8..2369ce10 100644
--- a/html/050_write.subx.html
+++ b/html/050_write.subx.html
@@ -93,7 +93,7 @@ if ('onhashchange' in window) {
 <span id="L34" class="LineNr">34 </span>    cd/syscall  0x80/imm8
 <span id="L35" class="LineNr">35 </span>    <span class="subxComment"># if (eax &lt; 0) abort</span>
 <span id="L36" class="LineNr">36 </span>    3d/compare-eax-with  0/imm32
-<span id="L37" class="LineNr">37 </span>    0f 8c/jump-if-lesser  $_write:abort/disp32
+<span id="L37" class="LineNr">37 </span>    0f 8c/jump-if-&lt;  $_write:abort/disp32
 <span id="L38" class="LineNr">38 </span><span class="Constant">$_write:end</span>:
 <span id="L39" class="LineNr">39 </span>    <span class="subxS1Comment"># . restore registers</span>
 <span id="L40" class="LineNr">40 </span>    5b/pop-to-ebx
diff --git a/html/052kernel-string-equal.subx.html b/html/052kernel-string-equal.subx.html
index f7818771..ff234b34 100644
--- a/html/052kernel-string-equal.subx.html
+++ b/html/052kernel-string-equal.subx.html
@@ -140,17 +140,17 @@ if ('onhashchange' in window) {
 <span id="L78" class="LineNr"> 78 </span><span class="Constant">$kernel-string-equal?:loop</span>:
 <span id="L79" class="LineNr"> 79 </span>    <span class="subxComment"># if (i &gt;= n) break</span>
 <span id="L80" class="LineNr"> 80 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L81" class="LineNr"> 81 </span>    7d/jump-if-greater-or-equal  $kernel-string-equal?:<span class="Constant">break</span>/disp8
+<span id="L81" class="LineNr"> 81 </span>    7d/jump-if-&gt;=  $kernel-string-equal?:<span class="Constant">break</span>/disp8
 <span id="L82" class="LineNr"> 82 </span>    <span class="subxComment"># c1 = *s1</span>
 <span id="L83" class="LineNr"> 83 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to AL</span>
 <span id="L84" class="LineNr"> 84 </span>    <span class="subxComment"># c2 = *s2</span>
 <span id="L85" class="LineNr"> 85 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to BL</span>
 <span id="L86" class="LineNr"> 86 </span>    <span class="subxComment"># if (c1 == 0) return false</span>
 <span id="L87" class="LineNr"> 87 </span>    3d/compare-eax-and  0/imm32
-<span id="L88" class="LineNr"> 88 </span>    74/jump-if-equal  $kernel-string-equal?:false/disp8
+<span id="L88" class="LineNr"> 88 </span>    74/jump-if-=  $kernel-string-equal?:false/disp8
 <span id="L89" class="LineNr"> 89 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L90" class="LineNr"> 90 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
-<span id="L91" class="LineNr"> 91 </span>    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+<span id="L91" class="LineNr"> 91 </span>    75/jump-if-!=  $kernel-string-equal?:false/disp8
 <span id="L92" class="LineNr"> 92 </span>    <span class="subxComment"># ++i</span>
 <span id="L93" class="LineNr"> 93 </span>    41/increment-ecx
 <span id="L94" class="LineNr"> 94 </span>    <span class="subxComment"># ++s1</span>
@@ -162,7 +162,7 @@ if ('onhashchange' in window) {
 <span id="L100" class="LineNr">100 </span>    <span class="subxComment"># return *s1 == 0</span>
 <span id="L101" class="LineNr">101 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to AL</span>
 <span id="L102" class="LineNr">102 </span>    3d/compare-eax-and  0/imm32
-<span id="L103" class="LineNr">103 </span>    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+<span id="L103" class="LineNr">103 </span>    75/jump-if-!=  $kernel-string-equal?:false/disp8
 <span id="L104" class="LineNr">104 </span><span class="Constant">$kernel-string-equal?:true</span>:
 <span id="L105" class="LineNr">105 </span>    b8/copy-to-eax  1/imm32
 <span id="L106" class="LineNr">106 </span>    eb/jump  $kernel-string-equal?:end/disp8
diff --git a/html/054string-equal.subx.html b/html/054string-equal.subx.html
index 027d9c6c..c41c7042 100644
--- a/html/054string-equal.subx.html
+++ b/html/054string-equal.subx.html
@@ -112,7 +112,7 @@ if ('onhashchange' in window) {
 <span id="L50" class="LineNr"> 50 </span><span class="Constant">$string-equal?:lengths</span>:
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># if (ecx != benchmark-&gt;length) return false</span>
 <span id="L52" class="LineNr"> 52 </span>    39/compare                      0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare *edi and ecx</span>
-<span id="L53" class="LineNr"> 53 </span>    75/jump-if-not-equal  $string-equal?:false/disp8
+<span id="L53" class="LineNr"> 53 </span>    75/jump-if-!=  $string-equal?:false/disp8
 <span id="L54" class="LineNr"> 54 </span>    <span class="subxComment"># var currs/esi : (addr byte) = s-&gt;data</span>
 <span id="L55" class="LineNr"> 55 </span>    81          0/subop/add         3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esi</span>
 <span id="L56" class="LineNr"> 56 </span>    <span class="subxComment"># var maxs/ecx : (addr byte) = &amp;s-&gt;data[s-&gt;length]</span>
@@ -126,14 +126,14 @@ if ('onhashchange' in window) {
 <span id="L64" class="LineNr"> 64 </span><span class="Constant">$string-equal?:loop</span>:
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># if (currs &gt;= maxs) return true</span>
 <span id="L66" class="LineNr"> 66 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with ecx</span>
-<span id="L67" class="LineNr"> 67 </span>    73/jump-if-greater-or-equal-unsigned  $string-equal?:true/disp8
+<span id="L67" class="LineNr"> 67 </span>    73/jump-if-addr&gt;=  $string-equal?:true/disp8
 <span id="L68" class="LineNr"> 68 </span>    <span class="subxComment"># c1 = *currs</span>
 <span id="L69" class="LineNr"> 69 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># c2 = *currb</span>
 <span id="L71" class="LineNr"> 71 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/DL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to DL</span>
 <span id="L72" class="LineNr"> 72 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L73" class="LineNr"> 73 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and edx</span>
-<span id="L74" class="LineNr"> 74 </span>    75/jump-if-not-equal  $string-equal?:false/disp8
+<span id="L74" class="LineNr"> 74 </span>    75/jump-if-!=  $string-equal?:false/disp8
 <span id="L75" class="LineNr"> 75 </span>    <span class="subxComment"># ++currs</span>
 <span id="L76" class="LineNr"> 76 </span>    46/increment-esi
 <span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># ++currb</span>
diff --git a/html/055stream.subx.html b/html/055stream.subx.html
index 154cf964..7bd7705b 100644
--- a/html/055stream.subx.html
+++ b/html/055stream.subx.html
@@ -94,7 +94,7 @@ if ('onhashchange' in window) {
 <span id="L36" class="LineNr">36 </span><span class="Constant">$clear-stream:loop</span>:
 <span id="L37" class="LineNr">37 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L38" class="LineNr">38 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L39" class="LineNr">39 </span>    73/jump-if-greater-or-equal-unsigned  $clear-stream:end/disp8
+<span id="L39" class="LineNr">39 </span>    73/jump-if-addr&gt;=  $clear-stream:end/disp8
 <span id="L40" class="LineNr">40 </span>    <span class="subxComment"># *curr = 0</span>
 <span id="L41" class="LineNr">41 </span>    c6          0/subop/copy-byte   0/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm8            <span class="subxComment"># copy byte to *eax</span>
 <span id="L42" class="LineNr">42 </span>    <span class="subxComment"># ++curr</span>
diff --git a/html/056trace.subx.html b/html/056trace.subx.html
index 10bb7393..26cf8a0f 100644
--- a/html/056trace.subx.html
+++ b/html/056trace.subx.html
@@ -180,7 +180,7 @@ if ('onhashchange' in window) {
 <span id="L117" class="LineNr">117 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L118" class="LineNr">118 </span>    <span class="subxComment"># if (eax == 0) return</span>
 <span id="L119" class="LineNr">119 </span>    3d/compare-eax-and  0/imm32
-<span id="L120" class="LineNr">120 </span>    74/jump-if-equal  $trace:end/disp8
+<span id="L120" class="LineNr">120 </span>    74/jump-if-=  $trace:end/disp8
 <span id="L121" class="LineNr">121 </span>    <span class="subxComment"># t-&gt;write += eax</span>
 <span id="L122" class="LineNr">122 </span>    01/add                          0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># add eax to *edi</span>
 <span id="L123" class="LineNr">123 </span>    <span class="subxComment"># refresh ecx = t-&gt;write</span>
@@ -398,7 +398,7 @@ if ('onhashchange' in window) {
 <span id="L335" class="LineNr">335 </span><span class="Constant">$trace-scan:loop</span>:
 <span id="L336" class="LineNr">336 </span>    <span class="subxComment"># if (Trace-stream-&gt;read &gt;= Trace-stream-&gt;write) return false</span>
 <span id="L337" class="LineNr">337 </span>    39/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+4)</span>
-<span id="L338" class="LineNr">338 </span>    7d/jump-if-greater-or-equal  $trace-scan:false/disp8
+<span id="L338" class="LineNr">338 </span>    7d/jump-if-&gt;=  $trace-scan:false/disp8
 <span id="L339" class="LineNr">339 </span>    <span class="subxComment"># eax = next-line-matches?(Trace-stream, line)</span>
 <span id="L340" class="LineNr">340 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L341" class="LineNr">341 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
@@ -409,7 +409,7 @@ if ('onhashchange' in window) {
 <span id="L346" class="LineNr">346 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L347" class="LineNr">347 </span>    <span class="subxComment"># if (eax == false) continue</span>
 <span id="L348" class="LineNr">348 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L349" class="LineNr">349 </span>    74/jump-if-equal  $trace-scan:continue/disp8
+<span id="L349" class="LineNr">349 </span>    74/jump-if-=  $trace-scan:continue/disp8
 <span id="L350" class="LineNr">350 </span><span class="Constant">$trace-scan:true</span>:
 <span id="L351" class="LineNr">351 </span>    <span class="subxComment"># skip-next-line(Trace-stream)</span>
 <span id="L352" class="LineNr">352 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -667,12 +667,12 @@ if ('onhashchange' in window) {
 <span id="L604" class="LineNr">604 </span><span class="Constant">$next-line-matches?:loop</span>:
 <span id="L605" class="LineNr">605 </span>    <span class="subxComment"># if (currl &gt;= maxl) break</span>
 <span id="L606" class="LineNr">606 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi and ecx</span>
-<span id="L607" class="LineNr">607 </span>    73/jump-if-greater-or-equal-unsigned  $next-line-matches?:<span class="Constant">break</span>/disp8
+<span id="L607" class="LineNr">607 </span>    73/jump-if-addr&gt;=  $next-line-matches?:<span class="Constant">break</span>/disp8
 <span id="L608" class="LineNr">608 </span>    <span class="subxComment"># if (currt &gt;= maxt) return false</span>
 <span id="L609" class="LineNr">609 </span>    <span class="subxS1Comment"># . eax = false</span>
 <span id="L610" class="LineNr">610 </span>    b8/copy-to-eax  0/imm32/false
 <span id="L611" class="LineNr">611 </span>    39/compare                      3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edi and edx</span>
-<span id="L612" class="LineNr">612 </span>    73/jump-if-greater-or-equal-unsigned  $next-line-matches?:end/disp8
+<span id="L612" class="LineNr">612 </span>    73/jump-if-addr&gt;=  $next-line-matches?:end/disp8
 <span id="L613" class="LineNr">613 </span>    <span class="subxComment"># if (*currt != *currl) return false</span>
 <span id="L614" class="LineNr">614 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L615" class="LineNr">615 </span>    31/xor                          3/mod/direct    3/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ebx</span>
@@ -684,7 +684,7 @@ if ('onhashchange' in window) {
 <span id="L621" class="LineNr">621 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
 <span id="L622" class="LineNr">622 </span>    <span class="subxS1Comment"># . eax = false</span>
 <span id="L623" class="LineNr">623 </span>    b8/copy-to-eax  0/imm32/false
-<span id="L624" class="LineNr">624 </span>    75/jump-if-not-equal  $next-line-matches?:end/disp8
+<span id="L624" class="LineNr">624 </span>    75/jump-if-!=  $next-line-matches?:end/disp8
 <span id="L625" class="LineNr">625 </span>    <span class="subxComment"># ++currt</span>
 <span id="L626" class="LineNr">626 </span>    47/increment-edi
 <span id="L627" class="LineNr">627 </span>    <span class="subxComment"># ++currl</span>
@@ -698,7 +698,7 @@ if ('onhashchange' in window) {
 <span id="L635" class="LineNr">635 </span>    3d/compare-eax-and  0xa/imm32/newline
 <span id="L636" class="LineNr">636 </span>    <span class="subxS1Comment"># . eax = false</span>
 <span id="L637" class="LineNr">637 </span>    b8/copy-to-eax  1/imm32/true
-<span id="L638" class="LineNr">638 </span>    74/jump-if-equal  $next-line-matches?:end/disp8
+<span id="L638" class="LineNr">638 </span>    74/jump-if-=  $next-line-matches?:end/disp8
 <span id="L639" class="LineNr">639 </span>    b8/copy-to-eax  0/imm32/true
 <span id="L640" class="LineNr">640 </span><span class="Constant">$next-line-matches?:end</span>:
 <span id="L641" class="LineNr">641 </span>    <span class="subxS1Comment"># . restore registers</span>
@@ -834,14 +834,14 @@ if ('onhashchange' in window) {
 <span id="L771" class="LineNr">771 </span><span class="Constant">$skip-next-line:loop</span>:
 <span id="L772" class="LineNr">772 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L773" class="LineNr">773 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx and ebx</span>
-<span id="L774" class="LineNr">774 </span>    73/jump-if-greater-or-equal-unsigned  $skip-next-line:end/disp8
+<span id="L774" class="LineNr">774 </span>    73/jump-if-addr&gt;=  $skip-next-line:end/disp8
 <span id="L775" class="LineNr">775 </span>    <span class="subxComment"># ++i</span>
 <span id="L776" class="LineNr">776 </span>    42/increment-edx
 <span id="L777" class="LineNr">777 </span>    <span class="subxComment"># if (*curr == '\n') break</span>
 <span id="L778" class="LineNr">778 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L779" class="LineNr">779 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to eax</span>
 <span id="L780" class="LineNr">780 </span>    3d/compare-eax-and  0a/imm32/newline
-<span id="L781" class="LineNr">781 </span>    74/jump-if-equal  $skip-next-line:end/disp8
+<span id="L781" class="LineNr">781 </span>    74/jump-if-=  $skip-next-line:end/disp8
 <span id="L782" class="LineNr">782 </span>    <span class="subxComment"># ++curr</span>
 <span id="L783" class="LineNr">783 </span>    41/increment-ecx
 <span id="L784" class="LineNr">784 </span>    <span class="subxComment"># loop</span>
@@ -980,10 +980,10 @@ if ('onhashchange' in window) {
 <span id="L917" class="LineNr">917 </span><span class="Constant">$_append-4:loop</span>:
 <span id="L918" class="LineNr">918 </span>    <span class="subxComment"># if (in &gt;= inend) break</span>
 <span id="L919" class="LineNr">919 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with ecx</span>
-<span id="L920" class="LineNr">920 </span>    73/jump-if-greater-or-equal-unsigned  $_append-4:end/disp8
+<span id="L920" class="LineNr">920 </span>    73/jump-if-addr&gt;=  $_append-4:end/disp8
 <span id="L921" class="LineNr">921 </span>    <span class="subxComment"># if (out &gt;= outend) abort  # just to catch test failures fast</span>
 <span id="L922" class="LineNr">922 </span>    39/compare                      3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edi with edx</span>
-<span id="L923" class="LineNr">923 </span>    73/jump-if-greater-or-equal-unsigned  $_append-4:abort/disp8
+<span id="L923" class="LineNr">923 </span>    73/jump-if-addr&gt;=  $_append-4:abort/disp8
 <span id="L924" class="LineNr">924 </span>    <span class="subxComment"># *out = *in</span>
 <span id="L925" class="LineNr">925 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to BL</span>
 <span id="L926" class="LineNr">926 </span>    88/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at BL to *edi</span>
diff --git a/html/057write.subx.html b/html/057write.subx.html
index 5cbcd69a..d890be19 100644
--- a/html/057write.subx.html
+++ b/html/057write.subx.html
@@ -87,7 +87,7 @@ if ('onhashchange' in window) {
 <span id="L27" class="LineNr"> 27 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
 <span id="L28" class="LineNr"> 28 </span>    <span class="subxComment"># if (f &lt; 0x08000000) _write(f, s) and return  # f can't be a user-mode address, so treat it as a kernel file descriptor</span>
 <span id="L29" class="LineNr"> 29 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x08000000/imm32  <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L30" class="LineNr"> 30 </span>    73/jump-if-greater-unsigned-or-equal  $write:fake/disp8
+<span id="L30" class="LineNr"> 30 </span>    73/jump-if-addr&gt;=  $write:fake/disp8
 <span id="L31" class="LineNr"> 31 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L32" class="LineNr"> 32 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L33" class="LineNr"> 33 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
diff --git a/html/058stream-equal.subx.html b/html/058stream-equal.subx.html
index f4e87361..231f300e 100644
--- a/html/058stream-equal.subx.html
+++ b/html/058stream-equal.subx.html
@@ -87,7 +87,7 @@ if ('onhashchange' in window) {
 <span id="L28" class="LineNr"> 28 </span><span class="Constant">$stream-data-equal?:compare-lengths</span>:
 <span id="L29" class="LineNr"> 29 </span>    <span class="subxComment"># if (f-&gt;write != s-&gt;length) return false</span>
 <span id="L30" class="LineNr"> 30 </span>    39/compare                      0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare *edi and eax</span>
-<span id="L31" class="LineNr"> 31 </span>    75/jump-if-not-equal  $stream-data-equal?:false/disp8
+<span id="L31" class="LineNr"> 31 </span>    75/jump-if-!=  $stream-data-equal?:false/disp8
 <span id="L32" class="LineNr"> 32 </span>    <span class="subxComment"># var currs/edi : (addr byte) = s-&gt;data</span>
 <span id="L33" class="LineNr"> 33 </span>    81          0/subop/add         3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to edi</span>
 <span id="L34" class="LineNr"> 34 </span>    <span class="subxComment"># var eax : byte = 0</span>
@@ -97,14 +97,14 @@ if ('onhashchange' in window) {
 <span id="L38" class="LineNr"> 38 </span><span class="Constant">$stream-data-equal?:loop</span>:
 <span id="L39" class="LineNr"> 39 </span>    <span class="subxComment"># if (currf &gt;= maxf) return true</span>
 <span id="L40" class="LineNr"> 40 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with edx</span>
-<span id="L41" class="LineNr"> 41 </span>    73/jump-if-greater-or-equal-unsigned  $stream-data-equal?:true/disp8
+<span id="L41" class="LineNr"> 41 </span>    73/jump-if-addr&gt;=  $stream-data-equal?:true/disp8
 <span id="L42" class="LineNr"> 42 </span>    <span class="subxComment"># AL = *currs</span>
 <span id="L43" class="LineNr"> 43 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L44" class="LineNr"> 44 </span>    <span class="subxComment"># CL = *curr</span>
 <span id="L45" class="LineNr"> 45 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/CL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to CL</span>
 <span id="L46" class="LineNr"> 46 </span>    <span class="subxComment"># if (eax != ecx) return false</span>
 <span id="L47" class="LineNr"> 47 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ecx</span>
-<span id="L48" class="LineNr"> 48 </span>    75/jump-if-not-equal  $stream-data-equal?:false/disp8
+<span id="L48" class="LineNr"> 48 </span>    75/jump-if-!=  $stream-data-equal?:false/disp8
 <span id="L49" class="LineNr"> 49 </span>    <span class="subxComment"># ++f</span>
 <span id="L50" class="LineNr"> 50 </span>    46/increment-esi
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># ++curr</span>
@@ -346,20 +346,20 @@ if ('onhashchange' in window) {
 <span id="L287" class="LineNr">287 </span><span class="Constant">$next-stream-line-equal?:loop</span>:
 <span id="L288" class="LineNr">288 </span>    <span class="subxComment"># if (currf &gt;= f-&gt;write) break</span>
 <span id="L289" class="LineNr">289 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *esi</span>
-<span id="L290" class="LineNr">290 </span>    7d/jump-if-greater-or-equal  $next-stream-line-equal?:<span class="Constant">break</span>/disp8
+<span id="L290" class="LineNr">290 </span>    7d/jump-if-&gt;=  $next-stream-line-equal?:<span class="Constant">break</span>/disp8
 <span id="L291" class="LineNr">291 </span>    <span class="subxComment"># c1 = f-&gt;data[f-&gt;read]</span>
 <span id="L292" class="LineNr">292 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L293" class="LineNr">293 </span>    <span class="subxComment"># if (c1 == '\n') break</span>
 <span id="L294" class="LineNr">294 </span>    3d/compare-eax-and  0xa/imm32/newline
-<span id="L295" class="LineNr">295 </span>    74/jump-if-equal  $next-stream-line-equal?:<span class="Constant">break</span>/disp8
+<span id="L295" class="LineNr">295 </span>    74/jump-if-=  $next-stream-line-equal?:<span class="Constant">break</span>/disp8
 <span id="L296" class="LineNr">296 </span>    <span class="subxComment"># if (currs &gt;= s-&gt;length) return false</span>
 <span id="L297" class="LineNr">297 </span>    3b/compare                      0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *edi</span>
-<span id="L298" class="LineNr">298 </span>    7d/jump-if-greater-or-equal  $next-stream-line-equal?:false/disp8
+<span id="L298" class="LineNr">298 </span>    7d/jump-if-&gt;=  $next-stream-line-equal?:false/disp8
 <span id="L299" class="LineNr">299 </span>    <span class="subxComment"># c2 = s-&gt;data[currs]</span>
 <span id="L300" class="LineNr">300 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    7/base/edi  2/index/edx  <span class="Normal"> . </span>          3/r32/BL    4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(edi+edx+4) to BL</span>
 <span id="L301" class="LineNr">301 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L302" class="LineNr">302 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
-<span id="L303" class="LineNr">303 </span>    75/jump-if-not-equal  $next-stream-line-equal?:false/disp8
+<span id="L303" class="LineNr">303 </span>    75/jump-if-!=  $next-stream-line-equal?:false/disp8
 <span id="L304" class="LineNr">304 </span>    <span class="subxComment"># ++currf</span>
 <span id="L305" class="LineNr">305 </span>    41/increment-ecx
 <span id="L306" class="LineNr">306 </span>    <span class="subxComment"># ++currs</span>
@@ -370,7 +370,7 @@ if ('onhashchange' in window) {
 <span id="L311" class="LineNr">311 </span>    41/increment-ecx
 <span id="L312" class="LineNr">312 </span>    <span class="subxComment"># if (currs &gt;= s-&gt;length) return true</span>
 <span id="L313" class="LineNr">313 </span>    3b/compare                      0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *edi</span>
-<span id="L314" class="LineNr">314 </span>    7c/jump-if-lesser  $next-stream-line-equal?:false/disp8
+<span id="L314" class="LineNr">314 </span>    7c/jump-if-&lt;  $next-stream-line-equal?:false/disp8
 <span id="L315" class="LineNr">315 </span><span class="Constant">$next-stream-line-equal?:true</span>:
 <span id="L316" class="LineNr">316 </span>    b8/copy-to-eax  1/imm32
 <span id="L317" class="LineNr">317 </span>    <span class="subxComment"># persist f-&gt;read on success</span>
diff --git a/html/059stop.subx.html b/html/059stop.subx.html
index 7a35e528..5493a95d 100644
--- a/html/059stop.subx.html
+++ b/html/059stop.subx.html
@@ -156,7 +156,7 @@ if ('onhashchange' in window) {
 <span id="L95" class="LineNr"> 95 </span>    8b/copy                         1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esp+4) to eax</span>
 <span id="L96" class="LineNr"> 96 </span>    <span class="subxComment"># if (ed-&gt;target == 0) really exit</span>
 <span id="L97" class="LineNr"> 97 </span>    81          7/subop/compare     0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *eax</span>
-<span id="L98" class="LineNr"> 98 </span>    75/jump-if-not-equal  $stop:fake/disp8
+<span id="L98" class="LineNr"> 98 </span>    75/jump-if-!=  $stop:fake/disp8
 <span id="L99" class="LineNr"> 99 </span>    <span class="subxS1Comment"># . syscall(exit, value)</span>
 <span id="L100" class="LineNr">100 </span>    8b/copy                         1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none <span class="Normal"> . </span>          3/r32/ebx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esp+8) to ebx</span>
 <span id="L101" class="LineNr">101 </span>    b8/copy-to-eax  1/imm32/exit
diff --git a/html/060read.subx.html b/html/060read.subx.html
index 1aa46769..dc314fea 100644
--- a/html/060read.subx.html
+++ b/html/060read.subx.html
@@ -112,7 +112,7 @@ if ('onhashchange' in window) {
 <span id="L51" class="LineNr"> 51 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
 <span id="L52" class="LineNr"> 52 </span>    <span class="subxComment"># if (f &lt; 0x08000000) return _read(f, s)  # f can't be a user-mode address, so treat it as a kernel file descriptor</span>
 <span id="L53" class="LineNr"> 53 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x08000000/imm32  <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L54" class="LineNr"> 54 </span>    73/jump-if-greater-unsigned-or-equal  $read:fake/disp8
+<span id="L54" class="LineNr"> 54 </span>    73/jump-if-addr&gt;=  $read:fake/disp8
 <span id="L55" class="LineNr"> 55 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L56" class="LineNr"> 56 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L57" class="LineNr"> 57 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
@@ -226,10 +226,10 @@ if ('onhashchange' in window) {
 <span id="L165" class="LineNr">165 </span><span class="Constant">$_buffer-4:loop</span>:
 <span id="L166" class="LineNr">166 </span>    <span class="subxComment"># if (in &gt;= inend) break</span>
 <span id="L167" class="LineNr">167 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with ecx</span>
-<span id="L168" class="LineNr">168 </span>    73/jump-if-greater-or-equal-unsigned  $_buffer-4:end/disp8
+<span id="L168" class="LineNr">168 </span>    73/jump-if-addr&gt;=  $_buffer-4:end/disp8
 <span id="L169" class="LineNr">169 </span>    <span class="subxComment"># if (out &gt;= outend) break  # for now silently ignore filled up buffer</span>
 <span id="L170" class="LineNr">170 </span>    39/compare                      3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edi with edx</span>
-<span id="L171" class="LineNr">171 </span>    73/jump-if-greater-or-equal-unsigned  $_buffer-4:end/disp8
+<span id="L171" class="LineNr">171 </span>    73/jump-if-addr&gt;=  $_buffer-4:end/disp8
 <span id="L172" class="LineNr">172 </span>    <span class="subxComment"># *out = *in</span>
 <span id="L173" class="LineNr">173 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to BL</span>
 <span id="L174" class="LineNr">174 </span>    88/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at BL to *edi</span>
diff --git a/html/061read-byte.subx.html b/html/061read-byte.subx.html
index 9416117f..0be60e25 100644
--- a/html/061read-byte.subx.html
+++ b/html/061read-byte.subx.html
@@ -110,7 +110,7 @@ if ('onhashchange' in window) {
 <span id="L48" class="LineNr"> 48 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+8) to ecx</span>
 <span id="L49" class="LineNr"> 49 </span>    <span class="subxComment"># if (f-&gt;read &gt;= f-&gt;write) populate stream from file</span>
 <span id="L50" class="LineNr"> 50 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+4)</span>
-<span id="L51" class="LineNr"> 51 </span>    7c/jump-if-lesser  $read-byte-buffered:from-stream/disp8
+<span id="L51" class="LineNr"> 51 </span>    7c/jump-if-&lt;  $read-byte-buffered:from-stream/disp8
 <span id="L52" class="LineNr"> 52 </span>    <span class="subxS1Comment"># . clear-stream(stream = f+4)</span>
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L54" class="LineNr"> 54 </span>    8d/copy-address                 1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy esi+4 to eax</span>
@@ -131,7 +131,7 @@ if ('onhashchange' in window) {
 <span id="L69" class="LineNr"> 69 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># if (eax == 0) return 0xffffffff</span>
 <span id="L71" class="LineNr"> 71 </span>    3d/compare-eax-and  0/imm32
-<span id="L72" class="LineNr"> 72 </span>    75/jump-if-not-equal  $read-byte-buffered:from-stream/disp8
+<span id="L72" class="LineNr"> 72 </span>    75/jump-if-!=  $read-byte-buffered:from-stream/disp8
 <span id="L73" class="LineNr"> 73 </span>    b8/copy-to-eax  0xffffffff/imm32/Eof
 <span id="L74" class="LineNr"> 74 </span>    eb/jump  $read-byte-buffered:end/disp8
 <span id="L75" class="LineNr"> 75 </span><span class="Constant">$read-byte-buffered:from-stream</span>:
diff --git a/html/062write-stream.subx.html b/html/062write-stream.subx.html
index 2b32ebc1..f698d844 100644
--- a/html/062write-stream.subx.html
+++ b/html/062write-stream.subx.html
@@ -82,7 +82,7 @@ if ('onhashchange' in window) {
 <span id="L21" class="LineNr"> 21 </span>    89/copy                         3/mod/direct    5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          4/r32/esp  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy esp to ebp</span>
 <span id="L22" class="LineNr"> 22 </span>    <span class="subxComment"># if (f &lt; 0x08000000) _write-stream(f, s), return  # f can't be a user-mode address, so treat it as a kernel file descriptor</span>
 <span id="L23" class="LineNr"> 23 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x08000000/imm32  <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L24" class="LineNr"> 24 </span>    73/jump-if-greater-unsigned-or-equal  $write-stream:fake/disp8
+<span id="L24" class="LineNr"> 24 </span>    73/jump-if-addr&gt;=  $write-stream:fake/disp8
 <span id="L25" class="LineNr"> 25 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L26" class="LineNr"> 26 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+12)</span>
 <span id="L27" class="LineNr"> 27 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
@@ -165,7 +165,7 @@ if ('onhashchange' in window) {
 <span id="L104" class="LineNr">104 </span>    cd/syscall  0x80/imm8
 <span id="L105" class="LineNr">105 </span>    <span class="subxComment"># if (eax &lt; 0) abort</span>
 <span id="L106" class="LineNr">106 </span>    3d/compare-eax-with  0/imm32
-<span id="L107" class="LineNr">107 </span>    0f 8c/jump-if-lesser  $_write-stream:abort/disp32
+<span id="L107" class="LineNr">107 </span>    0f 8c/jump-if-&lt;  $_write-stream:abort/disp32
 <span id="L108" class="LineNr">108 </span>    <span class="subxComment"># s-&gt;read += eax</span>
 <span id="L109" class="LineNr">109 </span>    01/add                          1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># add eax to *(esi+4)</span>
 <span id="L110" class="LineNr">110 </span>    <span class="subxS1Comment"># . restore registers</span>
diff --git a/html/064write-byte.subx.html b/html/064write-byte.subx.html
index d9e880f9..8555f857 100644
--- a/html/064write-byte.subx.html
+++ b/html/064write-byte.subx.html
@@ -105,7 +105,7 @@ if ('onhashchange' in window) {
 <span id="L43" class="LineNr"> 43 </span>    8b/copy                         1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(edi+4) to ecx</span>
 <span id="L44" class="LineNr"> 44 </span>    <span class="subxComment"># if (f-&gt;write &gt;= f-&gt;length) flush and clear f's stream</span>
 <span id="L45" class="LineNr"> 45 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(edi+12)</span>
-<span id="L46" class="LineNr"> 46 </span>    7c/jump-if-lesser  $write-byte-buffered:to-stream/disp8
+<span id="L46" class="LineNr"> 46 </span>    7c/jump-if-&lt;  $write-byte-buffered:to-stream/disp8
 <span id="L47" class="LineNr"> 47 </span>    <span class="subxS1Comment"># . flush(f)</span>
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L49" class="LineNr"> 49 </span>    57/push-edi
@@ -280,7 +280,7 @@ if ('onhashchange' in window) {
 <span id="L218" class="LineNr">218 </span>    8b/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edi to ecx</span>
 <span id="L219" class="LineNr">219 </span>    <span class="subxComment"># if (f-&gt;write &gt;= f-&gt;length) abort</span>
 <span id="L220" class="LineNr">220 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(edi+8)</span>
-<span id="L221" class="LineNr">221 </span>    7d/jump-if-greater-or-equal  $append-byte:abort/disp8
+<span id="L221" class="LineNr">221 </span>    7d/jump-if-&gt;=  $append-byte:abort/disp8
 <span id="L222" class="LineNr">222 </span><span class="Constant">$append-byte:to-stream</span>:
 <span id="L223" class="LineNr">223 </span>    <span class="subxComment"># write to stream</span>
 <span id="L224" class="LineNr">224 </span>    <span class="subxComment"># f-&gt;data[f-&gt;write] = LSB(n)</span>
diff --git a/html/065write-buffered.subx.html b/html/065write-buffered.subx.html
index f69708d2..de4e5509 100644
--- a/html/065write-buffered.subx.html
+++ b/html/065write-buffered.subx.html
@@ -113,10 +113,10 @@ if ('onhashchange' in window) {
 <span id="L52" class="LineNr"> 52 </span><span class="Constant">$write-buffered:loop</span>:
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxComment"># if (in &gt;= inend) break</span>
 <span id="L54" class="LineNr"> 54 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with ecx</span>
-<span id="L55" class="LineNr"> 55 </span>    73/jump-if-greater-or-equal-unsigned  $write-buffered:loop-end/disp8
+<span id="L55" class="LineNr"> 55 </span>    73/jump-if-addr&gt;=  $write-buffered:loop-end/disp8
 <span id="L56" class="LineNr"> 56 </span>    <span class="subxComment"># if (f-&gt;write &gt;= f-&gt;length) flush and clear f's stream</span>
 <span id="L57" class="LineNr"> 57 </span>    39/compare                      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ebx with edx</span>
-<span id="L58" class="LineNr"> 58 </span>    7c/jump-if-lesser  $write-buffered:to-stream/disp8
+<span id="L58" class="LineNr"> 58 </span>    7c/jump-if-&lt;  $write-buffered:to-stream/disp8
 <span id="L59" class="LineNr"> 59 </span>    <span class="subxS1Comment"># . persist f-&gt;write</span>
 <span id="L60" class="LineNr"> 60 </span>    89/copy                         1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ebx to *(edi+4)</span>
 <span id="L61" class="LineNr"> 61 </span>    <span class="subxS1Comment"># . flush(f)</span>
diff --git a/html/066print-int.subx.html b/html/066print-int.subx.html
index 1c024069..3da50115 100644
--- a/html/066print-int.subx.html
+++ b/html/066print-int.subx.html
@@ -71,7 +71,7 @@ if ('onhashchange' in window) {
 <span id="L10" class="LineNr"> 10 </span>    <span class="subxComment"># no error checking; accepts argument in eax</span>
 <span id="L11" class="LineNr"> 11 </span>    <span class="subxComment"># if (eax &lt;= 9) return eax + '0'</span>
 <span id="L12" class="LineNr"> 12 </span>    3d/compare-eax-with  0x9/imm32/9
-<span id="L13" class="LineNr"> 13 </span>    7f/jump-if-greater  $to-hex-char:else/disp8
+<span id="L13" class="LineNr"> 13 </span>    7f/jump-if-&gt;  $to-hex-char:else/disp8
 <span id="L14" class="LineNr"> 14 </span>    05/add-to-eax  0x30/imm32/0
 <span id="L15" class="LineNr"> 15 </span>    c3/return
 <span id="L16" class="LineNr"> 16 </span><span class="Constant">$to-hex-char:else</span>:
@@ -267,7 +267,7 @@ if ('onhashchange' in window) {
 <span id="L206" class="LineNr">206 </span><span class="Constant">$print-int32:loop</span>:
 <span id="L207" class="LineNr">207 </span>    <span class="subxComment"># if (ecx &lt; 0) break</span>
 <span id="L208" class="LineNr">208 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ecx</span>
-<span id="L209" class="LineNr">209 </span>    7c/jump-if-lesser  $print-int32:end/disp8
+<span id="L209" class="LineNr">209 </span>    7c/jump-if-&lt;  $print-int32:end/disp8
 <span id="L210" class="LineNr">210 </span>    <span class="subxComment"># eax = n &gt;&gt; ecx</span>
 <span id="L211" class="LineNr">211 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
 <span id="L212" class="LineNr">212 </span>    d3/&gt;&gt;ecx    5/subop/pad-zeroes  3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># shift eax right by ecx bits, padding zeroes</span>
@@ -355,7 +355,7 @@ if ('onhashchange' in window) {
 <span id="L294" class="LineNr">294 </span><span class="Constant">$print-int32-buffered:loop</span>:
 <span id="L295" class="LineNr">295 </span>    <span class="subxComment"># if (ecx &lt; 0) break</span>
 <span id="L296" class="LineNr">296 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ecx</span>
-<span id="L297" class="LineNr">297 </span>    7c/jump-if-lesser  $print-int32-buffered:end/disp8
+<span id="L297" class="LineNr">297 </span>    7c/jump-if-&lt;  $print-int32-buffered:end/disp8
 <span id="L298" class="LineNr">298 </span>    <span class="subxComment"># eax = n &gt;&gt; ecx</span>
 <span id="L299" class="LineNr">299 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
 <span id="L300" class="LineNr">300 </span>    d3/&gt;&gt;ecx    5/subop/pad-zeroes  3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># shift eax right by ecx bits, padding zeroes</span>
diff --git a/html/067parse-hex.subx.html b/html/067parse-hex.subx.html
index 1eefdb0a..227519e1 100644
--- a/html/067parse-hex.subx.html
+++ b/html/067parse-hex.subx.html
@@ -83,13 +83,13 @@ if ('onhashchange' in window) {
 <span id="L23" class="LineNr"> 23 </span>    <span class="subxComment"># if s is empty return false</span>
 <span id="L24" class="LineNr"> 24 </span>    b8/copy-to-eax  0/imm32/false
 <span id="L25" class="LineNr"> 25 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L26" class="LineNr"> 26 </span>    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:end/disp8
+<span id="L26" class="LineNr"> 26 </span>    73/jump-if-addr&gt;=  $is-hex-int?:end/disp8
 <span id="L27" class="LineNr"> 27 </span>    <span class="subxComment"># skip past leading '-'</span>
 <span id="L28" class="LineNr"> 28 </span>    <span class="subxS1Comment"># . if (*curr == '-') ++curr</span>
 <span id="L29" class="LineNr"> 29 </span>    31/xor                          3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ebx</span>
 <span id="L30" class="LineNr"> 30 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to BL</span>
 <span id="L31" class="LineNr"> 31 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x2d/imm32/-      <span class="subxComment"># compare ebx</span>
-<span id="L32" class="LineNr"> 32 </span>    75/jump-if-not-equal  $is-hex-int?:initial-0/disp8
+<span id="L32" class="LineNr"> 32 </span>    75/jump-if-!=  $is-hex-int?:initial-0/disp8
 <span id="L33" class="LineNr"> 33 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L34" class="LineNr"> 34 </span>    41/increment-ecx
 <span id="L35" class="LineNr"> 35 </span>    <span class="subxComment"># skip past leading '0x'</span>
@@ -98,24 +98,24 @@ if ('onhashchange' in window) {
 <span id="L38" class="LineNr"> 38 </span>    31/xor                          3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ebx</span>
 <span id="L39" class="LineNr"> 39 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to BL</span>
 <span id="L40" class="LineNr"> 40 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x30/imm32/0      <span class="subxComment"># compare ebx</span>
-<span id="L41" class="LineNr"> 41 </span>    75/jump-if-not-equal  $is-hex-int?:<span class="Constant">loop</span>/disp8
+<span id="L41" class="LineNr"> 41 </span>    75/jump-if-!=  $is-hex-int?:<span class="Constant">loop</span>/disp8
 <span id="L42" class="LineNr"> 42 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L43" class="LineNr"> 43 </span>    41/increment-ecx
 <span id="L44" class="LineNr"> 44 </span><span class="Constant">$is-hex-int?:initial-0x</span>:
 <span id="L45" class="LineNr"> 45 </span>    <span class="subxS1Comment"># . if (curr &gt;= in-&gt;end) return true</span>
 <span id="L46" class="LineNr"> 46 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L47" class="LineNr"> 47 </span>    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:true/disp8
+<span id="L47" class="LineNr"> 47 </span>    73/jump-if-addr&gt;=  $is-hex-int?:true/disp8
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxS1Comment"># . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again</span>
 <span id="L49" class="LineNr"> 49 </span>    31/xor                          3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ebx</span>
 <span id="L50" class="LineNr"> 50 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to BL</span>
 <span id="L51" class="LineNr"> 51 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x78/imm32/x      <span class="subxComment"># compare ebx</span>
-<span id="L52" class="LineNr"> 52 </span>    75/jump-if-not-equal  $is-hex-int?:<span class="Constant">loop</span>/disp8
+<span id="L52" class="LineNr"> 52 </span>    75/jump-if-!=  $is-hex-int?:<span class="Constant">loop</span>/disp8
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L54" class="LineNr"> 54 </span>    41/increment-ecx
 <span id="L55" class="LineNr"> 55 </span><span class="Constant">$is-hex-int?:loop</span>:
 <span id="L56" class="LineNr"> 56 </span>    <span class="subxComment"># if (curr &gt;= in-&gt;end) return true</span>
 <span id="L57" class="LineNr"> 57 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L58" class="LineNr"> 58 </span>    73/jump-if-greater-or-equal-unsigned  $is-hex-int?:true/disp8
+<span id="L58" class="LineNr"> 58 </span>    73/jump-if-addr&gt;=  $is-hex-int?:true/disp8
 <span id="L59" class="LineNr"> 59 </span>    <span class="subxComment"># var eax : boolean = is-hex-digit?(*curr)</span>
 <span id="L60" class="LineNr"> 60 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L61" class="LineNr"> 61 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
@@ -126,7 +126,7 @@ if ('onhashchange' in window) {
 <span id="L66" class="LineNr"> 66 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxComment"># if (eax == false) return false</span>
 <span id="L68" class="LineNr"> 68 </span>    3d/compare-eax-and  0/imm32
-<span id="L69" class="LineNr"> 69 </span>    74/jump-if-equal  $is-hex-int?:end/disp8
+<span id="L69" class="LineNr"> 69 </span>    74/jump-if-=  $is-hex-int?:end/disp8
 <span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># ++curr</span>
 <span id="L71" class="LineNr"> 71 </span>    41/increment-ecx
 <span id="L72" class="LineNr"> 72 </span>    <span class="subxComment"># loop</span>
@@ -435,7 +435,7 @@ if ('onhashchange' in window) {
 <span id="L375" class="LineNr">375 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L376" class="LineNr">376 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L377" class="LineNr">377 </span>    3d/compare-eax-and  0x2d/imm32/-
-<span id="L378" class="LineNr">378 </span>    75/jump-if-not-equal  $parse-hex-int:initial-0/disp8
+<span id="L378" class="LineNr">378 </span>    75/jump-if-!=  $parse-hex-int:initial-0/disp8
 <span id="L379" class="LineNr">379 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L380" class="LineNr">380 </span>    41/increment-ecx
 <span id="L381" class="LineNr">381 </span>    <span class="subxS1Comment"># . negate = true</span>
@@ -445,24 +445,24 @@ if ('onhashchange' in window) {
 <span id="L385" class="LineNr">385 </span>    <span class="subxS1Comment"># . if (*curr != '0') jump to loop</span>
 <span id="L386" class="LineNr">386 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L387" class="LineNr">387 </span>    3d/compare-eax-and  0x30/imm32/0
-<span id="L388" class="LineNr">388 </span>    75/jump-if-not-equal  $parse-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L388" class="LineNr">388 </span>    75/jump-if-!=  $parse-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L389" class="LineNr">389 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L390" class="LineNr">390 </span>    41/increment-ecx
 <span id="L391" class="LineNr">391 </span><span class="Constant">$parse-hex-int:initial-0x</span>:
 <span id="L392" class="LineNr">392 </span>    <span class="subxS1Comment"># . if (curr &gt;= in-&gt;end) return result</span>
 <span id="L393" class="LineNr">393 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L394" class="LineNr">394 </span>    73/jump-if-greater-or-equal-unsigned  $parse-hex-int:end/disp8
+<span id="L394" class="LineNr">394 </span>    73/jump-if-addr&gt;=  $parse-hex-int:end/disp8
 <span id="L395" class="LineNr">395 </span>    <span class="subxS1Comment"># . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again</span>
 <span id="L396" class="LineNr">396 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L397" class="LineNr">397 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L398" class="LineNr">398 </span>    3d/compare-eax-and  0x78/imm32/x
-<span id="L399" class="LineNr">399 </span>    75/jump-if-not-equal  $parse-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L399" class="LineNr">399 </span>    75/jump-if-!=  $parse-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L400" class="LineNr">400 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L401" class="LineNr">401 </span>    41/increment-ecx
 <span id="L402" class="LineNr">402 </span><span class="Constant">$parse-hex-int:loop</span>:
 <span id="L403" class="LineNr">403 </span>    <span class="subxComment"># if (curr &gt;= in-&gt;end) break</span>
 <span id="L404" class="LineNr">404 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L405" class="LineNr">405 </span>    73/jump-if-greater-or-equal-unsigned  $parse-hex-int:negate/disp8
+<span id="L405" class="LineNr">405 </span>    73/jump-if-addr&gt;=  $parse-hex-int:negate/disp8
 <span id="L406" class="LineNr">406 </span>    <span class="subxComment"># var eax : int = from-hex-char(*curr)</span>
 <span id="L407" class="LineNr">407 </span>    <span class="subxS2Comment"># . . copy arg to eax</span>
 <span id="L408" class="LineNr">408 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
@@ -478,7 +478,7 @@ if ('onhashchange' in window) {
 <span id="L418" class="LineNr">418 </span><span class="Constant">$parse-hex-int:negate</span>:
 <span id="L419" class="LineNr">419 </span>    <span class="subxComment"># if (negate?) result = -result</span>
 <span id="L420" class="LineNr">420 </span>    81          7/subop/compare     3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare esi</span>
-<span id="L421" class="LineNr">421 </span>    74/jump-if-equal  $parse-hex-int:end/disp8
+<span id="L421" class="LineNr">421 </span>    74/jump-if-=  $parse-hex-int:end/disp8
 <span id="L422" class="LineNr">422 </span>    f7          3/subop/negate      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># negate ebx</span>
 <span id="L423" class="LineNr">423 </span><span class="Constant">$parse-hex-int:end</span>:
 <span id="L424" class="LineNr">424 </span>    <span class="subxComment"># return result</span>
@@ -707,18 +707,18 @@ if ('onhashchange' in window) {
 <span id="L647" class="LineNr">647 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to ecx</span>
 <span id="L648" class="LineNr">648 </span>    <span class="subxComment"># return false if c &lt; '0'</span>
 <span id="L649" class="LineNr">649 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x30/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L650" class="LineNr">650 </span>    7c/jump-if-lesser  $is-hex-digit?:false/disp8
+<span id="L650" class="LineNr">650 </span>    7c/jump-if-&lt;  $is-hex-digit?:false/disp8
 <span id="L651" class="LineNr">651 </span>    <span class="subxComment"># return true if c &lt;= '9'</span>
 <span id="L652" class="LineNr">652 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x39/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L653" class="LineNr">653 </span>    7e/jump-if-lesser-or-equal  $is-hex-digit?:true/disp8
+<span id="L653" class="LineNr">653 </span>    7e/jump-if-&lt;=  $is-hex-digit?:true/disp8
 <span id="L654" class="LineNr">654 </span>    <span class="subxComment"># drop case</span>
 <span id="L655" class="LineNr">655 </span>    25/and-eax-with 0x5f/imm32
 <span id="L656" class="LineNr">656 </span>    <span class="subxComment"># return false if c &gt; 'f'</span>
 <span id="L657" class="LineNr">657 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x66/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L658" class="LineNr">658 </span>    7f/jump-if-greater  $is-hex-digit?:false/disp8
+<span id="L658" class="LineNr">658 </span>    7f/jump-if-&gt;  $is-hex-digit?:false/disp8
 <span id="L659" class="LineNr">659 </span>    <span class="subxComment"># return true if c &gt;= 'a'</span>
 <span id="L660" class="LineNr">660 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x61/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L661" class="LineNr">661 </span>    7d/jump-if-greater-or-equal  $is-hex-digit?:true/disp8
+<span id="L661" class="LineNr">661 </span>    7d/jump-if-&gt;=  $is-hex-digit?:true/disp8
 <span id="L662" class="LineNr">662 </span>    <span class="subxComment"># otherwise return false</span>
 <span id="L663" class="LineNr">663 </span><span class="Constant">$is-hex-digit?:false</span>:
 <span id="L664" class="LineNr">664 </span>    b8/copy-to-eax  0/imm32/false
@@ -864,15 +864,15 @@ if ('onhashchange' in window) {
 <span id="L804" class="LineNr">804 </span><span class="Constant">$from-hex-char:check0</span>:
 <span id="L805" class="LineNr">805 </span>    <span class="subxComment"># if (eax &lt; '0') goto abort</span>
 <span id="L806" class="LineNr">806 </span>    3d/compare-eax-with  0x30/imm32/0
-<span id="L807" class="LineNr">807 </span>    7c/jump-if-lesser  $from-hex-char:abort/disp8
+<span id="L807" class="LineNr">807 </span>    7c/jump-if-&lt;  $from-hex-char:abort/disp8
 <span id="L808" class="LineNr">808 </span><span class="Constant">$from-hex-char:check1</span>:
 <span id="L809" class="LineNr">809 </span>    <span class="subxComment"># if (eax &gt; 'f') goto abort</span>
 <span id="L810" class="LineNr">810 </span>    3d/compare-eax-with  0x66/imm32/f
-<span id="L811" class="LineNr">811 </span>    7f/jump-if-greater  $from-hex-char:abort/disp8
+<span id="L811" class="LineNr">811 </span>    7f/jump-if-&gt;  $from-hex-char:abort/disp8
 <span id="L812" class="LineNr">812 </span><span class="Constant">$from-hex-char:check2</span>:
 <span id="L813" class="LineNr">813 </span>    <span class="subxComment"># if (eax &gt; '9') goto next check</span>
 <span id="L814" class="LineNr">814 </span>    3d/compare-eax-with  0x39/imm32/9
-<span id="L815" class="LineNr">815 </span>    7f/jump-if-greater  $from-hex-char:check3/disp8
+<span id="L815" class="LineNr">815 </span>    7f/jump-if-&gt;  $from-hex-char:check3/disp8
 <span id="L816" class="LineNr">816 </span><span class="Constant">$from-hex-char:digit</span>:
 <span id="L817" class="LineNr">817 </span>    <span class="subxComment"># return eax - '0'</span>
 <span id="L818" class="LineNr">818 </span>    2d/subtract-from-eax  0x30/imm32/0
@@ -880,7 +880,7 @@ if ('onhashchange' in window) {
 <span id="L820" class="LineNr">820 </span><span class="Constant">$from-hex-char:check3</span>:
 <span id="L821" class="LineNr">821 </span>    <span class="subxComment"># if (eax &lt; 'a') goto abort</span>
 <span id="L822" class="LineNr">822 </span>    3d/compare-eax-with  0x61/imm32/a
-<span id="L823" class="LineNr">823 </span>    7c/jump-if-lesser  $from-hex-char:abort/disp8
+<span id="L823" class="LineNr">823 </span>    7c/jump-if-&lt;  $from-hex-char:abort/disp8
 <span id="L824" class="LineNr">824 </span><span class="Constant">$from-hex-char:letter</span>:
 <span id="L825" class="LineNr">825 </span>    <span class="subxComment"># return eax - ('a'-10)</span>
 <span id="L826" class="LineNr">826 </span>    2d/subtract-from-eax  0x57/imm32/a-10
diff --git a/html/069allocate.subx.html b/html/069allocate.subx.html
index ef63f935..d6ffe82c 100644
--- a/html/069allocate.subx.html
+++ b/html/069allocate.subx.html
@@ -133,7 +133,7 @@ if ('onhashchange' in window) {
 <span id="L72" class="LineNr"> 72 </span>    89/copy                         3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to edx</span>
 <span id="L73" class="LineNr"> 73 </span>    03/add                          1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># add *(ebp+12) to edx</span>
 <span id="L74" class="LineNr"> 74 </span>    3b/compare                      1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *(ecx+4)</span>
-<span id="L75" class="LineNr"> 75 </span>    73/jump-if-greater-or-equal-signed  $allocate:abort/disp8
+<span id="L75" class="LineNr"> 75 </span>    73/jump-if-&gt;=-signed  $allocate:abort/disp8
 <span id="L76" class="LineNr"> 76 </span><span class="Constant">$allocate:commit</span>:
 <span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># update ad-&gt;curr</span>
 <span id="L78" class="LineNr"> 78 </span>    89/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy edx to *ecx</span>
@@ -257,7 +257,7 @@ if ('onhashchange' in window) {
 <span id="L196" class="LineNr">196 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L197" class="LineNr">197 </span>    <span class="subxComment"># if (eax == 0) abort</span>
 <span id="L198" class="LineNr">198 </span>    3d/compare-eax-and  0/imm32
-<span id="L199" class="LineNr">199 </span>    74/jump-if-equal  $allocate-region:abort/disp8
+<span id="L199" class="LineNr">199 </span>    74/jump-if-=  $allocate-region:abort/disp8
 <span id="L200" class="LineNr">200 </span>    <span class="subxComment"># earmark 8 bytes at the start for a new allocation descriptor</span>
 <span id="L201" class="LineNr">201 </span>    <span class="subxS1Comment"># . *eax = eax + 8</span>
 <span id="L202" class="LineNr">202 </span>    89/copy                         3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to ecx</span>
diff --git a/html/070new-stream.subx.html b/html/070new-stream.subx.html
index d6993e88..8b826643 100644
--- a/html/070new-stream.subx.html
+++ b/html/070new-stream.subx.html
@@ -78,7 +78,7 @@ if ('onhashchange' in window) {
 <span id="L19" class="LineNr"> 19 </span>    f7          4/subop/multiply    1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>                                    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># multiply *(ebp+12) into eax</span>
 <span id="L20" class="LineNr"> 20 </span>    <span class="subxS1Comment"># . if overflow abort</span>
 <span id="L21" class="LineNr"> 21 </span>    81          7/subop/compare     3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare edx</span>
-<span id="L22" class="LineNr"> 22 </span>    75/jump-if-not-equal  $new-stream:abort/disp8
+<span id="L22" class="LineNr"> 22 </span>    75/jump-if-!=  $new-stream:abort/disp8
 <span id="L23" class="LineNr"> 23 </span>    <span class="subxS1Comment"># . edx = elemsize*length</span>
 <span id="L24" class="LineNr"> 24 </span>    89/copy                         3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy eax to edx</span>
 <span id="L25" class="LineNr"> 25 </span>    <span class="subxS1Comment"># . eax += 12</span>
diff --git a/html/071read-line.subx.html b/html/071read-line.subx.html
index 6b900139..3d4d8ffb 100644
--- a/html/071read-line.subx.html
+++ b/html/071read-line.subx.html
@@ -97,10 +97,10 @@ if ('onhashchange' in window) {
 <span id="L37" class="LineNr"> 37 </span><span class="Constant">$read-line-buffered:loop</span>:
 <span id="L38" class="LineNr"> 38 </span>    <span class="subxComment"># if (s-&gt;write &gt;= s-&gt;length) abort</span>
 <span id="L39" class="LineNr"> 39 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *(edi+8)</span>
-<span id="L40" class="LineNr"> 40 </span>    7d/jump-if-greater-or-equal  $read-line-buffered:abort/disp8
+<span id="L40" class="LineNr"> 40 </span>    7d/jump-if-&gt;=  $read-line-buffered:abort/disp8
 <span id="L41" class="LineNr"> 41 </span>    <span class="subxComment"># if (f-&gt;read &gt;= f-&gt;write) populate stream from file</span>
 <span id="L42" class="LineNr"> 42 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+4)</span>
-<span id="L43" class="LineNr"> 43 </span>    7c/jump-if-lesser  $read-line-buffered:from-stream/disp8
+<span id="L43" class="LineNr"> 43 </span>    7c/jump-if-&lt;  $read-line-buffered:from-stream/disp8
 <span id="L44" class="LineNr"> 44 </span>    <span class="subxS1Comment"># . clear-stream(stream = f+4)</span>
 <span id="L45" class="LineNr"> 45 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L46" class="LineNr"> 46 </span>    8d/copy-address                 1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy esi+4 to eax</span>
@@ -123,7 +123,7 @@ if ('onhashchange' in window) {
 <span id="L63" class="LineNr"> 63 </span>    <span class="subxComment"># since f-&gt;read was initially 0, eax is the same as f-&gt;write</span>
 <span id="L64" class="LineNr"> 64 </span>    <span class="subxS1Comment"># . if (eax == 0) return true</span>
 <span id="L65" class="LineNr"> 65 </span>    3d/compare-eax-and  0/imm32
-<span id="L66" class="LineNr"> 66 </span>    74/jump-if-equal  $read-line-buffered:end/disp8
+<span id="L66" class="LineNr"> 66 </span>    74/jump-if-=  $read-line-buffered:end/disp8
 <span id="L67" class="LineNr"> 67 </span><span class="Constant">$read-line-buffered:from-stream</span>:
 <span id="L68" class="LineNr"> 68 </span>    <span class="subxComment"># AL = f-&gt;data[f-&gt;read]</span>
 <span id="L69" class="LineNr"> 69 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
@@ -136,7 +136,7 @@ if ('onhashchange' in window) {
 <span id="L76" class="LineNr"> 76 </span>    42/increment-edx
 <span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># if (AL == '\n') return</span>
 <span id="L78" class="LineNr"> 78 </span>    3d/compare-eax-and  0xa/imm32
-<span id="L79" class="LineNr"> 79 </span>    75/jump-if-not-equal  $read-line-buffered:<span class="Constant">loop</span>/disp8
+<span id="L79" class="LineNr"> 79 </span>    75/jump-if-!=  $read-line-buffered:<span class="Constant">loop</span>/disp8
 <span id="L80" class="LineNr"> 80 </span><span class="Constant">$read-line-buffered:end</span>:
 <span id="L81" class="LineNr"> 81 </span>    <span class="subxComment"># save f-&gt;read</span>
 <span id="L82" class="LineNr"> 82 </span>    89/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *(esi+8)</span>
@@ -306,10 +306,10 @@ if ('onhashchange' in window) {
 <span id="L246" class="LineNr">246 </span><span class="Constant">$read-line:loop</span>:
 <span id="L247" class="LineNr">247 </span>    <span class="subxComment"># if (s-&gt;write &gt;= s-&gt;length) abort</span>
 <span id="L248" class="LineNr">248 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *(edi+8)</span>
-<span id="L249" class="LineNr">249 </span>    0f 8d/jump-if-greater-or-equal  $read-line:abort/disp32
+<span id="L249" class="LineNr">249 </span>    0f 8d/jump-if-&gt;=  $read-line:abort/disp32
 <span id="L250" class="LineNr">250 </span>    <span class="subxComment"># if (f-&gt;read &gt;= f-&gt;write) break</span>
 <span id="L251" class="LineNr">251 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *esi</span>
-<span id="L252" class="LineNr">252 </span>    7d/jump-if-greater-or-equal  $read-line:end/disp8
+<span id="L252" class="LineNr">252 </span>    7d/jump-if-&gt;=  $read-line:end/disp8
 <span id="L253" class="LineNr">253 </span>    <span class="subxComment"># AL = f-&gt;data[f-&gt;read]</span>
 <span id="L254" class="LineNr">254 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L255" class="LineNr">255 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
@@ -321,7 +321,7 @@ if ('onhashchange' in window) {
 <span id="L261" class="LineNr">261 </span>    42/increment-edx
 <span id="L262" class="LineNr">262 </span>    <span class="subxComment"># if (AL == '\n') return</span>
 <span id="L263" class="LineNr">263 </span>    3d/compare-eax-and  0xa/imm32
-<span id="L264" class="LineNr">264 </span>    0f 85/jump-if-not-equal  $read-line:<span class="Constant">loop</span>/disp32
+<span id="L264" class="LineNr">264 </span>    0f 85/jump-if-!=  $read-line:<span class="Constant">loop</span>/disp32
 <span id="L265" class="LineNr">265 </span><span class="Constant">$read-line:end</span>:
 <span id="L266" class="LineNr">266 </span>    <span class="subxComment"># save f-&gt;read</span>
 <span id="L267" class="LineNr">267 </span>    89/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *(esi+4)</span>
diff --git a/html/072slice.subx.html b/html/072slice.subx.html
index a27628f6..aa2a0251 100644
--- a/html/072slice.subx.html
+++ b/html/072slice.subx.html
@@ -81,7 +81,7 @@ if ('onhashchange' in window) {
 <span id="L20" class="LineNr">  20 </span>    <span class="subxS1Comment"># . compare eax and s-&gt;end</span>
 <span id="L21" class="LineNr">  21 </span>    39/compare                      1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare eax and *(ecx+4)</span>
 <span id="L22" class="LineNr">  22 </span>    b8/copy-to-eax  1/imm32/true
-<span id="L23" class="LineNr">  23 </span>    74/jump-if-equal  $slice-empty?:end/disp8
+<span id="L23" class="LineNr">  23 </span>    74/jump-if-=  $slice-empty?:end/disp8
 <span id="L24" class="LineNr">  24 </span>    b8/copy-to-eax  0/imm32/false
 <span id="L25" class="LineNr">  25 </span><span class="Constant">$slice-empty?:end</span>:
 <span id="L26" class="LineNr">  26 </span>    <span class="subxS1Comment"># . restore registers</span>
@@ -190,16 +190,16 @@ if ('onhashchange' in window) {
 <span id="L129" class="LineNr"> 129 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to ebx</span>
 <span id="L130" class="LineNr"> 130 </span>    <span class="subxComment"># if (p != 0) goto next check</span>
 <span id="L131" class="LineNr"> 131 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ebx</span>
-<span id="L132" class="LineNr"> 132 </span>    75/jump-if-not-equal  $slice-equal?:nonnull-string/disp8
+<span id="L132" class="LineNr"> 132 </span>    75/jump-if-!=  $slice-equal?:nonnull-string/disp8
 <span id="L133" class="LineNr"> 133 </span><span class="Constant">$slice-equal?:null-string</span>:
 <span id="L134" class="LineNr"> 134 </span>    <span class="subxComment"># return s-&gt;start == s-&gt;end</span>
 <span id="L135" class="LineNr"> 135 </span>    3d/compare-eax-and  0/imm32
-<span id="L136" class="LineNr"> 136 </span>    74/jump-if-equal  $slice-equal?:true/disp8
+<span id="L136" class="LineNr"> 136 </span>    74/jump-if-=  $slice-equal?:true/disp8
 <span id="L137" class="LineNr"> 137 </span>    eb/jump  $slice-equal?:false/disp8
 <span id="L138" class="LineNr"> 138 </span><span class="Constant">$slice-equal?:nonnull-string</span>:
 <span id="L139" class="LineNr"> 139 </span>    <span class="subxComment"># if (slen != p-&gt;length) return false</span>
 <span id="L140" class="LineNr"> 140 </span>    39/compare                      0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare *ebx and eax</span>
-<span id="L141" class="LineNr"> 141 </span>    75/jump-if-not-equal  $slice-equal?:false/disp8
+<span id="L141" class="LineNr"> 141 </span>    75/jump-if-!=  $slice-equal?:false/disp8
 <span id="L142" class="LineNr"> 142 </span>    <span class="subxComment"># var currp/ebx : (addr byte) = p-&gt;data</span>
 <span id="L143" class="LineNr"> 143 </span>    81          0/subop/add         3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to ebx</span>
 <span id="L144" class="LineNr"> 144 </span>    <span class="subxComment"># var c1/eax : byte = 0</span>
@@ -209,14 +209,14 @@ if ('onhashchange' in window) {
 <span id="L148" class="LineNr"> 148 </span><span class="Constant">$slice-equal?:loop</span>:
 <span id="L149" class="LineNr"> 149 </span>    <span class="subxComment"># if (currs &gt;= maxs) return true</span>
 <span id="L150" class="LineNr"> 150 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with esi</span>
-<span id="L151" class="LineNr"> 151 </span>    73/jump-if-greater-or-equal-unsigned  $slice-equal?:true/disp8
+<span id="L151" class="LineNr"> 151 </span>    73/jump-if-addr&gt;=  $slice-equal?:true/disp8
 <span id="L152" class="LineNr"> 152 </span>    <span class="subxComment"># c1 = *currp</span>
 <span id="L153" class="LineNr"> 153 </span>    8a/copy-byte                    0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ebx to AL</span>
 <span id="L154" class="LineNr"> 154 </span>    <span class="subxComment"># c2 = *currs</span>
 <span id="L155" class="LineNr"> 155 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/CL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to CL</span>
 <span id="L156" class="LineNr"> 156 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L157" class="LineNr"> 157 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ecx</span>
-<span id="L158" class="LineNr"> 158 </span>    75/jump-if-not-equal  $slice-equal?:false/disp8
+<span id="L158" class="LineNr"> 158 </span>    75/jump-if-!=  $slice-equal?:false/disp8
 <span id="L159" class="LineNr"> 159 </span>    <span class="subxComment"># ++currp</span>
 <span id="L160" class="LineNr"> 160 </span>    43/increment-ebx
 <span id="L161" class="LineNr"> 161 </span>    <span class="subxComment"># ++currs</span>
@@ -558,7 +558,7 @@ if ('onhashchange' in window) {
 <span id="L497" class="LineNr"> 497 </span>    8b/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edi to edx</span>
 <span id="L498" class="LineNr"> 498 </span>    <span class="subxComment"># if (lenh &gt; lens) return false</span>
 <span id="L499" class="LineNr"> 499 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with ecx</span>
-<span id="L500" class="LineNr"> 500 </span>    7f/jump-if-greater  $slice-starts-with?:false/disp8
+<span id="L500" class="LineNr"> 500 </span>    7f/jump-if-&gt;  $slice-starts-with?:false/disp8
 <span id="L501" class="LineNr"> 501 </span>    <span class="subxComment"># var currs/esi : (addr byte) = s-&gt;start</span>
 <span id="L502" class="LineNr"> 502 </span>    8b/subtract                     0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to esi</span>
 <span id="L503" class="LineNr"> 503 </span>    <span class="subxComment"># var currh/edi : (addr byte) = head-&gt;data</span>
@@ -572,14 +572,14 @@ if ('onhashchange' in window) {
 <span id="L511" class="LineNr"> 511 </span><span class="Constant">$slice-starts-with?:loop</span>:
 <span id="L512" class="LineNr"> 512 </span>    <span class="subxComment"># if (i &gt;= lenh) return true</span>
 <span id="L513" class="LineNr"> 513 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L514" class="LineNr"> 514 </span>    7d/jump-if-greater-or-equal  $slice-starts-with?:true/disp8
+<span id="L514" class="LineNr"> 514 </span>    7d/jump-if-&gt;=  $slice-starts-with?:true/disp8
 <span id="L515" class="LineNr"> 515 </span>    <span class="subxComment"># c1 = *currs</span>
 <span id="L516" class="LineNr"> 516 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L517" class="LineNr"> 517 </span>    <span class="subxComment"># c2 = *currh</span>
 <span id="L518" class="LineNr"> 518 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to BL</span>
 <span id="L519" class="LineNr"> 519 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L520" class="LineNr"> 520 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
-<span id="L521" class="LineNr"> 521 </span>    75/jump-if-not-equal  $slice-starts-with?:false/disp8
+<span id="L521" class="LineNr"> 521 </span>    75/jump-if-!=  $slice-starts-with?:false/disp8
 <span id="L522" class="LineNr"> 522 </span>    <span class="subxComment"># ++i</span>
 <span id="L523" class="LineNr"> 523 </span>    41/increment-ecx
 <span id="L524" class="LineNr"> 524 </span>    <span class="subxComment"># ++currs</span>
@@ -848,10 +848,10 @@ if ('onhashchange' in window) {
 <span id="L787" class="LineNr"> 787 </span><span class="Constant">$write-slice:loop</span>:
 <span id="L788" class="LineNr"> 788 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L789" class="LineNr"> 789 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with esi</span>
-<span id="L790" class="LineNr"> 790 </span>    73/jump-if-greater-or-equal-unsigned  $write-slice:loop-end/disp8
+<span id="L790" class="LineNr"> 790 </span>    73/jump-if-addr&gt;=  $write-slice:loop-end/disp8
 <span id="L791" class="LineNr"> 791 </span>    <span class="subxComment"># if (out-&gt;write &gt;= out-&gt;length) abort</span>
 <span id="L792" class="LineNr"> 792 </span>    39/compare                      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ebx with edx</span>
-<span id="L793" class="LineNr"> 793 </span>    7d/jump-if-greater-or-equal  $write-slice:abort/disp8
+<span id="L793" class="LineNr"> 793 </span>    7d/jump-if-&gt;=  $write-slice:abort/disp8
 <span id="L794" class="LineNr"> 794 </span>    <span class="subxComment"># out-&gt;data[out-&gt;write] = *in</span>
 <span id="L795" class="LineNr"> 795 </span>    <span class="subxS1Comment"># . AL = *in</span>
 <span id="L796" class="LineNr"> 796 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
@@ -964,10 +964,10 @@ if ('onhashchange' in window) {
 <span id="L903" class="LineNr"> 903 </span><span class="Constant">$write-slice-buffered:loop</span>:
 <span id="L904" class="LineNr"> 904 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L905" class="LineNr"> 905 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with esi</span>
-<span id="L906" class="LineNr"> 906 </span>    73/jump-if-greater-or-equal-unsigned  $write-slice-buffered:loop-end/disp8
+<span id="L906" class="LineNr"> 906 </span>    73/jump-if-addr&gt;=  $write-slice-buffered:loop-end/disp8
 <span id="L907" class="LineNr"> 907 </span>    <span class="subxComment"># if (out-&gt;write &gt;= out-&gt;length) flush and clear out's stream</span>
 <span id="L908" class="LineNr"> 908 </span>    39/compare                      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ebx with edx</span>
-<span id="L909" class="LineNr"> 909 </span>    7c/jump-if-lesser  $write-slice-buffered:to-stream/disp8
+<span id="L909" class="LineNr"> 909 </span>    7c/jump-if-&lt;  $write-slice-buffered:to-stream/disp8
 <span id="L910" class="LineNr"> 910 </span>    <span class="subxS1Comment"># . persist out-&gt;write</span>
 <span id="L911" class="LineNr"> 911 </span>    89/copy                         1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ebx to *(edi+4)</span>
 <span id="L912" class="LineNr"> 912 </span>    <span class="subxS1Comment"># . flush(out)</span>
@@ -1102,7 +1102,7 @@ if ('onhashchange' in window) {
 <span id="L1041" class="LineNr">1041 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1042" class="LineNr">1042 </span>    <span class="subxComment"># if (eax == 0) abort</span>
 <span id="L1043" class="LineNr">1043 </span>    3d/compare-eax-and  0/imm32
-<span id="L1044" class="LineNr">1044 </span>    74/jump-if-equal  $slice-to-string:abort/disp8
+<span id="L1044" class="LineNr">1044 </span>    74/jump-if-=  $slice-to-string:abort/disp8
 <span id="L1045" class="LineNr">1045 </span>    <span class="subxComment"># out-&gt;length = size-4</span>
 <span id="L1046" class="LineNr">1046 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
 <span id="L1047" class="LineNr">1047 </span>    81          5/subop/subtract    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># subtract 4 from *eax</span>
diff --git a/html/073next-token.subx.html b/html/073next-token.subx.html
index 0d2b716c..1f8bb778 100644
--- a/html/073next-token.subx.html
+++ b/html/073next-token.subx.html
@@ -418,13 +418,13 @@ if ('onhashchange' in window) {
 <span id="L359" class="LineNr"> 359 </span><span class="Constant">$skip-chars-matching:loop</span>:
 <span id="L360" class="LineNr"> 360 </span>    <span class="subxComment"># if (in-&gt;read &gt;= in-&gt;write) break</span>
 <span id="L361" class="LineNr"> 361 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with ebx</span>
-<span id="L362" class="LineNr"> 362 </span>    7d/jump-if-greater-or-equal  $skip-chars-matching:end/disp8
+<span id="L362" class="LineNr"> 362 </span>    7d/jump-if-&gt;=  $skip-chars-matching:end/disp8
 <span id="L363" class="LineNr"> 363 </span>    <span class="subxComment"># eax = in-&gt;data[in-&gt;read]</span>
 <span id="L364" class="LineNr"> 364 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L365" class="LineNr"> 365 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L366" class="LineNr"> 366 </span>    <span class="subxComment"># if (eax != delimiter) break</span>
 <span id="L367" class="LineNr"> 367 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and edx</span>
-<span id="L368" class="LineNr"> 368 </span>    75/jump-if-not-equal  $skip-chars-matching:end/disp8
+<span id="L368" class="LineNr"> 368 </span>    75/jump-if-!=  $skip-chars-matching:end/disp8
 <span id="L369" class="LineNr"> 369 </span>    <span class="subxComment"># ++in-&gt;read</span>
 <span id="L370" class="LineNr"> 370 </span>    41/increment-ecx
 <span id="L371" class="LineNr"> 371 </span>    eb/jump  $skip-chars-matching:<span class="Constant">loop</span>/disp8
@@ -538,22 +538,22 @@ if ('onhashchange' in window) {
 <span id="L479" class="LineNr"> 479 </span><span class="Constant">$skip-chars-matching-whitespace:loop</span>:
 <span id="L480" class="LineNr"> 480 </span>    <span class="subxComment"># if (in-&gt;read &gt;= in-&gt;write) break</span>
 <span id="L481" class="LineNr"> 481 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with ebx</span>
-<span id="L482" class="LineNr"> 482 </span>    7d/jump-if-greater-or-equal  $skip-chars-matching-whitespace:end/disp8
+<span id="L482" class="LineNr"> 482 </span>    7d/jump-if-&gt;=  $skip-chars-matching-whitespace:end/disp8
 <span id="L483" class="LineNr"> 483 </span>    <span class="subxComment"># eax = in-&gt;data[in-&gt;read]</span>
 <span id="L484" class="LineNr"> 484 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L485" class="LineNr"> 485 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L486" class="LineNr"> 486 </span>    <span class="subxComment"># if (eax == ' ') goto body</span>
 <span id="L487" class="LineNr"> 487 </span>    3d/compare-eax-and  0x20/imm32/space
-<span id="L488" class="LineNr"> 488 </span>    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+<span id="L488" class="LineNr"> 488 </span>    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
 <span id="L489" class="LineNr"> 489 </span>    <span class="subxComment"># if (eax == '\n') goto body</span>
 <span id="L490" class="LineNr"> 490 </span>    3d/compare-eax-and  0x0a/imm32/newline
-<span id="L491" class="LineNr"> 491 </span>    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+<span id="L491" class="LineNr"> 491 </span>    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
 <span id="L492" class="LineNr"> 492 </span>    <span class="subxComment"># if (eax == '\t') goto body</span>
 <span id="L493" class="LineNr"> 493 </span>    3d/compare-eax-and  0x09/imm32/tab
-<span id="L494" class="LineNr"> 494 </span>    74/jump-if-equal  $skip-chars-matching-whitespace:body/disp8
+<span id="L494" class="LineNr"> 494 </span>    74/jump-if-=  $skip-chars-matching-whitespace:body/disp8
 <span id="L495" class="LineNr"> 495 </span>    <span class="subxComment"># if (eax != '\r') break</span>
 <span id="L496" class="LineNr"> 496 </span>    3d/compare-eax-and  0x0d/imm32/cr
-<span id="L497" class="LineNr"> 497 </span>    75/jump-if-not-equal  $skip-chars-matching-whitespace:end/disp8
+<span id="L497" class="LineNr"> 497 </span>    75/jump-if-!=  $skip-chars-matching-whitespace:end/disp8
 <span id="L498" class="LineNr"> 498 </span><span class="Constant">$skip-chars-matching-whitespace:body</span>:
 <span id="L499" class="LineNr"> 499 </span>    <span class="subxComment"># ++in-&gt;read</span>
 <span id="L500" class="LineNr"> 500 </span>    41/increment-ecx
@@ -631,13 +631,13 @@ if ('onhashchange' in window) {
 <span id="L572" class="LineNr"> 572 </span><span class="Constant">$skip-chars-not-matching:loop</span>:
 <span id="L573" class="LineNr"> 573 </span>    <span class="subxComment"># if (in-&gt;read &gt;= in-&gt;write) break</span>
 <span id="L574" class="LineNr"> 574 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with ebx</span>
-<span id="L575" class="LineNr"> 575 </span>    7d/jump-if-greater-or-equal  $skip-chars-not-matching:end/disp8
+<span id="L575" class="LineNr"> 575 </span>    7d/jump-if-&gt;=  $skip-chars-not-matching:end/disp8
 <span id="L576" class="LineNr"> 576 </span>    <span class="subxComment"># eax = in-&gt;data[in-&gt;read]</span>
 <span id="L577" class="LineNr"> 577 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L578" class="LineNr"> 578 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L579" class="LineNr"> 579 </span>    <span class="subxComment"># if (eax == delimiter) break</span>
 <span id="L580" class="LineNr"> 580 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and edx</span>
-<span id="L581" class="LineNr"> 581 </span>    74/jump-if-equal  $skip-chars-not-matching:end/disp8
+<span id="L581" class="LineNr"> 581 </span>    74/jump-if-=  $skip-chars-not-matching:end/disp8
 <span id="L582" class="LineNr"> 582 </span>    <span class="subxComment"># ++in-&gt;read</span>
 <span id="L583" class="LineNr"> 583 </span>    41/increment-ecx
 <span id="L584" class="LineNr"> 584 </span>    eb/jump  $skip-chars-not-matching:<span class="Constant">loop</span>/disp8
@@ -790,22 +790,22 @@ if ('onhashchange' in window) {
 <span id="L731" class="LineNr"> 731 </span><span class="Constant">$skip-chars-not-matching-whitespace:loop</span>:
 <span id="L732" class="LineNr"> 732 </span>    <span class="subxComment"># if (in-&gt;read &gt;= in-&gt;write) break</span>
 <span id="L733" class="LineNr"> 733 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with ebx</span>
-<span id="L734" class="LineNr"> 734 </span>    7d/jump-if-greater-or-equal  $skip-chars-not-matching-whitespace:end/disp8
+<span id="L734" class="LineNr"> 734 </span>    7d/jump-if-&gt;=  $skip-chars-not-matching-whitespace:end/disp8
 <span id="L735" class="LineNr"> 735 </span>    <span class="subxComment"># eax = in-&gt;data[in-&gt;read]</span>
 <span id="L736" class="LineNr"> 736 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L737" class="LineNr"> 737 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L738" class="LineNr"> 738 </span>    <span class="subxComment"># if (eax == ' ') break</span>
 <span id="L739" class="LineNr"> 739 </span>    3d/compare-eax-and  0x20/imm32/space
-<span id="L740" class="LineNr"> 740 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+<span id="L740" class="LineNr"> 740 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
 <span id="L741" class="LineNr"> 741 </span>    <span class="subxComment"># if (eax == '\n') break</span>
 <span id="L742" class="LineNr"> 742 </span>    3d/compare-eax-and  0x0a/imm32/newline
-<span id="L743" class="LineNr"> 743 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+<span id="L743" class="LineNr"> 743 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
 <span id="L744" class="LineNr"> 744 </span>    <span class="subxComment"># if (eax == '\t') break</span>
 <span id="L745" class="LineNr"> 745 </span>    3d/compare-eax-and  0x09/imm32/tab
-<span id="L746" class="LineNr"> 746 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+<span id="L746" class="LineNr"> 746 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
 <span id="L747" class="LineNr"> 747 </span>    <span class="subxComment"># if (eax == '\r') break</span>
 <span id="L748" class="LineNr"> 748 </span>    3d/compare-eax-and  0x0d/imm32/cr
-<span id="L749" class="LineNr"> 749 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace:end/disp8
+<span id="L749" class="LineNr"> 749 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace:end/disp8
 <span id="L750" class="LineNr"> 750 </span>    <span class="subxComment"># ++in-&gt;read</span>
 <span id="L751" class="LineNr"> 751 </span>    41/increment-ecx
 <span id="L752" class="LineNr"> 752 </span>    eb/jump  $skip-chars-not-matching-whitespace:<span class="Constant">loop</span>/disp8
@@ -879,12 +879,12 @@ if ('onhashchange' in window) {
 <span id="L820" class="LineNr"> 820 </span><span class="Constant">$skip-chars-matching-in-slice:loop</span>:
 <span id="L821" class="LineNr"> 821 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L822" class="LineNr"> 822 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L823" class="LineNr"> 823 </span>    73/jump-if-greater-or-equal-unsigned  $skip-chars-matching-in-slice:end/disp8
+<span id="L823" class="LineNr"> 823 </span>    73/jump-if-addr&gt;=  $skip-chars-matching-in-slice:end/disp8
 <span id="L824" class="LineNr"> 824 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L825" class="LineNr"> 825 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to BL</span>
 <span id="L826" class="LineNr"> 826 </span>    <span class="subxComment"># if (c != delimiter) break</span>
 <span id="L827" class="LineNr"> 827 </span>    39/compare                      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ebx and edx</span>
-<span id="L828" class="LineNr"> 828 </span>    75/jump-if-not-equal  $skip-chars-matching-in-slice:end/disp8
+<span id="L828" class="LineNr"> 828 </span>    75/jump-if-!=  $skip-chars-matching-in-slice:end/disp8
 <span id="L829" class="LineNr"> 829 </span>    <span class="subxComment"># ++curr</span>
 <span id="L830" class="LineNr"> 830 </span>    40/increment-eax
 <span id="L831" class="LineNr"> 831 </span>    eb/jump  $skip-chars-matching-in-slice:<span class="Constant">loop</span>/disp8
@@ -972,21 +972,21 @@ if ('onhashchange' in window) {
 <span id="L913" class="LineNr"> 913 </span><span class="Constant">$skip-chars-matching-whitespace-in-slice:loop</span>:
 <span id="L914" class="LineNr"> 914 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L915" class="LineNr"> 915 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L916" class="LineNr"> 916 </span>    0f 83/jump-if-greater-or-equal-unsigned  $skip-chars-matching-in-slice:end/disp32
+<span id="L916" class="LineNr"> 916 </span>    0f 83/jump-if-addr&gt;=  $skip-chars-matching-in-slice:end/disp32
 <span id="L917" class="LineNr"> 917 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L918" class="LineNr"> 918 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to BL</span>
 <span id="L919" class="LineNr"> 919 </span>    <span class="subxComment"># if (c == ' ') goto body</span>
 <span id="L920" class="LineNr"> 920 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x20/imm32/space  <span class="subxComment"># compare ebx</span>
-<span id="L921" class="LineNr"> 921 </span>    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+<span id="L921" class="LineNr"> 921 </span>    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
 <span id="L922" class="LineNr"> 922 </span>    <span class="subxComment"># if (c == '\n') goto body</span>
 <span id="L923" class="LineNr"> 923 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x0a/imm32/newline  <span class="subxComment"># compare ebx</span>
-<span id="L924" class="LineNr"> 924 </span>    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+<span id="L924" class="LineNr"> 924 </span>    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
 <span id="L925" class="LineNr"> 925 </span>    <span class="subxComment"># if (c == '\t') goto body</span>
 <span id="L926" class="LineNr"> 926 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x09/imm32/tab    <span class="subxComment"># compare ebx</span>
-<span id="L927" class="LineNr"> 927 </span>    74/jump-if-equal  $skip-chars-matching-whitespace-in-slice:body/disp8
+<span id="L927" class="LineNr"> 927 </span>    74/jump-if-=  $skip-chars-matching-whitespace-in-slice:body/disp8
 <span id="L928" class="LineNr"> 928 </span>    <span class="subxComment"># if (c != '\r') break</span>
 <span id="L929" class="LineNr"> 929 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x0d/imm32/cr     <span class="subxComment"># compare ebx</span>
-<span id="L930" class="LineNr"> 930 </span>    75/jump-if-not-equal  $skip-chars-matching-whitespace-in-slice:end/disp8
+<span id="L930" class="LineNr"> 930 </span>    75/jump-if-!=  $skip-chars-matching-whitespace-in-slice:end/disp8
 <span id="L931" class="LineNr"> 931 </span><span class="Constant">$skip-chars-matching-whitespace-in-slice:body</span>:
 <span id="L932" class="LineNr"> 932 </span>    <span class="subxComment"># ++curr</span>
 <span id="L933" class="LineNr"> 933 </span>    40/increment-eax
@@ -1048,12 +1048,12 @@ if ('onhashchange' in window) {
 <span id="L989" class="LineNr"> 989 </span><span class="Constant">$skip-chars-not-matching-in-slice:loop</span>:
 <span id="L990" class="LineNr"> 990 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L991" class="LineNr"> 991 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L992" class="LineNr"> 992 </span>    73/jump-if-greater-or-equal-unsigned  $skip-chars-not-matching-in-slice:end/disp8
+<span id="L992" class="LineNr"> 992 </span>    73/jump-if-addr&gt;=  $skip-chars-not-matching-in-slice:end/disp8
 <span id="L993" class="LineNr"> 993 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L994" class="LineNr"> 994 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to BL</span>
 <span id="L995" class="LineNr"> 995 </span>    <span class="subxComment"># if (c == delimiter) break</span>
 <span id="L996" class="LineNr"> 996 </span>    39/compare                      3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ebx and edx</span>
-<span id="L997" class="LineNr"> 997 </span>    74/jump-if-equal  $skip-chars-not-matching-in-slice:end/disp8
+<span id="L997" class="LineNr"> 997 </span>    74/jump-if-=  $skip-chars-not-matching-in-slice:end/disp8
 <span id="L998" class="LineNr"> 998 </span>    <span class="subxComment"># ++curr</span>
 <span id="L999" class="LineNr"> 999 </span>    40/increment-eax
 <span id="L1000" class="LineNr">1000 </span>    eb/jump  $skip-chars-not-matching-in-slice:<span class="Constant">loop</span>/disp8
@@ -1170,21 +1170,21 @@ if ('onhashchange' in window) {
 <span id="L1111" class="LineNr">1111 </span><span class="Constant">$skip-chars-not-matching-whitespace-in-slice:loop</span>:
 <span id="L1112" class="LineNr">1112 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L1113" class="LineNr">1113 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L1114" class="LineNr">1114 </span>    0f 83/jump-if-greater-or-equal-unsigned  $skip-chars-not-matching-in-slice:end/disp32
+<span id="L1114" class="LineNr">1114 </span>    0f 83/jump-if-addr&gt;=  $skip-chars-not-matching-in-slice:end/disp32
 <span id="L1115" class="LineNr">1115 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L1116" class="LineNr">1116 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to BL</span>
 <span id="L1117" class="LineNr">1117 </span>    <span class="subxComment"># if (c == ' ') break</span>
 <span id="L1118" class="LineNr">1118 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x20/imm32/space  <span class="subxComment"># compare ebx</span>
-<span id="L1119" class="LineNr">1119 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+<span id="L1119" class="LineNr">1119 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
 <span id="L1120" class="LineNr">1120 </span>    <span class="subxComment"># if (c == '\n') break</span>
 <span id="L1121" class="LineNr">1121 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x0a/imm32/newline  <span class="subxComment"># compare ebx</span>
-<span id="L1122" class="LineNr">1122 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+<span id="L1122" class="LineNr">1122 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
 <span id="L1123" class="LineNr">1123 </span>    <span class="subxComment"># if (c == '\t') break</span>
 <span id="L1124" class="LineNr">1124 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x09/imm32/tab    <span class="subxComment"># compare ebx</span>
-<span id="L1125" class="LineNr">1125 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+<span id="L1125" class="LineNr">1125 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
 <span id="L1126" class="LineNr">1126 </span>    <span class="subxComment"># if (c == '\r') break</span>
 <span id="L1127" class="LineNr">1127 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x0d/imm32/cr     <span class="subxComment"># compare ebx</span>
-<span id="L1128" class="LineNr">1128 </span>    74/jump-if-equal  $skip-chars-not-matching-whitespace-in-slice:end/disp8
+<span id="L1128" class="LineNr">1128 </span>    74/jump-if-=  $skip-chars-not-matching-whitespace-in-slice:end/disp8
 <span id="L1129" class="LineNr">1129 </span>    <span class="subxComment"># ++curr</span>
 <span id="L1130" class="LineNr">1130 </span>    40/increment-eax
 <span id="L1131" class="LineNr">1131 </span>    eb/jump  $skip-chars-not-matching-whitespace-in-slice:<span class="Constant">loop</span>/disp8
@@ -1488,17 +1488,17 @@ if ('onhashchange' in window) {
 <span id="L1429" class="LineNr">1429 </span><span class="Constant">$skip-string-in-slice:loop</span>:
 <span id="L1430" class="LineNr">1430 </span>    <span class="subxComment"># if (curr &gt;= end) return curr</span>
 <span id="L1431" class="LineNr">1431 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1432" class="LineNr">1432 </span>    73/jump-if-greater-unsigned-or-equal  $skip-string-in-slice:return-curr/disp8
+<span id="L1432" class="LineNr">1432 </span>    73/jump-if-addr&gt;=  $skip-string-in-slice:return-curr/disp8
 <span id="L1433" class="LineNr">1433 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L1434" class="LineNr">1434 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1435" class="LineNr">1435 </span><span class="Constant">$skip-string-in-slice:dquote</span>:
 <span id="L1436" class="LineNr">1436 </span>    <span class="subxComment"># if (c == '&quot;') break</span>
 <span id="L1437" class="LineNr">1437 </span>    3d/compare-eax-and  0x22/imm32/double-quote
-<span id="L1438" class="LineNr">1438 </span>    74/jump-if-equal  $skip-string-in-slice:<span class="Constant">break</span>/disp8
+<span id="L1438" class="LineNr">1438 </span>    74/jump-if-=  $skip-string-in-slice:<span class="Constant">break</span>/disp8
 <span id="L1439" class="LineNr">1439 </span><span class="Constant">$skip-string-in-slice:check-for-escape</span>:
 <span id="L1440" class="LineNr">1440 </span>    <span class="subxComment"># if (c == '\') escape next char</span>
 <span id="L1441" class="LineNr">1441 </span>    3d/compare-eax-and  0x5c/imm32/backslash
-<span id="L1442" class="LineNr">1442 </span>    75/jump-if-not-equal  $skip-string-in-slice:continue/disp8
+<span id="L1442" class="LineNr">1442 </span>    75/jump-if-!=  $skip-string-in-slice:continue/disp8
 <span id="L1443" class="LineNr">1443 </span><span class="Constant">$skip-string-in-slice:escape</span>:
 <span id="L1444" class="LineNr">1444 </span>    41/increment-ecx
 <span id="L1445" class="LineNr">1445 </span><span class="Constant">$skip-string-in-slice:continue</span>:
@@ -1860,13 +1860,13 @@ if ('onhashchange' in window) {
 <span id="L1801" class="LineNr">1801 </span><span class="Constant">$skip-until-close-paren-in-slice:loop</span>:
 <span id="L1802" class="LineNr">1802 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L1803" class="LineNr">1803 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1804" class="LineNr">1804 </span>    73/jump-if-greater-unsigned-or-equal  $skip-until-close-paren-in-slice:<span class="Constant">break</span>/disp8
+<span id="L1804" class="LineNr">1804 </span>    73/jump-if-addr&gt;=  $skip-until-close-paren-in-slice:<span class="Constant">break</span>/disp8
 <span id="L1805" class="LineNr">1805 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L1806" class="LineNr">1806 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1807" class="LineNr">1807 </span><span class="Constant">$skip-until-close-paren-in-slice:check-close</span>:
 <span id="L1808" class="LineNr">1808 </span>    <span class="subxComment"># if (c == ')') break</span>
 <span id="L1809" class="LineNr">1809 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L1810" class="LineNr">1810 </span>    74/jump-if-equal  $skip-until-close-paren-in-slice:<span class="Constant">break</span>/disp8
+<span id="L1810" class="LineNr">1810 </span>    74/jump-if-=  $skip-until-close-paren-in-slice:<span class="Constant">break</span>/disp8
 <span id="L1811" class="LineNr">1811 </span>    <span class="subxComment"># ++curr</span>
 <span id="L1812" class="LineNr">1812 </span>    41/increment-ecx
 <span id="L1813" class="LineNr">1813 </span>    eb/jump  $skip-until-close-paren-in-slice:<span class="Constant">loop</span>/disp8
diff --git a/html/075print-int-decimal.subx.html b/html/075print-int-decimal.subx.html
index 9a7c6ce2..bf35a3be 100644
--- a/html/075print-int-decimal.subx.html
+++ b/html/075print-int-decimal.subx.html
@@ -112,7 +112,7 @@ if ('onhashchange' in window) {
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># var eax : int = abs(n)</span>
 <span id="L52" class="LineNr"> 52 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
 <span id="L53" class="LineNr"> 53 </span>    3d/compare-eax-with  0/imm32
-<span id="L54" class="LineNr"> 54 </span>    7d/jump-if-greater-or-equal  $print-int32-decimal:read-loop/disp8
+<span id="L54" class="LineNr"> 54 </span>    7d/jump-if-&gt;=  $print-int32-decimal:read-loop/disp8
 <span id="L55" class="LineNr"> 55 </span><span class="Constant">$print-int32-decimal:negative</span>:
 <span id="L56" class="LineNr"> 56 </span>    f7          3/subop/negate      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># negate eax</span>
 <span id="L57" class="LineNr"> 57 </span><span class="Constant">$print-int32-decimal:read-loop</span>:
@@ -125,11 +125,11 @@ if ('onhashchange' in window) {
 <span id="L64" class="LineNr"> 64 </span>    52/push-edx
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># if (eax == 0) break</span>
 <span id="L66" class="LineNr"> 66 </span>    3d/compare-eax-and  0/imm32
-<span id="L67" class="LineNr"> 67 </span>    7f/jump-if-greater  $print-int32-decimal:read-loop/disp8
+<span id="L67" class="LineNr"> 67 </span>    7f/jump-if-&gt;  $print-int32-decimal:read-loop/disp8
 <span id="L68" class="LineNr"> 68 </span><span class="Constant">$print-int32-decimal:read-break</span>:
 <span id="L69" class="LineNr"> 69 </span>    <span class="subxComment"># if (n &lt; 0) push('-')</span>
 <span id="L70" class="LineNr"> 70 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8       0/imm32           <span class="subxComment"># compare *(ebp+12)</span>
-<span id="L71" class="LineNr"> 71 </span>    7d/jump-if-greater-or-equal  $print-int32-decimal:<a href='057write.subx.html#L24'>write</a>/disp8
+<span id="L71" class="LineNr"> 71 </span>    7d/jump-if-&gt;=  $print-int32-decimal:<a href='057write.subx.html#L24'>write</a>/disp8
 <span id="L72" class="LineNr"> 72 </span><span class="Constant">$print-int32-decimal:push-negative</span>:
 <span id="L73" class="LineNr"> 73 </span>    68/push  0x2d/imm32/-
 <span id="L74" class="LineNr"> 74 </span><span class="Constant">$print-int32-decimal:<a href='057write.subx.html#L24'>write</a></span>:
@@ -147,10 +147,10 @@ if ('onhashchange' in window) {
 <span id="L86" class="LineNr"> 86 </span>    58/pop-to-eax
 <span id="L87" class="LineNr"> 87 </span>    <span class="subxComment"># if (eax == sentinel) break</span>
 <span id="L88" class="LineNr"> 88 </span>    3d/compare-eax-and  0/imm32/sentinel
-<span id="L89" class="LineNr"> 89 </span>    74/jump-if-equal  $print-int32-decimal:write-break/disp8
+<span id="L89" class="LineNr"> 89 </span>    74/jump-if-=  $print-int32-decimal:write-break/disp8
 <span id="L90" class="LineNr"> 90 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L91" class="LineNr"> 91 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with ebx</span>
-<span id="L92" class="LineNr"> 92 </span>    73/jump-if-greater-or-equal-unsigned  $print-int32-decimal:abort/disp8
+<span id="L92" class="LineNr"> 92 </span>    73/jump-if-addr&gt;=  $print-int32-decimal:abort/disp8
 <span id="L93" class="LineNr"> 93 </span><span class="Constant">$print-int32-decimal:write-char</span>:
 <span id="L94" class="LineNr"> 94 </span>    <span class="subxComment"># *curr = AL</span>
 <span id="L95" class="LineNr"> 95 </span>    88/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy AL to byte at *ecx</span>
@@ -350,10 +350,10 @@ if ('onhashchange' in window) {
 <span id="L314" class="LineNr">314 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to ecx</span>
 <span id="L315" class="LineNr">315 </span>    <span class="subxComment"># return false if c &lt; '0'</span>
 <span id="L316" class="LineNr">316 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x30/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L317" class="LineNr">317 </span>    7c/jump-if-lesser  $is-decimal-digit?:false/disp8
+<span id="L317" class="LineNr">317 </span>    7c/jump-if-&lt;  $is-decimal-digit?:false/disp8
 <span id="L318" class="LineNr">318 </span>    <span class="subxComment"># return true if c &lt;= '9'</span>
 <span id="L319" class="LineNr">319 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x39/imm32        <span class="subxComment"># compare ecx</span>
-<span id="L320" class="LineNr">320 </span>    7e/jump-if-lesser-or-equal  $is-decimal-digit?:true/disp8
+<span id="L320" class="LineNr">320 </span>    7e/jump-if-&lt;=  $is-decimal-digit?:true/disp8
 <span id="L321" class="LineNr">321 </span>    <span class="subxComment"># otherwise return false</span>
 <span id="L322" class="LineNr">322 </span><span class="Constant">$is-decimal-digit?:false</span>:
 <span id="L323" class="LineNr">323 </span>    b8/copy-to-eax  0/imm32/false
diff --git a/html/076next-word.subx.html b/html/076next-word.subx.html
index fd995009..90aa0113 100644
--- a/html/076next-word.subx.html
+++ b/html/076next-word.subx.html
@@ -93,7 +93,7 @@ if ('onhashchange' in window) {
 <span id="L34" class="LineNr"> 34 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
 <span id="L35" class="LineNr"> 35 </span>    <span class="subxS1Comment"># . if (eax &lt; line-&gt;write) goto next check</span>
 <span id="L36" class="LineNr"> 36 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with *esi</span>
-<span id="L37" class="LineNr"> 37 </span>    7c/jump-if-lesser  $next-word:check-for-comment/disp8
+<span id="L37" class="LineNr"> 37 </span>    7c/jump-if-&lt;  $next-word:check-for-comment/disp8
 <span id="L38" class="LineNr"> 38 </span>    <span class="subxS1Comment"># . return out</span>
 <span id="L39" class="LineNr"> 39 </span>    c7          0/subop/copy        0/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># copy to *edi</span>
 <span id="L40" class="LineNr"> 40 </span>    c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># copy to *(edi+4)</span>
@@ -109,7 +109,7 @@ if ('onhashchange' in window) {
 <span id="L50" class="LineNr"> 50 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxS1Comment"># . compare</span>
 <span id="L52" class="LineNr"> 52 </span>    3d/compare-eax-and  0x23/imm32/pound
-<span id="L53" class="LineNr"> 53 </span>    75/jump-if-not-equal  $next-word:regular-word/disp8
+<span id="L53" class="LineNr"> 53 </span>    75/jump-if-!=  $next-word:regular-word/disp8
 <span id="L54" class="LineNr"> 54 </span><span class="Constant">$next-word:comment</span>:
 <span id="L55" class="LineNr"> 55 </span>    <span class="subxS1Comment"># . out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
 <span id="L56" class="LineNr"> 56 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to eax</span>
diff --git a/html/077subx-words.subx.html b/html/077subx-words.subx.html
index 1ea0b967..eac8cad4 100644
--- a/html/077subx-words.subx.html
+++ b/html/077subx-words.subx.html
@@ -121,7 +121,7 @@ if ('onhashchange' in window) {
 <span id="L62" class="LineNr"> 62 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L63" class="LineNr"> 63 </span>    <span class="subxS1Comment"># . if (eax != false) return false</span>
 <span id="L64" class="LineNr"> 64 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L65" class="LineNr"> 65 </span>    75/jump-if-not-equal  $has-metadata?:false/disp8
+<span id="L65" class="LineNr"> 65 </span>    75/jump-if-!=  $has-metadata?:false/disp8
 <span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># if (slice-equal?(twig, s)) return true</span>
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxS1Comment"># . eax = slice-equal?(twig, s)</span>
 <span id="L68" class="LineNr"> 68 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -134,7 +134,7 @@ if ('onhashchange' in window) {
 <span id="L75" class="LineNr"> 75 </span>    <span class="subxS1Comment"># . if (eax != false) return true</span>
 <span id="L76" class="LineNr"> 76 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># eax already contains true</span>
-<span id="L78" class="LineNr"> 78 </span>    75/jump-if-not-equal  $has-metadata?:end/disp8
+<span id="L78" class="LineNr"> 78 </span>    75/jump-if-!=  $has-metadata?:end/disp8
 <span id="L79" class="LineNr"> 79 </span>    eb/jump  $has-metadata?:<span class="Constant">loop</span>/disp8
 <span id="L80" class="LineNr"> 80 </span><span class="Constant">$has-metadata?:false</span>:
 <span id="L81" class="LineNr"> 81 </span>    b8/copy-to-eax  0/imm32/false
@@ -348,29 +348,29 @@ if ('onhashchange' in window) {
 <span id="L289" class="LineNr">289 </span><span class="Constant">$is-valid-name?:check0</span>:
 <span id="L290" class="LineNr">290 </span>    <span class="subxComment"># if (start &gt;= in-&gt;end) return false</span>
 <span id="L291" class="LineNr">291 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+4)</span>
-<span id="L292" class="LineNr">292 </span>    73/jump-if-greater-or-equal-unsigned  $is-valid-name?:false/disp8
+<span id="L292" class="LineNr">292 </span>    73/jump-if-addr&gt;=  $is-valid-name?:false/disp8
 <span id="L293" class="LineNr">293 </span><span class="Constant">$is-valid-name?:check1</span>:
 <span id="L294" class="LineNr">294 </span>    <span class="subxComment"># var len/eax : int = in-&gt;end - start</span>
 <span id="L295" class="LineNr">295 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
 <span id="L296" class="LineNr">296 </span>    29/subtract                     3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># subtract ecx from eax</span>
 <span id="L297" class="LineNr">297 </span>    <span class="subxComment"># if (eax == 2) return false</span>
 <span id="L298" class="LineNr">298 </span>    3d/compare-eax-and  2/imm32
-<span id="L299" class="LineNr">299 </span>    74/jump-if-equal  $is-valid-name?:false/disp8
+<span id="L299" class="LineNr">299 </span>    74/jump-if-=  $is-valid-name?:false/disp8
 <span id="L300" class="LineNr">300 </span><span class="Constant">$is-valid-name?:check2</span>:
 <span id="L301" class="LineNr">301 </span>    <span class="subxComment"># var c/eax : (addr byte) = *start</span>
 <span id="L302" class="LineNr">302 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L303" class="LineNr">303 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L304" class="LineNr">304 </span>    <span class="subxComment"># if (c == &quot;-&quot;) return false</span>
 <span id="L305" class="LineNr">305 </span>    3d/compare-eax-and  2d/imm32/-
-<span id="L306" class="LineNr">306 </span>    74/jump-if-equal  $is-valid-name?:false/disp8
+<span id="L306" class="LineNr">306 </span>    74/jump-if-=  $is-valid-name?:false/disp8
 <span id="L307" class="LineNr">307 </span><span class="Constant">$is-valid-name?:check3a</span>:
 <span id="L308" class="LineNr">308 </span>    <span class="subxComment"># if (c &lt; &quot;0&quot;) return true</span>
 <span id="L309" class="LineNr">309 </span>    3d/compare-eax-with  30/imm32/0
-<span id="L310" class="LineNr">310 </span>    7c/jump-if-lesser  $is-valid-name?:true/disp8
+<span id="L310" class="LineNr">310 </span>    7c/jump-if-&lt;  $is-valid-name?:true/disp8
 <span id="L311" class="LineNr">311 </span><span class="Constant">$is-valid-name?:check3b</span>:
 <span id="L312" class="LineNr">312 </span>    <span class="subxComment"># if (c &gt; &quot;9&quot;) return true</span>
 <span id="L313" class="LineNr">313 </span>    3d/compare-eax-with  39/imm32/9
-<span id="L314" class="LineNr">314 </span>    7f/jump-if-greater  $is-valid-name?:true/disp8
+<span id="L314" class="LineNr">314 </span>    7f/jump-if-&gt;  $is-valid-name?:true/disp8
 <span id="L315" class="LineNr">315 </span><span class="Constant">$is-valid-name?:false</span>:
 <span id="L316" class="LineNr">316 </span>    <span class="subxComment"># return false</span>
 <span id="L317" class="LineNr">317 </span>    b8/copy-to-eax  0/imm32/false
@@ -608,7 +608,7 @@ if ('onhashchange' in window) {
 <span id="L549" class="LineNr">549 </span>    <span class="subxS1Comment"># . return (eax == ':')</span>
 <span id="L550" class="LineNr">550 </span>    3d/compare-eax-and  0x3a/imm32/colon
 <span id="L551" class="LineNr">551 </span>    b8/copy-to-eax  1/imm32/true
-<span id="L552" class="LineNr">552 </span>    74/jump-if-equal  $is-label?:end/disp8
+<span id="L552" class="LineNr">552 </span>    74/jump-if-=  $is-label?:end/disp8
 <span id="L553" class="LineNr">553 </span>    b8/copy-to-eax  0/imm32/false
 <span id="L554" class="LineNr">554 </span><span class="Constant">$is-label?:end</span>:
 <span id="L555" class="LineNr">555 </span>    <span class="subxS1Comment"># . restore registers</span>
diff --git a/html/078emit-hex.subx.html b/html/078emit-hex.subx.html
index 94b7eea1..838851a6 100644
--- a/html/078emit-hex.subx.html
+++ b/html/078emit-hex.subx.html
@@ -84,7 +84,7 @@ if ('onhashchange' in window) {
 <span id="L25" class="LineNr"> 25 </span><span class="Constant">$emit-hex:loop</span>:
 <span id="L26" class="LineNr"> 26 </span>    <span class="subxComment"># if (curr &gt;= width) break</span>
 <span id="L27" class="LineNr"> 27 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L28" class="LineNr"> 28 </span>    7d/jump-if-greater-or-equal  $emit-hex:end/disp8
+<span id="L28" class="LineNr"> 28 </span>    7d/jump-if-&gt;=  $emit-hex:end/disp8
 <span id="L29" class="LineNr"> 29 </span>    <span class="subxComment"># print-byte-buffered(out, ebx)  # only BL used</span>
 <span id="L30" class="LineNr"> 30 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L31" class="LineNr"> 31 </span>    53/push-ebx
diff --git a/html/079emit.subx.html b/html/079emit.subx.html
index ccaa5a46..dbe0d673 100644
--- a/html/079emit.subx.html
+++ b/html/079emit.subx.html
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L41" class="LineNr"> 41 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L42" class="LineNr"> 42 </span>    <span class="subxS1Comment"># . if (eax != false)</span>
 <span id="L43" class="LineNr"> 43 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L44" class="LineNr"> 44 </span>    74/jump-if-equal  $emit:hex-int/disp8
+<span id="L44" class="LineNr"> 44 </span>    74/jump-if-=  $emit:hex-int/disp8
 <span id="L45" class="LineNr"> 45 </span><span class="Constant">$emit:name</span>:
 <span id="L46" class="LineNr"> 46 </span>    <span class="subxS1Comment"># . write-slice-buffered(out, word)</span>
 <span id="L47" class="LineNr"> 47 </span>    <span class="subxS2Comment"># . . push args</span>
diff --git a/html/080zero-out.subx.html b/html/080zero-out.subx.html
index 9f39374e..203e38db 100644
--- a/html/080zero-out.subx.html
+++ b/html/080zero-out.subx.html
@@ -91,7 +91,7 @@ if ('onhashchange' in window) {
 <span id="L32" class="LineNr">32 </span><span class="Constant">$zero-out:loop</span>:
 <span id="L33" class="LineNr">33 </span>    <span class="subxComment"># if (i &gt;= len) break</span>
 <span id="L34" class="LineNr">34 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L35" class="LineNr">35 </span>    7d/jump-if-greater-or-equal  $zero-out:end/disp8
+<span id="L35" class="LineNr">35 </span>    7d/jump-if-&gt;=  $zero-out:end/disp8
 <span id="L36" class="LineNr">36 </span>    <span class="subxComment"># *curr = 0</span>
 <span id="L37" class="LineNr">37 </span>    c6          0/subop/copy        0/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm8            <span class="subxComment"># copy byte to *esi</span>
 <span id="L38" class="LineNr">38 </span>    <span class="subxComment"># ++curr</span>
diff --git a/html/081table.subx.html b/html/081table.subx.html
index 6ed012d9..127b2d9d 100644
--- a/html/081table.subx.html
+++ b/html/081table.subx.html
@@ -112,7 +112,7 @@ if ('onhashchange' in window) {
 <span id="L51" class="LineNr">  51 </span><span class="Constant">$get:search-loop</span>:
 <span id="L52" class="LineNr">  52 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L53" class="LineNr">  53 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L54" class="LineNr">  54 </span>    73/jump-if-greater-or-equal-unsigned  $get:abort/disp8
+<span id="L54" class="LineNr">  54 </span>    73/jump-if-addr&gt;=  $get:abort/disp8
 <span id="L55" class="LineNr">  55 </span>    <span class="subxComment"># if (string-equal?(key, *curr)) return curr+4</span>
 <span id="L56" class="LineNr">  56 </span>    <span class="subxS1Comment"># . eax = string-equal?(key, *curr)</span>
 <span id="L57" class="LineNr">  57 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -124,7 +124,7 @@ if ('onhashchange' in window) {
 <span id="L63" class="LineNr">  63 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L64" class="LineNr">  64 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L65" class="LineNr">  65 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L66" class="LineNr">  66 </span>    74/jump-if-equal  $get:mismatch/disp8
+<span id="L66" class="LineNr">  66 </span>    74/jump-if-=  $get:mismatch/disp8
 <span id="L67" class="LineNr">  67 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L68" class="LineNr">  68 </span>    eb/jump  $get:end/disp8
 <span id="L69" class="LineNr">  69 </span><span class="Constant">$get:mismatch</span>:
@@ -286,7 +286,7 @@ if ('onhashchange' in window) {
 <span id="L225" class="LineNr"> 225 </span><span class="Constant">$get-slice:search-loop</span>:
 <span id="L226" class="LineNr"> 226 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L227" class="LineNr"> 227 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L228" class="LineNr"> 228 </span>    73/jump-if-greater-or-equal-unsigned  $get-slice:abort/disp8
+<span id="L228" class="LineNr"> 228 </span>    73/jump-if-addr&gt;=  $get-slice:abort/disp8
 <span id="L229" class="LineNr"> 229 </span>    <span class="subxComment"># if (slice-equal?(key, *curr)) return curr+4</span>
 <span id="L230" class="LineNr"> 230 </span>    <span class="subxS1Comment"># . eax = slice-equal?(key, *curr)</span>
 <span id="L231" class="LineNr"> 231 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -298,7 +298,7 @@ if ('onhashchange' in window) {
 <span id="L237" class="LineNr"> 237 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L238" class="LineNr"> 238 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L239" class="LineNr"> 239 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L240" class="LineNr"> 240 </span>    74/jump-if-equal  $get-slice:mismatch/disp8
+<span id="L240" class="LineNr"> 240 </span>    74/jump-if-=  $get-slice:mismatch/disp8
 <span id="L241" class="LineNr"> 241 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L242" class="LineNr"> 242 </span>    eb/jump  $get-slice:end/disp8
 <span id="L243" class="LineNr"> 243 </span><span class="Constant">$get-slice:mismatch</span>:
@@ -494,7 +494,7 @@ if ('onhashchange' in window) {
 <span id="L433" class="LineNr"> 433 </span><span class="Constant">$get-or-insert:search-loop</span>:
 <span id="L434" class="LineNr"> 434 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L435" class="LineNr"> 435 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L436" class="LineNr"> 436 </span>    73/jump-if-greater-or-equal-unsigned  $get-or-insert:not-found/disp8
+<span id="L436" class="LineNr"> 436 </span>    73/jump-if-addr&gt;=  $get-or-insert:not-found/disp8
 <span id="L437" class="LineNr"> 437 </span>    <span class="subxComment"># if (string-equal?(key, *curr)) return curr+4</span>
 <span id="L438" class="LineNr"> 438 </span>    <span class="subxS1Comment"># . eax = string-equal?(key, *curr)</span>
 <span id="L439" class="LineNr"> 439 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -506,7 +506,7 @@ if ('onhashchange' in window) {
 <span id="L445" class="LineNr"> 445 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L446" class="LineNr"> 446 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L447" class="LineNr"> 447 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L448" class="LineNr"> 448 </span>    74/jump-if-equal  $get-or-insert:mismatch/disp8
+<span id="L448" class="LineNr"> 448 </span>    74/jump-if-=  $get-or-insert:mismatch/disp8
 <span id="L449" class="LineNr"> 449 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L450" class="LineNr"> 450 </span>    eb/jump  $get-or-insert:end/disp8
 <span id="L451" class="LineNr"> 451 </span><span class="Constant">$get-or-insert:mismatch</span>:
@@ -520,7 +520,7 @@ if ('onhashchange' in window) {
 <span id="L459" class="LineNr"> 459 </span>    <span class="subxComment"># if (table-&gt;write &gt;= table-&gt;length) abort</span>
 <span id="L460" class="LineNr"> 460 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to ecx</span>
 <span id="L461" class="LineNr"> 461 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+8)</span>
-<span id="L462" class="LineNr"> 462 </span>    73/jump-if-greater-or-equal-unsigned  $get-or-insert:abort/disp8
+<span id="L462" class="LineNr"> 462 </span>    73/jump-if-addr&gt;=  $get-or-insert:abort/disp8
 <span id="L463" class="LineNr"> 463 </span>    <span class="subxComment"># zero-out(max, row-size)</span>
 <span id="L464" class="LineNr"> 464 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L465" class="LineNr"> 465 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+16)</span>
@@ -745,7 +745,7 @@ if ('onhashchange' in window) {
 <span id="L684" class="LineNr"> 684 </span><span class="Constant">$leaky-get-or-insert-slice:search-loop</span>:
 <span id="L685" class="LineNr"> 685 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L686" class="LineNr"> 686 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L687" class="LineNr"> 687 </span>    73/jump-if-greater-or-equal-unsigned  $leaky-get-or-insert-slice:not-found/disp8
+<span id="L687" class="LineNr"> 687 </span>    73/jump-if-addr&gt;=  $leaky-get-or-insert-slice:not-found/disp8
 <span id="L688" class="LineNr"> 688 </span>    <span class="subxComment"># if (slice-equal?(key, *curr)) return curr+4</span>
 <span id="L689" class="LineNr"> 689 </span>    <span class="subxS1Comment"># . eax = slice-equal?(key, *curr)</span>
 <span id="L690" class="LineNr"> 690 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -757,7 +757,7 @@ if ('onhashchange' in window) {
 <span id="L696" class="LineNr"> 696 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L697" class="LineNr"> 697 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L698" class="LineNr"> 698 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L699" class="LineNr"> 699 </span>    74/jump-if-equal  $leaky-get-or-insert-slice:mismatch/disp8
+<span id="L699" class="LineNr"> 699 </span>    74/jump-if-=  $leaky-get-or-insert-slice:mismatch/disp8
 <span id="L700" class="LineNr"> 700 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L701" class="LineNr"> 701 </span>    eb/jump  $leaky-get-or-insert-slice:end/disp8
 <span id="L702" class="LineNr"> 702 </span><span class="Constant">$leaky-get-or-insert-slice:mismatch</span>:
@@ -771,7 +771,7 @@ if ('onhashchange' in window) {
 <span id="L710" class="LineNr"> 710 </span>    <span class="subxComment"># if (table-&gt;write &gt;= table-&gt;length) abort</span>
 <span id="L711" class="LineNr"> 711 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to ecx</span>
 <span id="L712" class="LineNr"> 712 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+8)</span>
-<span id="L713" class="LineNr"> 713 </span>    7d/jump-if-greater-or-equal  $leaky-get-or-insert-slice:abort/disp8
+<span id="L713" class="LineNr"> 713 </span>    7d/jump-if-&gt;=  $leaky-get-or-insert-slice:abort/disp8
 <span id="L714" class="LineNr"> 714 </span>    <span class="subxComment"># zero-out(max, row-size)</span>
 <span id="L715" class="LineNr"> 715 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L716" class="LineNr"> 716 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+16)</span>
@@ -1015,7 +1015,7 @@ if ('onhashchange' in window) {
 <span id="L954" class="LineNr"> 954 </span><span class="Constant">$get-or-stop:search-loop</span>:
 <span id="L955" class="LineNr"> 955 </span>    <span class="subxComment"># if (curr &gt;= max) stop(ed)</span>
 <span id="L956" class="LineNr"> 956 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L957" class="LineNr"> 957 </span>    73/jump-if-greater-or-equal-unsigned  $get-or-stop:<a href='059stop.subx.html#L92'>stop</a>/disp8
+<span id="L957" class="LineNr"> 957 </span>    73/jump-if-addr&gt;=  $get-or-stop:<a href='059stop.subx.html#L92'>stop</a>/disp8
 <span id="L958" class="LineNr"> 958 </span>    <span class="subxComment"># if (string-equal?(key, *curr)) return curr+4</span>
 <span id="L959" class="LineNr"> 959 </span>    <span class="subxS1Comment"># . eax = string-equal?(key, *curr)</span>
 <span id="L960" class="LineNr"> 960 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1027,7 +1027,7 @@ if ('onhashchange' in window) {
 <span id="L966" class="LineNr"> 966 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L967" class="LineNr"> 967 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L968" class="LineNr"> 968 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L969" class="LineNr"> 969 </span>    74/jump-if-equal  $get-or-stop:mismatch/disp8
+<span id="L969" class="LineNr"> 969 </span>    74/jump-if-=  $get-or-stop:mismatch/disp8
 <span id="L970" class="LineNr"> 970 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L971" class="LineNr"> 971 </span>    eb/jump  $get-or-stop:end/disp8
 <span id="L972" class="LineNr"> 972 </span><span class="Constant">$get-or-stop:mismatch</span>:
@@ -1231,7 +1231,7 @@ if ('onhashchange' in window) {
 <span id="L1170" class="LineNr">1170 </span><span class="Constant">$get-slice-or-stop:search-loop</span>:
 <span id="L1171" class="LineNr">1171 </span>    <span class="subxComment"># if (curr &gt;= max) stop(ed)</span>
 <span id="L1172" class="LineNr">1172 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1173" class="LineNr">1173 </span>    73/jump-if-greater-or-equal-unsigned  $get-slice-or-stop:<a href='059stop.subx.html#L92'>stop</a>/disp8
+<span id="L1173" class="LineNr">1173 </span>    73/jump-if-addr&gt;=  $get-slice-or-stop:<a href='059stop.subx.html#L92'>stop</a>/disp8
 <span id="L1174" class="LineNr">1174 </span>    <span class="subxComment"># if (slice-equal?(key, *curr)) return curr+4</span>
 <span id="L1175" class="LineNr">1175 </span>    <span class="subxS1Comment"># . eax = slice-equal?(key, *curr)</span>
 <span id="L1176" class="LineNr">1176 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1243,7 +1243,7 @@ if ('onhashchange' in window) {
 <span id="L1182" class="LineNr">1182 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1183" class="LineNr">1183 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L1184" class="LineNr">1184 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1185" class="LineNr">1185 </span>    74/jump-if-equal  $get-slice-or-stop:mismatch/disp8
+<span id="L1185" class="LineNr">1185 </span>    74/jump-if-=  $get-slice-or-stop:mismatch/disp8
 <span id="L1186" class="LineNr">1186 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L1187" class="LineNr">1187 </span>    eb/jump  $get-slice-or-stop:end/disp8
 <span id="L1188" class="LineNr">1188 </span><span class="Constant">$get-slice-or-stop:mismatch</span>:
@@ -1467,7 +1467,7 @@ if ('onhashchange' in window) {
 <span id="L1406" class="LineNr">1406 </span><span class="Constant">$maybe-get:search-loop</span>:
 <span id="L1407" class="LineNr">1407 </span>    <span class="subxComment"># if (curr &gt;= max) return null</span>
 <span id="L1408" class="LineNr">1408 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1409" class="LineNr">1409 </span>    73/jump-if-greater-or-equal-unsigned  $maybe-get:null/disp8
+<span id="L1409" class="LineNr">1409 </span>    73/jump-if-addr&gt;=  $maybe-get:null/disp8
 <span id="L1410" class="LineNr">1410 </span>    <span class="subxComment"># if (string-equal?(key, *curr)) return curr+4</span>
 <span id="L1411" class="LineNr">1411 </span>    <span class="subxS1Comment"># . eax = string-equal?(key, *curr)</span>
 <span id="L1412" class="LineNr">1412 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1479,7 +1479,7 @@ if ('onhashchange' in window) {
 <span id="L1418" class="LineNr">1418 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1419" class="LineNr">1419 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L1420" class="LineNr">1420 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1421" class="LineNr">1421 </span>    74/jump-if-equal  $maybe-get:mismatch/disp8
+<span id="L1421" class="LineNr">1421 </span>    74/jump-if-=  $maybe-get:mismatch/disp8
 <span id="L1422" class="LineNr">1422 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L1423" class="LineNr">1423 </span>    eb/jump  $maybe-get:end/disp8
 <span id="L1424" class="LineNr">1424 </span><span class="Constant">$maybe-get:mismatch</span>:
@@ -1614,7 +1614,7 @@ if ('onhashchange' in window) {
 <span id="L1553" class="LineNr">1553 </span><span class="Constant">$maybe-get-slice:search-loop</span>:
 <span id="L1554" class="LineNr">1554 </span>    <span class="subxComment"># if (curr &gt;= max) return null</span>
 <span id="L1555" class="LineNr">1555 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1556" class="LineNr">1556 </span>    73/jump-if-greater-or-equal-unsigned  $maybe-get-slice:null/disp8
+<span id="L1556" class="LineNr">1556 </span>    73/jump-if-addr&gt;=  $maybe-get-slice:null/disp8
 <span id="L1557" class="LineNr">1557 </span>    <span class="subxComment"># if (slice-equal?(key, *curr)) return curr+4</span>
 <span id="L1558" class="LineNr">1558 </span>    <span class="subxS1Comment"># . eax = slice-equal?(key, *curr)</span>
 <span id="L1559" class="LineNr">1559 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1626,7 +1626,7 @@ if ('onhashchange' in window) {
 <span id="L1565" class="LineNr">1565 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1566" class="LineNr">1566 </span>    <span class="subxS1Comment"># . if (eax != false) return eax = curr+4</span>
 <span id="L1567" class="LineNr">1567 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1568" class="LineNr">1568 </span>    74/jump-if-equal  $maybe-get-slice:mismatch/disp8
+<span id="L1568" class="LineNr">1568 </span>    74/jump-if-=  $maybe-get-slice:mismatch/disp8
 <span id="L1569" class="LineNr">1569 </span>    8d/copy-address                 1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy ecx+4 to eax</span>
 <span id="L1570" class="LineNr">1570 </span>    eb/jump  $maybe-get-slice:end/disp8
 <span id="L1571" class="LineNr">1571 </span><span class="Constant">$maybe-get-slice:mismatch</span>:
diff --git a/html/082slurp.subx.html b/html/082slurp.subx.html
index a34f3bde..9491c189 100644
--- a/html/082slurp.subx.html
+++ b/html/082slurp.subx.html
@@ -94,10 +94,10 @@ if ('onhashchange' in window) {
 <span id="L35" class="LineNr"> 35 </span><span class="Constant">$slurp:loop</span>:
 <span id="L36" class="LineNr"> 36 </span>    <span class="subxComment"># if (s-&gt;write &gt;= s-&gt;length) abort</span>
 <span id="L37" class="LineNr"> 37 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare edx with *(edi+8)</span>
-<span id="L38" class="LineNr"> 38 </span>    7d/jump-if-greater-or-equal  $slurp:abort/disp8
+<span id="L38" class="LineNr"> 38 </span>    7d/jump-if-&gt;=  $slurp:abort/disp8
 <span id="L39" class="LineNr"> 39 </span>    <span class="subxComment"># if (f-&gt;read &gt;= f-&gt;write) populate stream from file</span>
 <span id="L40" class="LineNr"> 40 </span>    3b/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(esi+4)</span>
-<span id="L41" class="LineNr"> 41 </span>    7c/jump-if-lesser  $slurp:from-stream/disp8
+<span id="L41" class="LineNr"> 41 </span>    7c/jump-if-&lt;  $slurp:from-stream/disp8
 <span id="L42" class="LineNr"> 42 </span>    <span class="subxS1Comment"># . clear-stream(stream = f+4)</span>
 <span id="L43" class="LineNr"> 43 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L44" class="LineNr"> 44 </span>    8d/copy-address                 1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy esi+4 to eax</span>
@@ -120,7 +120,7 @@ if ('onhashchange' in window) {
 <span id="L61" class="LineNr"> 61 </span>    <span class="subxComment"># since f-&gt;read was initially 0, eax is the same as f-&gt;write</span>
 <span id="L62" class="LineNr"> 62 </span>    <span class="subxS1Comment"># . if (eax == 0) return true</span>
 <span id="L63" class="LineNr"> 63 </span>    3d/compare-eax-and  0/imm32
-<span id="L64" class="LineNr"> 64 </span>    74/jump-if-equal  $slurp:end/disp8
+<span id="L64" class="LineNr"> 64 </span>    74/jump-if-=  $slurp:end/disp8
 <span id="L65" class="LineNr"> 65 </span><span class="Constant">$slurp:from-stream</span>:
 <span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># var c/eax : byte = f-&gt;data[f-&gt;read]</span>
 <span id="L67" class="LineNr"> 67 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
diff --git a/html/083subx-widths.subx.html b/html/083subx-widths.subx.html
index 023510f2..b6341472 100644
--- a/html/083subx-widths.subx.html
+++ b/html/083subx-widths.subx.html
@@ -121,7 +121,7 @@ if ('onhashchange' in window) {
 <span id="L62" class="LineNr"> 62 </span>    <span class="subxS1Comment"># . if (eax != false) return 4</span>
 <span id="L63" class="LineNr"> 63 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L64" class="LineNr"> 64 </span>    b8/copy-to-eax  4/imm32         <span class="subxComment"># ZF is set, so we can overwrite eax now</span>
-<span id="L65" class="LineNr"> 65 </span>    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+<span id="L65" class="LineNr"> 65 </span>    75/jump-if-!=  $compute-width-of-slice:end/disp8
 <span id="L66" class="LineNr"> 66 </span>    <span class="subxComment"># if (has-metadata?(word, &quot;disp32&quot;)) return 4</span>
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxS1Comment"># . eax = has-metadata?(word, &quot;disp32&quot;)</span>
 <span id="L68" class="LineNr"> 68 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -134,7 +134,7 @@ if ('onhashchange' in window) {
 <span id="L75" class="LineNr"> 75 </span>    <span class="subxS1Comment"># . if (eax != false) return 4</span>
 <span id="L76" class="LineNr"> 76 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L77" class="LineNr"> 77 </span>    b8/copy-to-eax  4/imm32         <span class="subxComment"># ZF is set, so we can overwrite eax now</span>
-<span id="L78" class="LineNr"> 78 </span>    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+<span id="L78" class="LineNr"> 78 </span>    75/jump-if-!=  $compute-width-of-slice:end/disp8
 <span id="L79" class="LineNr"> 79 </span>    <span class="subxComment"># if (has-metadata?(word, &quot;imm16&quot;)) return 2</span>
 <span id="L80" class="LineNr"> 80 </span>    <span class="subxS1Comment"># . eax = has-metadata?(word, &quot;imm16&quot;)</span>
 <span id="L81" class="LineNr"> 81 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -147,7 +147,7 @@ if ('onhashchange' in window) {
 <span id="L88" class="LineNr"> 88 </span>    <span class="subxS1Comment"># . if (eax != false) return 2</span>
 <span id="L89" class="LineNr"> 89 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L90" class="LineNr"> 90 </span>    b8/copy-to-eax  2/imm32         <span class="subxComment"># ZF is set, so we can overwrite eax now</span>
-<span id="L91" class="LineNr"> 91 </span>    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+<span id="L91" class="LineNr"> 91 </span>    75/jump-if-!=  $compute-width-of-slice:end/disp8
 <span id="L92" class="LineNr"> 92 </span>    <span class="subxComment"># if (has-metadata?(word, &quot;disp16&quot;)) return 2</span>
 <span id="L93" class="LineNr"> 93 </span>    <span class="subxS1Comment"># . eax = has-metadata?(word, &quot;disp16&quot;)</span>
 <span id="L94" class="LineNr"> 94 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -160,7 +160,7 @@ if ('onhashchange' in window) {
 <span id="L101" class="LineNr">101 </span>    <span class="subxS1Comment"># . if (eax != false) return 2</span>
 <span id="L102" class="LineNr">102 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L103" class="LineNr">103 </span>    b8/copy-to-eax  2/imm32         <span class="subxComment"># ZF is set, so we can overwrite eax now</span>
-<span id="L104" class="LineNr">104 </span>    75/jump-if-not-equal  $compute-width-of-slice:end/disp8
+<span id="L104" class="LineNr">104 </span>    75/jump-if-!=  $compute-width-of-slice:end/disp8
 <span id="L105" class="LineNr">105 </span>    <span class="subxComment"># otherwise return 1</span>
 <span id="L106" class="LineNr">106 </span>    b8/copy-to-eax  1/imm32
 <span id="L107" class="LineNr">107 </span><span class="Constant">$compute-width-of-slice:end</span>:
diff --git a/html/084emit-hex-array.subx.html b/html/084emit-hex-array.subx.html
index ca1b619b..db2762e5 100644
--- a/html/084emit-hex-array.subx.html
+++ b/html/084emit-hex-array.subx.html
@@ -87,7 +87,7 @@ if ('onhashchange' in window) {
 <span id="L27" class="LineNr"> 27 </span><span class="Constant">$emit-hex-array:loop</span>:
 <span id="L28" class="LineNr"> 28 </span>    <span class="subxComment"># if (curr &gt;= width) break</span>
 <span id="L29" class="LineNr"> 29 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L30" class="LineNr"> 30 </span>    73/jump-if-greater-or-equal-unsigned  $emit-hex-array:end/disp8
+<span id="L30" class="LineNr"> 30 </span>    73/jump-if-addr&gt;=  $emit-hex-array:end/disp8
 <span id="L31" class="LineNr"> 31 </span>    <span class="subxComment"># emit-hex(out, c = *curr, width=1)</span>
 <span id="L32" class="LineNr"> 32 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L33" class="LineNr"> 33 </span>    68/push  1/imm32/width
diff --git a/html/085next-word-or-string.subx.html b/html/085next-word-or-string.subx.html
index 640b2745..4671ca51 100644
--- a/html/085next-word-or-string.subx.html
+++ b/html/085next-word-or-string.subx.html
@@ -91,7 +91,7 @@ if ('onhashchange' in window) {
 <span id="L32" class="LineNr"> 32 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
 <span id="L33" class="LineNr"> 33 </span>    <span class="subxS1Comment"># . if (eax &lt; line-&gt;write) goto next check</span>
 <span id="L34" class="LineNr"> 34 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with *esi</span>
-<span id="L35" class="LineNr"> 35 </span>    7c/jump-if-lesser  $next-word-or-string:check-for-comment/disp8
+<span id="L35" class="LineNr"> 35 </span>    7c/jump-if-&lt;  $next-word-or-string:check-for-comment/disp8
 <span id="L36" class="LineNr"> 36 </span>    <span class="subxS1Comment"># . return out</span>
 <span id="L37" class="LineNr"> 37 </span>    c7          0/subop/copy        0/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># copy to *edi</span>
 <span id="L38" class="LineNr"> 38 </span>    c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># copy to *(edi+4)</span>
@@ -107,7 +107,7 @@ if ('onhashchange' in window) {
 <span id="L48" class="LineNr"> 48 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L49" class="LineNr"> 49 </span>    <span class="subxS1Comment"># . compare</span>
 <span id="L50" class="LineNr"> 50 </span>    3d/compare-eax-and  0x23/imm32/pound
-<span id="L51" class="LineNr"> 51 </span>    75/jump-if-not-equal  $next-word-or-string:check-for-string-literal/disp8
+<span id="L51" class="LineNr"> 51 </span>    75/jump-if-!=  $next-word-or-string:check-for-string-literal/disp8
 <span id="L52" class="LineNr"> 52 </span><span class="Constant">$next-word-or-string:comment</span>:
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
 <span id="L54" class="LineNr"> 54 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to eax</span>
@@ -125,7 +125,7 @@ if ('onhashchange' in window) {
 <span id="L66" class="LineNr"> 66 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxS1Comment"># . compare</span>
 <span id="L68" class="LineNr"> 68 </span>    3d/compare-eax-and  0x22/imm32/dquote
-<span id="L69" class="LineNr"> 69 </span>    75/jump-if-not-equal  $next-word-or-string:regular-word/disp8
+<span id="L69" class="LineNr"> 69 </span>    75/jump-if-!=  $next-word-or-string:regular-word/disp8
 <span id="L70" class="LineNr"> 70 </span><span class="Constant">$next-word-or-string:string-literal</span>:
 <span id="L71" class="LineNr"> 71 </span>    <span class="subxComment"># skip-string(line)</span>
 <span id="L72" class="LineNr"> 72 </span>    <span class="subxS2Comment"># . . push args</span>
diff --git a/html/091write-int.subx.html b/html/091write-int.subx.html
index d69537e4..16538350 100644
--- a/html/091write-int.subx.html
+++ b/html/091write-int.subx.html
@@ -79,7 +79,7 @@ if ('onhashchange' in window) {
 <span id="L19" class="LineNr"> 19 </span>    8b/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edi to ecx</span>
 <span id="L20" class="LineNr"> 20 </span>    <span class="subxComment"># if (out-&gt;write &gt;= out-&gt;length) abort</span>
 <span id="L21" class="LineNr"> 21 </span>    3b/compare                      1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *(edi+8)</span>
-<span id="L22" class="LineNr"> 22 </span>    7d/jump-if-greater-or-equal  $write-int:abort/disp8
+<span id="L22" class="LineNr"> 22 </span>    7d/jump-if-&gt;=  $write-int:abort/disp8
 <span id="L23" class="LineNr"> 23 </span><span class="Constant">$write-int:to-stream</span>:
 <span id="L24" class="LineNr"> 24 </span>    <span class="subxComment"># out-&gt;data[out-&gt;write] = n</span>
 <span id="L25" class="LineNr"> 25 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
diff --git a/html/092stack.subx.html b/html/092stack.subx.html
index 1b0e6fe7..8427a1f8 100644
--- a/html/092stack.subx.html
+++ b/html/092stack.subx.html
@@ -86,7 +86,7 @@ if ('onhashchange' in window) {
 <span id="L26" class="LineNr"> 26 </span><span class="Constant">$clear-stack:loop</span>:
 <span id="L27" class="LineNr"> 27 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L28" class="LineNr"> 28 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L29" class="LineNr"> 29 </span>    73/jump-if-greater-or-equal-unsigned  $clear-stack:end/disp8
+<span id="L29" class="LineNr"> 29 </span>    73/jump-if-addr&gt;=  $clear-stack:end/disp8
 <span id="L30" class="LineNr"> 30 </span>    <span class="subxComment"># *curr = 0</span>
 <span id="L31" class="LineNr"> 31 </span>    c6          0/subop/copy        0/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm8            <span class="subxComment"># copy byte to *eax</span>
 <span id="L32" class="LineNr"> 32 </span>    <span class="subxComment"># ++curr</span>
@@ -181,7 +181,7 @@ if ('onhashchange' in window) {
 <span id="L121" class="LineNr">121 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to ecx</span>
 <span id="L122" class="LineNr">122 </span>    <span class="subxComment"># if (s-&gt;top &gt;= s-&gt;length) abort</span>
 <span id="L123" class="LineNr">123 </span>    39/compare                      1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare *(esi+4) and ecx</span>
-<span id="L124" class="LineNr">124 </span>    7e/jump-if-lesser-or-equal  $push:abort/disp8
+<span id="L124" class="LineNr">124 </span>    7e/jump-if-&lt;=  $push:abort/disp8
 <span id="L125" class="LineNr">125 </span>    <span class="subxComment"># s-&gt;data[s-&gt;top] = n</span>
 <span id="L126" class="LineNr">126 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to eax</span>
 <span id="L127" class="LineNr">127 </span>    89/copy                         1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *(esi+ecx+8)</span>
@@ -298,7 +298,7 @@ if ('onhashchange' in window) {
 <span id="L238" class="LineNr">238 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to esi</span>
 <span id="L239" class="LineNr">239 </span>    <span class="subxComment"># if (s-&gt;top &lt;= 0) abort</span>
 <span id="L240" class="LineNr">240 </span>    81          7/subop/compare     0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *esi</span>
-<span id="L241" class="LineNr">241 </span>    7e/jump-if-lesser-or-equal  $pop:abort/disp8
+<span id="L241" class="LineNr">241 </span>    7e/jump-if-&lt;=  $pop:abort/disp8
 <span id="L242" class="LineNr">242 </span>    <span class="subxComment"># s-&gt;top -= 4</span>
 <span id="L243" class="LineNr">243 </span>    81          5/subop/subtract    0/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># subtract from *esi</span>
 <span id="L244" class="LineNr">244 </span>    <span class="subxComment"># eax = s-&gt;data[s-&gt;top]</span>
@@ -402,7 +402,7 @@ if ('onhashchange' in window) {
 <span id="L342" class="LineNr">342 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to esi</span>
 <span id="L343" class="LineNr">343 </span>    <span class="subxComment"># if (s-&gt;top &lt;= 0) abort</span>
 <span id="L344" class="LineNr">344 </span>    81          7/subop/compare     0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *esi</span>
-<span id="L345" class="LineNr">345 </span>    7e/jump-if-lesser-or-equal  $top:abort/disp8
+<span id="L345" class="LineNr">345 </span>    7e/jump-if-&lt;=  $top:abort/disp8
 <span id="L346" class="LineNr">346 </span>    <span class="subxComment"># n = s-&gt;data[s-&gt;top - 4]</span>
 <span id="L347" class="LineNr">347 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to ecx</span>
 <span id="L348" class="LineNr">348 </span>    81          5/subop/subtract    3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># subtract from ecx</span>
diff --git a/html/100array-equal.subx.html b/html/100array-equal.subx.html
index 89c48e6b..ab7a0357 100644
--- a/html/100array-equal.subx.html
+++ b/html/100array-equal.subx.html
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L42" class="LineNr"> 42 </span><span class="Constant">$array-equal?:lengths</span>:
 <span id="L43" class="LineNr"> 43 </span>    <span class="subxComment"># if (lena != b-&gt;length) return false</span>
 <span id="L44" class="LineNr"> 44 </span>    39/compare *edi 2/r32/edx
-<span id="L45" class="LineNr"> 45 </span>    75/jump-if-not-equal $array-equal?:false/disp8
+<span id="L45" class="LineNr"> 45 </span>    75/jump-if-!= $array-equal?:false/disp8
 <span id="L46" class="LineNr"> 46 </span>    <span class="subxComment"># var curra/esi : (addr byte) = a-&gt;data</span>
 <span id="L47" class="LineNr"> 47 </span>    81 0/subop/add %esi 4/imm32
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxComment"># var currb/edi : (addr byte) = b-&gt;data</span>
@@ -114,14 +114,14 @@ if ('onhashchange' in window) {
 <span id="L54" class="LineNr"> 54 </span><span class="Constant">$array-equal?:loop</span>:
 <span id="L55" class="LineNr"> 55 </span>    <span class="subxComment"># if (i &gt;= lena) return true</span>
 <span id="L56" class="LineNr"> 56 </span>    39/compare %ecx 2/r32/edx
-<span id="L57" class="LineNr"> 57 </span>    7d/jump-if-greater-or-equal $array-equal?:true/disp8
+<span id="L57" class="LineNr"> 57 </span>    7d/jump-if-&gt;= $array-equal?:true/disp8
 <span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># var vala/eax : int = *curra</span>
 <span id="L59" class="LineNr"> 59 </span>    8b/-&gt; *esi 0/r32/eax
 <span id="L60" class="LineNr"> 60 </span>    <span class="subxComment"># var valb/ebx : int = *currb</span>
 <span id="L61" class="LineNr"> 61 </span>    8b/-&gt; *edi 3/r32/ebx
 <span id="L62" class="LineNr"> 62 </span>    <span class="subxComment"># if (vala != valb) return false</span>
 <span id="L63" class="LineNr"> 63 </span>    39/compare %eax 3/r32/ebx
-<span id="L64" class="LineNr"> 64 </span>    75/jump-if-not-equal $array-equal?:false/disp8
+<span id="L64" class="LineNr"> 64 </span>    75/jump-if-!= $array-equal?:false/disp8
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># i += 4</span>
 <span id="L66" class="LineNr"> 66 </span>    81 0/subop/add %ecx 4/imm32
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxComment"># currs += 4</span>
@@ -335,7 +335,7 @@ if ('onhashchange' in window) {
 <span id="L275" class="LineNr">275 </span><span class="Constant">$parse-array-of-ints:loop1</span>:
 <span id="L276" class="LineNr">276 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L277" class="LineNr">277 </span>    39/compare %ecx 2/r32/edx
-<span id="L278" class="LineNr">278 </span>    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:break1/disp8
+<span id="L278" class="LineNr">278 </span>    73/jump-if-addr&gt;= $parse-array-of-ints:break1/disp8
 <span id="L279" class="LineNr">279 </span>    <span class="subxComment"># curr = skip-chars-matching-in-slice(curr, end, ' ')</span>
 <span id="L280" class="LineNr">280 </span>    <span class="subxS1Comment"># . eax = skip-chars-matching-in-slice(curr, end, ' ')</span>
 <span id="L281" class="LineNr">281 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -350,7 +350,7 @@ if ('onhashchange' in window) {
 <span id="L290" class="LineNr">290 </span>    89/&lt;- %ecx 0/r32/eax
 <span id="L291" class="LineNr">291 </span>    <span class="subxComment"># if (curr &gt;= end) break</span>
 <span id="L292" class="LineNr">292 </span>    39/compare %ecx 2/r32/edx
-<span id="L293" class="LineNr">293 </span>    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:break1/disp8
+<span id="L293" class="LineNr">293 </span>    73/jump-if-addr&gt;= $parse-array-of-ints:break1/disp8
 <span id="L294" class="LineNr">294 </span>    <span class="subxComment"># curr = skip-chars-not-matching-in-slice(curr, end, ' ')</span>
 <span id="L295" class="LineNr">295 </span>    <span class="subxS1Comment"># . eax = skip-chars-not-matching-in-slice(curr, end, ' ')</span>
 <span id="L296" class="LineNr">296 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -393,7 +393,7 @@ if ('onhashchange' in window) {
 <span id="L333" class="LineNr">333 </span><span class="Constant">$parse-array-of-ints:loop2</span>:
 <span id="L334" class="LineNr">334 </span>    <span class="subxComment"># if (slice-&gt;start &gt;= end) break</span>
 <span id="L335" class="LineNr">335 </span>    39/compare *ecx 2/r32/edx
-<span id="L336" class="LineNr">336 </span>    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:end/disp8
+<span id="L336" class="LineNr">336 </span>    73/jump-if-addr&gt;= $parse-array-of-ints:end/disp8
 <span id="L337" class="LineNr">337 </span>    <span class="subxComment"># slice-&gt;start = skip-chars-matching-in-slice(slice-&gt;start, end, ' ')</span>
 <span id="L338" class="LineNr">338 </span>    <span class="subxS1Comment"># . eax = skip-chars-matching-in-slice(slice-&gt;start, end, ' ')</span>
 <span id="L339" class="LineNr">339 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -408,7 +408,7 @@ if ('onhashchange' in window) {
 <span id="L348" class="LineNr">348 </span>    89/&lt;- *ecx 0/r32/eax
 <span id="L349" class="LineNr">349 </span>    <span class="subxComment"># if (slice-&gt;start &gt;= end) break</span>
 <span id="L350" class="LineNr">350 </span>    39/compare *ecx 2/r32/edx
-<span id="L351" class="LineNr">351 </span>    73/jump-if-greater-or-equal-unsigned $parse-array-of-ints:end/disp8
+<span id="L351" class="LineNr">351 </span>    73/jump-if-addr&gt;= $parse-array-of-ints:end/disp8
 <span id="L352" class="LineNr">352 </span>    <span class="subxComment"># slice-&gt;end = skip-chars-not-matching-in-slice(slice-&gt;start, end, ' ')</span>
 <span id="L353" class="LineNr">353 </span>    <span class="subxS1Comment"># . eax = skip-chars-not-matching-in-slice(curr, end, ' ')</span>
 <span id="L354" class="LineNr">354 </span>    <span class="subxS2Comment"># . . push args</span>
diff --git a/html/apps/assort.subx.html b/html/apps/assort.subx.html
index 127ccce8..a7452e6b 100644
--- a/html/apps/assort.subx.html
+++ b/html/apps/assort.subx.html
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L40" class="LineNr"> 40 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L41" class="LineNr"> 41 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L42" class="LineNr"> 42 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L43" class="LineNr"> 43 </span>    7e/jump-if-lesser-or-equal  $subx-assort-main:interactive/disp8
+<span id="L43" class="LineNr"> 43 </span>    7e/jump-if-&lt;=  $subx-assort-main:interactive/disp8
 <span id="L44" class="LineNr"> 44 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L45" class="LineNr"> 45 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L46" class="LineNr"> 46 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -114,7 +114,7 @@ if ('onhashchange' in window) {
 <span id="L52" class="LineNr"> 52 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L54" class="LineNr"> 54 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L55" class="LineNr"> 55 </span>    74/jump-if-equal  $subx-assort-main:interactive/disp8
+<span id="L55" class="LineNr"> 55 </span>    74/jump-if-=  $subx-assort-main:interactive/disp8
 <span id="L56" class="LineNr"> 56 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L57" class="LineNr"> 57 </span>    e8/call  run-tests/disp32
 <span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -539,7 +539,7 @@ if ('onhashchange' in window) {
 <span id="L525" class="LineNr">525 </span><span class="Constant">$read-segments:check0</span>:
 <span id="L526" class="LineNr">526 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L527" class="LineNr">527 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L528" class="LineNr">528 </span>    0f 84/jump-if-equal  $read-segments:<span class="Constant">break</span>/disp32
+<span id="L528" class="LineNr">528 </span>    0f 84/jump-if-=  $read-segments:<span class="Constant">break</span>/disp32
 <span id="L529" class="Folded">529 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L562" class="LineNr">562 </span>    <span class="subxComment"># next-word-or-string(line, word-slice)</span>
 <span id="L563" class="LineNr">563 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -561,7 +561,7 @@ if ('onhashchange' in window) {
 <span id="L587" class="LineNr">587 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L588" class="LineNr">588 </span>    <span class="subxS1Comment"># . if (eax != false) continue</span>
 <span id="L589" class="LineNr">589 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L590" class="LineNr">590 </span>    0f 85/jump-if-not-equal  $read-segments:<span class="Constant">loop</span>/disp32
+<span id="L590" class="LineNr">590 </span>    0f 85/jump-if-!=  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L591" class="LineNr">591 </span><span class="Constant">$read-segments:check-for-comment</span>:
 <span id="L592" class="Folded">592 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for comment\n&quot;) ----------------------------------------------------------------------------------------------------------</span>
 <span id="L601" class="LineNr">601 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) continue</span>
@@ -572,7 +572,7 @@ if ('onhashchange' in window) {
 <span id="L606" class="LineNr">606 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L607" class="LineNr">607 </span>    <span class="subxS1Comment"># . if (c == '#') continue</span>
 <span id="L608" class="LineNr">608 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L609" class="LineNr">609 </span>    0f 84/jump-if-equal  $read-segments:<span class="Constant">loop</span>/disp32
+<span id="L609" class="LineNr">609 </span>    0f 84/jump-if-=  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L610" class="LineNr">610 </span><span class="Constant">$read-segments:check-for-segment-header</span>:
 <span id="L611" class="Folded">611 </span><span class="Folded">+--  9 lines: #?     # print(&quot;check for segment header\n&quot;) ---------------------------------------------------------------------------------------------------</span>
 <span id="L620" class="Folded">620 </span><span class="Folded">+-- 40 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
@@ -587,7 +587,7 @@ if ('onhashchange' in window) {
 <span id="L668" class="LineNr">668 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L669" class="LineNr">669 </span>    <span class="subxS1Comment"># . if (eax == false) goto check3</span>
 <span id="L670" class="LineNr">670 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L671" class="LineNr">671 </span>    0f 84/jump-if-equal  $read-segments:regular-line/disp32
+<span id="L671" class="LineNr">671 </span>    0f 84/jump-if-=  $read-segments:regular-line/disp32
 <span id="L672" class="LineNr">672 </span>    <span class="subxComment"># segment-name = next-word-or-string(line)</span>
 <span id="L673" class="LineNr">673 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L674" class="LineNr">674 </span>    52/push-edx
@@ -610,7 +610,7 @@ if ('onhashchange' in window) {
 <span id="L730" class="LineNr">730 </span>    8b/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *eax to ebx</span>
 <span id="L731" class="LineNr">731 </span>    <span class="subxComment"># if (curr-segment != 0) continue</span>
 <span id="L732" class="LineNr">732 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ebx</span>
-<span id="L733" class="LineNr">733 </span>    0f 85/jump-if-not-equal  $read-segments:<span class="Constant">loop</span>/disp32
+<span id="L733" class="LineNr">733 </span>    0f 85/jump-if-!=  $read-segments:<span class="Constant">loop</span>/disp32
 <span id="L734" class="LineNr">734 </span>    <span class="subxComment"># curr-segment = new-stream(Heap, Segment-size, 1)</span>
 <span id="L735" class="LineNr">735 </span>    <span class="subxS1Comment"># . save segment-slot</span>
 <span id="L736" class="LineNr">736 </span>    50/push-eax
@@ -695,7 +695,7 @@ if ('onhashchange' in window) {
 <span id="L871" class="LineNr">871 </span><span class="Constant">$write-segments:loop</span>:
 <span id="L872" class="LineNr">872 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L873" class="LineNr">873 </span>    39/compare                      3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare esi with edx</span>
-<span id="L874" class="LineNr">874 </span>    73/jump-if-greater-or-equal-unsigned  $write-segments:<span class="Constant">break</span>/disp8
+<span id="L874" class="LineNr">874 </span>    73/jump-if-addr&gt;=  $write-segments:<span class="Constant">break</span>/disp8
 <span id="L875" class="LineNr">875 </span>    <span class="subxComment"># var stream/eax : (addr stream byte) = table[i].stream</span>
 <span id="L876" class="LineNr">876 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to eax</span>
 <span id="L877" class="LineNr">877 </span>    <span class="subxComment"># write-stream-data(out, stream)</span>
diff --git a/html/apps/braces.subx.html b/html/apps/braces.subx.html
index 038eb673..47428966 100644
--- a/html/apps/braces.subx.html
+++ b/html/apps/braces.subx.html
@@ -116,11 +116,11 @@ if ('onhashchange' in window) {
 <span id="L57" class="LineNr"> 57 </span>    (<a href='../053new-segment.subx.html#L41'>new-segment</a> *<span class="SpecialChar"><a href='../069allocate.subx.html#L29'>Heap-size</a></span> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span>)
 <span id="L58" class="LineNr"> 58 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L59" class="LineNr"> 59 </span>    81 7/subop/compare *ebp 1/imm32
-<span id="L60" class="LineNr"> 60 </span>    7e/jump-if-lesser-or-equal $subx-braces-main:interactive/disp8
+<span id="L60" class="LineNr"> 60 </span>    7e/jump-if-&lt;= $subx-braces-main:interactive/disp8
 <span id="L61" class="LineNr"> 61 </span>    <span class="subxComment"># if (argv[1] != &quot;test&quot;)) goto interactive</span>
 <span id="L62" class="LineNr"> 62 </span>    (<a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L63" class="LineNr"> 63 </span>    3d/compare-eax-and 0/imm32
-<span id="L64" class="LineNr"> 64 </span>    74/jump-if-equal $subx-braces-main:interactive/disp8
+<span id="L64" class="LineNr"> 64 </span>    74/jump-if-= $subx-braces-main:interactive/disp8
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment">#</span>
 <span id="L66" class="LineNr"> 66 </span>    (run-tests)
 <span id="L67" class="LineNr"> 67 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -205,7 +205,7 @@ if ('onhashchange' in window) {
 <span id="L146" class="LineNr">146 </span><span class="Constant">$subx-braces:check0</span>:
 <span id="L147" class="LineNr">147 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L148" class="LineNr">148 </span>    81 7/subop/compare *ecx 0/imm32
-<span id="L149" class="LineNr">149 </span>    0f 84/jump-if-equal  $subx-braces:<span class="Constant">break</span>/disp32
+<span id="L149" class="LineNr">149 </span>    0f 84/jump-if-=  $subx-braces:<span class="Constant">break</span>/disp32
 <span id="L150" class="LineNr">150 </span>    (<a href='../073next-token.subx.html#L464'>skip-chars-matching-whitespace</a> %ecx)
 <span id="L151" class="LineNr">151 </span><span class="Constant">$subx-braces:check-for-curly-open</span>:
 <span id="L152" class="LineNr">152 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '{') goto next check</span>
@@ -215,7 +215,7 @@ if ('onhashchange' in window) {
 <span id="L156" class="LineNr">156 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L157" class="LineNr">157 </span>    <span class="subxS1Comment"># . if (eax != '{') continue</span>
 <span id="L158" class="LineNr">158 </span>    3d/compare-eax-and 0x7b/imm32/open-curly
-<span id="L159" class="LineNr">159 </span>    0f 85/jump-if-not-equal $subx-braces:check-for-curly-closed/disp32
+<span id="L159" class="LineNr">159 </span>    0f 85/jump-if-!= $subx-braces:check-for-curly-closed/disp32
 <span id="L160" class="LineNr">160 </span><span class="Constant">$subx-braces:emit-curly-open</span>:
 <span id="L161" class="LineNr">161 </span>    <span class="subxComment"># print(out, &quot;_loop&quot; next-label-id &quot;:&quot;)</span>
 <span id="L162" class="LineNr">162 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+0xc) <span class="Constant">&quot;_loop&quot;</span>)
@@ -230,7 +230,7 @@ if ('onhashchange' in window) {
 <span id="L171" class="LineNr">171 </span><span class="Constant">$subx-braces:check-for-curly-closed</span>:
 <span id="L172" class="LineNr">172 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '}') goto next check</span>
 <span id="L173" class="LineNr">173 </span>    3d/compare-eax-and 0x7d/imm32/close-curly
-<span id="L174" class="LineNr">174 </span>    0f 85/jump-if-equal $subx-braces:word-loop/disp32
+<span id="L174" class="LineNr">174 </span>    0f 85/jump-if-= $subx-braces:word-loop/disp32
 <span id="L175" class="LineNr">175 </span><span class="Constant">$subx-braces:emit-curly-closed</span>:
 <span id="L176" class="LineNr">176 </span>    <span class="subxComment"># eax = pop(label-stack)</span>
 <span id="L177" class="LineNr">177 </span>    (<a href='../092stack.subx.html#L230'>pop</a> %edx)
@@ -246,7 +246,7 @@ if ('onhashchange' in window) {
 <span id="L187" class="LineNr">187 </span>    <span class="subxComment"># if (slice-empty?(word-slice)) break</span>
 <span id="L188" class="LineNr">188 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> %edi)
 <span id="L189" class="LineNr">189 </span>    3d/compare-eax-and 0/imm32
-<span id="L190" class="LineNr">190 </span>    0f 85/jump-if-not-equal $subx-braces:next-line/disp32
+<span id="L190" class="LineNr">190 </span>    0f 85/jump-if-!= $subx-braces:next-line/disp32
 <span id="L191" class="LineNr">191 </span><span class="Constant">$subx-braces:check-for-comment</span>:
 <span id="L192" class="LineNr">192 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) continue</span>
 <span id="L193" class="LineNr">193 </span>    <span class="subxS1Comment"># . eax = *word-slice-&gt;start</span>
@@ -255,14 +255,14 @@ if ('onhashchange' in window) {
 <span id="L196" class="LineNr">196 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L197" class="LineNr">197 </span>    <span class="subxS1Comment"># . if (eax == '#') continue</span>
 <span id="L198" class="LineNr">198 </span>    3d/compare-eax-and 0x23/imm32/hash
-<span id="L199" class="LineNr">199 </span>    74/jump-if-equal $subx-braces:word-loop/disp8
+<span id="L199" class="LineNr">199 </span>    74/jump-if-= $subx-braces:word-loop/disp8
 <span id="L200" class="LineNr">200 </span><span class="Constant">$subx-braces:check-for-break</span>:
 <span id="L201" class="LineNr">201 </span>    <span class="subxComment"># if (!slice-starts-with?(word-slice, &quot;break/&quot;)) goto next check</span>
 <span id="L202" class="LineNr">202 </span>    <span class="subxS1Comment"># . eax = slice-starts-with?(word-slice, &quot;break/&quot;)</span>
 <span id="L203" class="LineNr">203 </span>    (<a href='../072slice.subx.html#L458'>slice-starts-with?</a> %edi <span class="Constant">&quot;break/&quot;</span>)
 <span id="L204" class="LineNr">204 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L205" class="LineNr">205 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L206" class="LineNr">206 </span>    74/jump-if-equal $subx-braces:check-for-loop/disp8
+<span id="L206" class="LineNr">206 </span>    74/jump-if-= $subx-braces:check-for-loop/disp8
 <span id="L207" class="LineNr">207 </span><span class="Constant">$subx-braces:emit-break</span>:
 <span id="L208" class="LineNr">208 </span>    (<a href='../092stack.subx.html#L334'>top</a> %edx)
 <span id="L209" class="LineNr">209 </span>    <span class="subxComment"># print(out, &quot;_break&quot; eax)</span>
@@ -278,7 +278,7 @@ if ('onhashchange' in window) {
 <span id="L219" class="LineNr">219 </span>    (<a href='../072slice.subx.html#L458'>slice-starts-with?</a> %edi <span class="Constant">&quot;loop/&quot;</span>)
 <span id="L220" class="LineNr">220 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L221" class="LineNr">221 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L222" class="LineNr">222 </span>    74/jump-if-equal $subx-braces:emit-word-slice/disp8
+<span id="L222" class="LineNr">222 </span>    74/jump-if-= $subx-braces:emit-word-slice/disp8
 <span id="L223" class="LineNr">223 </span><span class="Constant">$subx-braces:emit-loop</span>:
 <span id="L224" class="LineNr">224 </span>    (<a href='../092stack.subx.html#L334'>top</a> %edx)
 <span id="L225" class="LineNr">225 </span>    <span class="subxComment"># print(out, &quot;_loop&quot; eax)</span>
diff --git a/html/apps/calls.subx.html b/html/apps/calls.subx.html
index 2513b344..0f1f352d 100644
--- a/html/apps/calls.subx.html
+++ b/html/apps/calls.subx.html
@@ -102,7 +102,7 @@ if ('onhashchange' in window) {
 <span id="L41" class="LineNr">  41 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L42" class="LineNr">  42 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L43" class="LineNr">  43 </span>    81 7/subop/compare *ebp 1/imm32
-<span id="L44" class="LineNr">  44 </span>    7e/jump-if-lesser-or-equal $subx-calls-main:interactive/disp8
+<span id="L44" class="LineNr">  44 </span>    7e/jump-if-&lt;= $subx-calls-main:interactive/disp8
 <span id="L45" class="LineNr">  45 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L46" class="LineNr">  46 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L47" class="LineNr">  47 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -114,7 +114,7 @@ if ('onhashchange' in window) {
 <span id="L53" class="LineNr">  53 </span>    81 0/subop/add %esp 8/imm32
 <span id="L54" class="LineNr">  54 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L55" class="LineNr">  55 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L56" class="LineNr">  56 </span>    74/jump-if-equal $subx-calls-main:interactive/disp8
+<span id="L56" class="LineNr">  56 </span>    74/jump-if-= $subx-calls-main:interactive/disp8
 <span id="L57" class="LineNr">  57 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L58" class="LineNr">  58 </span>    e8/call run-tests/disp32
 <span id="L59" class="LineNr">  59 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -197,7 +197,7 @@ if ('onhashchange' in window) {
 <span id="L136" class="LineNr"> 136 </span><span class="Constant">$subx-calls:check0</span>:
 <span id="L137" class="LineNr"> 137 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L138" class="LineNr"> 138 </span>    81 7/subop/compare *esi 0/imm32
-<span id="L139" class="LineNr"> 139 </span>    0f 84/jump-if-equal $subx-calls:<span class="Constant">break</span>/disp32
+<span id="L139" class="LineNr"> 139 </span>    0f 84/jump-if-= $subx-calls:<span class="Constant">break</span>/disp32
 <span id="L140" class="LineNr"> 140 </span>    <span class="subxComment"># skip-chars-matching-whitespace(line)</span>
 <span id="L141" class="LineNr"> 141 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L142" class="LineNr"> 142 </span>    56/push-esi
@@ -213,7 +213,7 @@ if ('onhashchange' in window) {
 <span id="L152" class="LineNr"> 152 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L153" class="LineNr"> 153 </span>    <span class="subxS1Comment"># . if (eax == '(') goto convert-call</span>
 <span id="L154" class="LineNr"> 154 </span>    3d/compare-eax-and 0x28/imm32/open-paren
-<span id="L155" class="LineNr"> 155 </span>    74/jump-if-equal $subx-calls:convert-call/disp8
+<span id="L155" class="LineNr"> 155 </span>    74/jump-if-= $subx-calls:convert-call/disp8
 <span id="L156" class="LineNr"> 156 </span><span class="Constant">$subx-calls:pass-through</span>:
 <span id="L157" class="LineNr"> 157 </span>    <span class="subxComment"># write-stream-data(out, line)</span>
 <span id="L158" class="LineNr"> 158 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -331,7 +331,7 @@ if ('onhashchange' in window) {
 <span id="L270" class="LineNr"> 270 </span>    81 0/subop/add %esp 4/imm32
 <span id="L271" class="LineNr"> 271 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L272" class="LineNr"> 272 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L273" class="LineNr"> 273 </span>    0f 85/jump-if-not-equal $parse-line:end/disp32
+<span id="L273" class="LineNr"> 273 </span>    0f 85/jump-if-!= $parse-line:end/disp32
 <span id="L274" class="Folded"> 274 </span><span class="Folded">+-- 40 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L314" class="LineNr"> 314 </span><span class="Constant">$parse-line:write-word</span>:
 <span id="L315" class="LineNr"> 315 </span>    <span class="subxComment"># write-int(words, word-slice-&gt;start)</span>
@@ -402,7 +402,7 @@ if ('onhashchange' in window) {
 <span id="L380" class="LineNr"> 380 </span>    <span class="subxS1Comment"># . ecx = words-&gt;write - 8</span>
 <span id="L381" class="LineNr"> 381 </span>    8b/-&gt; *esi 1/r32/ecx
 <span id="L382" class="LineNr"> 382 </span>    81 5/subop/subtract %ecx 8/imm32
-<span id="L383" class="LineNr"> 383 </span>    0f 8c/jump-if-lesser $emit-call:error1/disp32
+<span id="L383" class="LineNr"> 383 </span>    0f 8c/jump-if-&lt; $emit-call:error1/disp32
 <span id="L384" class="LineNr"> 384 </span>    <span class="subxComment"># var curr/ecx : (addr slice) = &amp;words-&gt;data[words-&gt;write-8]</span>
 <span id="L385" class="LineNr"> 385 </span>    8d/copy-address *(esi+ecx+0xc) 1/r32/ecx
 <span id="L386" class="LineNr"> 386 </span>    <span class="subxComment"># var min/edx : (addr byte) = words-&gt;data</span>
@@ -411,7 +411,7 @@ if ('onhashchange' in window) {
 <span id="L389" class="LineNr"> 389 </span><span class="Constant">$emit-call:push-loop</span>:
 <span id="L390" class="LineNr"> 390 </span>    <span class="subxComment"># if (curr &lt;= min) break</span>
 <span id="L391" class="LineNr"> 391 </span>    39/compare %ecx 2/r32/edx
-<span id="L392" class="LineNr"> 392 </span>    0f 8e/jump-if-lesser-or-equal $emit-call:call-instruction/disp32
+<span id="L392" class="LineNr"> 392 </span>    0f 8e/jump-if-&lt;= $emit-call:call-instruction/disp32
 <span id="L393" class="LineNr"> 393 </span>    <span class="subxComment"># if (*curr-&gt;start in '%' '*') goto push-rm32</span>
 <span id="L394" class="LineNr"> 394 </span>    <span class="subxS1Comment"># . var start/eax : (addr byte) = curr-&gt;start</span>
 <span id="L395" class="LineNr"> 395 </span>    8b/-&gt; *ecx 0/r32/eax
@@ -420,10 +420,10 @@ if ('onhashchange' in window) {
 <span id="L398" class="LineNr"> 398 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L399" class="LineNr"> 399 </span>    <span class="subxS1Comment"># . if (c == '%') goto push-rm32</span>
 <span id="L400" class="LineNr"> 400 </span>    3d/compare-eax-and 0x25/imm32/percent
-<span id="L401" class="LineNr"> 401 </span>    74/jump-if-equal $emit-call:push-rm32/disp8
+<span id="L401" class="LineNr"> 401 </span>    74/jump-if-= $emit-call:push-rm32/disp8
 <span id="L402" class="LineNr"> 402 </span>    <span class="subxS1Comment"># . if (c == '*') goto push-rm32</span>
 <span id="L403" class="LineNr"> 403 </span>    3d/compare-eax-and 0x2a/imm32/asterisk
-<span id="L404" class="LineNr"> 404 </span>    74/jump-if-equal $emit-call:push-rm32/disp8
+<span id="L404" class="LineNr"> 404 </span>    74/jump-if-= $emit-call:push-rm32/disp8
 <span id="L405" class="LineNr"> 405 </span><span class="Constant">$emit-call:push-imm32</span>:
 <span id="L406" class="LineNr"> 406 </span>    <span class="subxComment"># write-buffered(out, &quot;68/push &quot;)</span>
 <span id="L407" class="LineNr"> 407 </span>    68/push <span class="Constant">&quot;68/push &quot;</span>/imm32
@@ -814,7 +814,7 @@ if ('onhashchange' in window) {
 <span id="L824" class="LineNr"> 824 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L825" class="LineNr"> 825 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return out = {0, 0}</span>
 <span id="L826" class="LineNr"> 826 </span>    3b/compare 1/r32/ecx *esi
-<span id="L827" class="LineNr"> 827 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L827" class="LineNr"> 827 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L828" class="LineNr"> 828 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-comment</span>:
 <span id="L829" class="LineNr"> 829 </span>    <span class="subxComment"># out-&gt;start = &amp;line-&gt;data[line-&gt;read]</span>
 <span id="L830" class="LineNr"> 830 </span>    8d/copy-address *(esi+ecx+0xc) 0/r32/eax
@@ -825,7 +825,7 @@ if ('onhashchange' in window) {
 <span id="L835" class="LineNr"> 835 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L836" class="LineNr"> 836 </span>    <span class="subxS1Comment"># . if (eax != '#') goto next check</span>
 <span id="L837" class="LineNr"> 837 </span>    3d/compare-eax-and 0x23/imm32/pound
-<span id="L838" class="LineNr"> 838 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
+<span id="L838" class="LineNr"> 838 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-string-literal/disp8
 <span id="L839" class="LineNr"> 839 </span><span class="Constant">$next-word-string-or-expression-without-metadata:comment</span>:
 <span id="L840" class="LineNr"> 840 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
 <span id="L841" class="LineNr"> 841 </span>    8b/-&gt; *esi 0/r32/eax
@@ -839,7 +839,7 @@ if ('onhashchange' in window) {
 <span id="L849" class="LineNr"> 849 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-string-literal</span>:
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '&quot;') goto next check</span>
 <span id="L851" class="LineNr"> 851 </span>    3d/compare-eax-and 0x22/imm32/dquote
-<span id="L852" class="LineNr"> 852 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-expression/disp8
+<span id="L852" class="LineNr"> 852 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-expression/disp8
 <span id="L853" class="LineNr"> 853 </span><span class="Constant">$next-word-string-or-expression-without-metadata:string-literal</span>:
 <span id="L854" class="LineNr"> 854 </span>    <span class="subxComment"># skip-string(line)</span>
 <span id="L855" class="LineNr"> 855 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -857,14 +857,14 @@ if ('onhashchange' in window) {
 <span id="L867" class="LineNr"> 867 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-expression</span>:
 <span id="L868" class="LineNr"> 868 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '*') goto next check</span>
 <span id="L869" class="LineNr"> 869 </span>    3d/compare-eax-and 0x2a/imm32/asterisk
-<span id="L870" class="LineNr"> 870 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
+<span id="L870" class="LineNr"> 870 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:check-for-end-of-call/disp8
 <span id="L871" class="LineNr"> 871 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] == ' ') goto error1</span>
 <span id="L872" class="LineNr"> 872 </span>    8a/copy-byte *(esi+ecx+0xd) 0/r32/AL
 <span id="L873" class="LineNr"> 873 </span>    3d/compare-eax-and 0x20/imm32/space
-<span id="L874" class="LineNr"> 874 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error1/disp32
+<span id="L874" class="LineNr"> 874 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error1/disp32
 <span id="L875" class="LineNr"> 875 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] != '(') goto regular-word</span>
 <span id="L876" class="LineNr"> 876 </span>    3d/compare-eax-and 0x28/imm32/open-paren
-<span id="L877" class="LineNr"> 877 </span>    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
+<span id="L877" class="LineNr"> 877 </span>    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp32
 <span id="L878" class="LineNr"> 878 </span><span class="Constant">$next-word-string-or-expression-without-metadata:paren</span>:
 <span id="L879" class="LineNr"> 879 </span>    <span class="subxComment"># skip-until-close-paren(line)</span>
 <span id="L880" class="LineNr"> 880 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -879,7 +879,7 @@ if ('onhashchange' in window) {
 <span id="L889" class="LineNr"> 889 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L890" class="LineNr"> 890 </span>    <span class="subxS1Comment"># . if (eax != ')') goto error2</span>
 <span id="L891" class="LineNr"> 891 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L892" class="LineNr"> 892 </span>    0f 85/jump-if-not-equal $next-word-string-or-expression-without-metadata:error2/disp32
+<span id="L892" class="LineNr"> 892 </span>    0f 85/jump-if-!= $next-word-string-or-expression-without-metadata:error2/disp32
 <span id="L893" class="LineNr"> 893 </span>    <span class="subxComment"># ++line-&gt;read to skip ')'</span>
 <span id="L894" class="LineNr"> 894 </span>    ff 0/subop/increment *(esi+4)
 <span id="L895" class="LineNr"> 895 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;read]</span>
@@ -891,7 +891,7 @@ if ('onhashchange' in window) {
 <span id="L901" class="LineNr"> 901 </span><span class="Constant">$next-word-string-or-expression-without-metadata:check-for-end-of-call</span>:
 <span id="L902" class="LineNr"> 902 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != ')') goto next check</span>
 <span id="L903" class="LineNr"> 903 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L904" class="LineNr"> 904 </span>    75/jump-if-not-equal $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
+<span id="L904" class="LineNr"> 904 </span>    75/jump-if-!= $next-word-string-or-expression-without-metadata:regular-word-without-metadata/disp8
 <span id="L905" class="LineNr"> 905 </span>    <span class="subxComment"># ++line-&gt;read to skip ')'</span>
 <span id="L906" class="LineNr"> 906 </span>    ff 0/subop/increment *(esi+4)
 <span id="L907" class="LineNr"> 907 </span>    <span class="subxH1Comment"># - error checking: make sure there's nothing else of importance on the line</span>
@@ -900,13 +900,13 @@ if ('onhashchange' in window) {
 <span id="L910" class="LineNr"> 910 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L911" class="LineNr"> 911 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return {0, 0}</span>
 <span id="L912" class="LineNr"> 912 </span>    3b/compare 1/r32/ecx *esi
-<span id="L913" class="LineNr"> 913 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L913" class="LineNr"> 913 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L914" class="LineNr"> 914 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '/') goto error3</span>
 <span id="L915" class="LineNr"> 915 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L916" class="LineNr"> 916 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L917" class="LineNr"> 917 </span>    <span class="subxS1Comment"># . if (eax == '/') goto error3</span>
 <span id="L918" class="LineNr"> 918 </span>    3d/compare-eax-and 0x2f/imm32/slash
-<span id="L919" class="LineNr"> 919 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error3/disp32
+<span id="L919" class="LineNr"> 919 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error3/disp32
 <span id="L920" class="LineNr"> 920 </span>    <span class="subxComment"># skip-chars-matching-whitespace(line)</span>
 <span id="L921" class="LineNr"> 921 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L922" class="LineNr"> 922 </span>    56/push-esi
@@ -919,14 +919,14 @@ if ('onhashchange' in window) {
 <span id="L929" class="LineNr"> 929 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L930" class="LineNr"> 930 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) return {0, 0}</span>
 <span id="L931" class="LineNr"> 931 </span>    3b/compare 1/r32/ecx *esi
-<span id="L932" class="LineNr"> 932 </span>    0f 8d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:return-eol/disp32
+<span id="L932" class="LineNr"> 932 </span>    0f 8d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:return-eol/disp32
 <span id="L933" class="LineNr"> 933 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '#') return out = {0, 0}</span>
 <span id="L934" class="LineNr"> 934 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L935" class="LineNr"> 935 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L936" class="LineNr"> 936 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L937" class="LineNr"> 937 </span>    <span class="subxS1Comment"># . if (eax == '#') return out = {0, 0}</span>
 <span id="L938" class="LineNr"> 938 </span>    3d/compare-eax-and 0x23/imm32/pound
-<span id="L939" class="LineNr"> 939 </span>    74/jump-if-equal $next-word-string-or-expression-without-metadata:return-eol/disp8
+<span id="L939" class="LineNr"> 939 </span>    74/jump-if-= $next-word-string-or-expression-without-metadata:return-eol/disp8
 <span id="L940" class="LineNr"> 940 </span>    <span class="subxComment"># otherwise goto error4</span>
 <span id="L941" class="LineNr"> 941 </span>    e9/jump $next-word-string-or-expression-without-metadata:error4/disp32
 <span id="L942" class="LineNr"> 942 </span><span class="Constant">$next-word-string-or-expression-without-metadata:regular-word-without-metadata</span>:
@@ -935,20 +935,20 @@ if ('onhashchange' in window) {
 <span id="L945" class="LineNr"> 945 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L946" class="LineNr"> 946 </span>    <span class="subxS1Comment"># . if (ecx &gt;= line-&gt;write) break</span>
 <span id="L947" class="LineNr"> 947 </span>    3b/compare *esi 1/r32/ecx
-<span id="L948" class="LineNr"> 948 </span>    7d/jump-if-greater-or-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+<span id="L948" class="LineNr"> 948 </span>    7d/jump-if-&gt;= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
 <span id="L949" class="LineNr"> 949 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == ' ') break</span>
 <span id="L950" class="LineNr"> 950 </span>    <span class="subxS1Comment"># . eax = line-&gt;data[line-&gt;read]</span>
 <span id="L951" class="LineNr"> 951 </span>    8b/-&gt; *(esi+4) 1/r32/ecx
 <span id="L952" class="LineNr"> 952 </span>    8a/copy-byte *(esi+ecx+0xc) 0/r32/AL
 <span id="L953" class="LineNr"> 953 </span>    <span class="subxS1Comment"># . if (eax == ' ') break</span>
 <span id="L954" class="LineNr"> 954 </span>    3d/compare-eax-and 0x20/imm32/space
-<span id="L955" class="LineNr"> 955 </span>    74/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp8
+<span id="L955" class="LineNr"> 955 </span>    74/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp8
 <span id="L956" class="LineNr"> 956 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == ')') break</span>
 <span id="L957" class="LineNr"> 957 </span>    3d/compare-eax-and 0x29/imm32/close-paren
-<span id="L958" class="LineNr"> 958 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:regular-word-break/disp32
+<span id="L958" class="LineNr"> 958 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:regular-word-break/disp32
 <span id="L959" class="LineNr"> 959 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] == '/') goto error5</span>
 <span id="L960" class="LineNr"> 960 </span>    3d/compare-eax-and 0x2f/imm32/slash
-<span id="L961" class="LineNr"> 961 </span>    0f 84/jump-if-equal $next-word-string-or-expression-without-metadata:error5/disp32
+<span id="L961" class="LineNr"> 961 </span>    0f 84/jump-if-= $next-word-string-or-expression-without-metadata:error5/disp32
 <span id="L962" class="LineNr"> 962 </span>    <span class="subxComment"># ++line-&gt;read</span>
 <span id="L963" class="LineNr"> 963 </span>    ff 0/subop/increment *(esi+4)
 <span id="L964" class="LineNr"> 964 </span>    <span class="subxComment"># loop</span>
diff --git a/html/apps/crenshaw2-1.subx.html b/html/apps/crenshaw2-1.subx.html
index df65b7c6..e42c901c 100644
--- a/html/apps/crenshaw2-1.subx.html
+++ b/html/apps/crenshaw2-1.subx.html
@@ -108,7 +108,7 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr"> 47 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L49" class="LineNr"> 49 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L50" class="LineNr"> 50 </span>    7e/jump-if-lesser-or-equal  $run-main/disp8
+<span id="L50" class="LineNr"> 50 </span>    7e/jump-if-&lt;=  $run-main/disp8
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L52" class="LineNr"> 52 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -120,7 +120,7 @@ if ('onhashchange' in window) {
 <span id="L59" class="LineNr"> 59 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L60" class="LineNr"> 60 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L61" class="LineNr"> 61 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L62" class="LineNr"> 62 </span>    74/jump-if-equal  $run-main/disp8
+<span id="L62" class="LineNr"> 62 </span>    74/jump-if-=  $run-main/disp8
 <span id="L63" class="LineNr"> 63 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L64" class="LineNr"> 64 </span>    e8/call  run-tests/disp32
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -285,7 +285,7 @@ if ('onhashchange' in window) {
 <span id="L224" class="LineNr">224 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L225" class="LineNr">225 </span>    <span class="subxS1Comment"># . if (eax == false)</span>
 <span id="L226" class="LineNr">226 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L227" class="LineNr">227 </span>    75/jump-if-not-equal  $get-num:<a href='../mu-init-test.subx.html#L7'>main</a>/disp8
+<span id="L227" class="LineNr">227 </span>    75/jump-if-!=  $get-num:<a href='../mu-init-test.subx.html#L7'>main</a>/disp8
 <span id="L228" class="LineNr">228 </span>    <span class="subxS1Comment"># . expected(ed, err, &quot;integer&quot;)</span>
 <span id="L229" class="LineNr">229 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L230" class="LineNr">230 </span>    68/push  <span class="Constant">&quot;integer&quot;</span>/imm32
@@ -316,7 +316,7 @@ if ('onhashchange' in window) {
 <span id="L255" class="LineNr">255 </span><span class="Constant">$get-num:loop</span>:
 <span id="L256" class="LineNr">256 </span>    <span class="subxComment"># if (out-&gt;write &gt;= out-&gt;length) error</span>
 <span id="L257" class="LineNr">257 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with ecx</span>
-<span id="L258" class="LineNr">258 </span>    7d/jump-if-lesser  $get-num:stage2/disp8
+<span id="L258" class="LineNr">258 </span>    7d/jump-if-&lt;  $get-num:stage2/disp8
 <span id="L259" class="LineNr">259 </span>    <span class="subxS1Comment"># . error(ed, err, msg)  # TODO: show full number</span>
 <span id="L260" class="LineNr">260 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L261" class="LineNr">261 </span>    68/push  <span class="Constant">&quot;get-num: too many digits in number&quot;</span>/imm32
@@ -604,10 +604,10 @@ if ('onhashchange' in window) {
 <span id="L543" class="LineNr">543 </span>    b8/copy-to-eax  0/imm32
 <span id="L544" class="LineNr">544 </span>    <span class="subxComment"># if (c &lt; '0') return false</span>
 <span id="L545" class="LineNr">545 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x30/imm32        <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L546" class="LineNr">546 </span>    7c/jump-if-lesser  $is-digit?:end/disp8
+<span id="L546" class="LineNr">546 </span>    7c/jump-if-&lt;  $is-digit?:end/disp8
 <span id="L547" class="LineNr">547 </span>    <span class="subxComment"># if (c &gt; '9') return false</span>
 <span id="L548" class="LineNr">548 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x39/imm32        <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L549" class="LineNr">549 </span>    7f/jump-if-greater  $is-digit?:end/disp8
+<span id="L549" class="LineNr">549 </span>    7f/jump-if-&gt;  $is-digit?:end/disp8
 <span id="L550" class="LineNr">550 </span>    <span class="subxComment"># otherwise return true</span>
 <span id="L551" class="LineNr">551 </span>    b8/copy-to-eax  1/imm32
 <span id="L552" class="LineNr">552 </span><span class="Constant">$is-digit?:end</span>:
diff --git a/html/apps/crenshaw2-1b.subx.html b/html/apps/crenshaw2-1b.subx.html
index 4327640b..ae74e982 100644
--- a/html/apps/crenshaw2-1b.subx.html
+++ b/html/apps/crenshaw2-1b.subx.html
@@ -108,7 +108,7 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr"> 47 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L49" class="LineNr"> 49 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L50" class="LineNr"> 50 </span>    7e/jump-if-lesser-or-equal  $run-main/disp8
+<span id="L50" class="LineNr"> 50 </span>    7e/jump-if-&lt;=  $run-main/disp8
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L52" class="LineNr"> 52 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -120,7 +120,7 @@ if ('onhashchange' in window) {
 <span id="L59" class="LineNr"> 59 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L60" class="LineNr"> 60 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L61" class="LineNr"> 61 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L62" class="LineNr"> 62 </span>    74/jump-if-equal  $run-main/disp8
+<span id="L62" class="LineNr"> 62 </span>    74/jump-if-=  $run-main/disp8
 <span id="L63" class="LineNr"> 63 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L64" class="LineNr"> 64 </span>    e8/call  run-tests/disp32
 <span id="L65" class="LineNr"> 65 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -290,7 +290,7 @@ if ('onhashchange' in window) {
 <span id="L229" class="LineNr">229 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L230" class="LineNr">230 </span>    <span class="subxS1Comment"># . if (eax == false)</span>
 <span id="L231" class="LineNr">231 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L232" class="LineNr">232 </span>    75/jump-if-not-equal  $get-num:<a href='../mu-init-test.subx.html#L7'>main</a>/disp8
+<span id="L232" class="LineNr">232 </span>    75/jump-if-!=  $get-num:<a href='../mu-init-test.subx.html#L7'>main</a>/disp8
 <span id="L233" class="LineNr">233 </span>    <span class="subxS1Comment"># . expected(ed, err, &quot;integer&quot;)</span>
 <span id="L234" class="LineNr">234 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L235" class="LineNr">235 </span>    68/push  <span class="Constant">&quot;integer&quot;</span>/imm32
@@ -321,7 +321,7 @@ if ('onhashchange' in window) {
 <span id="L260" class="LineNr">260 </span><span class="Constant">$get-num:loop</span>:
 <span id="L261" class="LineNr">261 </span>    <span class="subxComment"># if (out-&gt;write &gt;= out-&gt;length) error</span>
 <span id="L262" class="LineNr">262 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with ecx</span>
-<span id="L263" class="LineNr">263 </span>    7d/jump-if-lesser  $get-num:loop-stage2/disp8
+<span id="L263" class="LineNr">263 </span>    7d/jump-if-&lt;  $get-num:loop-stage2/disp8
 <span id="L264" class="LineNr">264 </span>    <span class="subxS1Comment"># . error(ed, err, msg)  # TODO: show full number</span>
 <span id="L265" class="LineNr">265 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L266" class="LineNr">266 </span>    68/push  <span class="Constant">&quot;get-num: too many digits in number&quot;</span>/imm32
@@ -355,7 +355,7 @@ if ('onhashchange' in window) {
 <span id="L294" class="LineNr">294 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L295" class="LineNr">295 </span>    <span class="subxS1Comment"># . if (eax != false) loop</span>
 <span id="L296" class="LineNr">296 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L297" class="LineNr">297 </span>    0f 85/jump-if-not-equal  $get-num:<span class="Constant">loop</span>/disp32
+<span id="L297" class="LineNr">297 </span>    0f 85/jump-if-!=  $get-num:<span class="Constant">loop</span>/disp32
 <span id="L298" class="LineNr">298 </span><span class="Constant">$get-num:loop-end</span>:
 <span id="L299" class="LineNr">299 </span>    <span class="subxComment"># persist necessary variables from registers</span>
 <span id="L300" class="LineNr">300 </span>    89/copy                         0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *edi</span>
@@ -798,10 +798,10 @@ if ('onhashchange' in window) {
 <span id="L737" class="LineNr">737 </span>    b8/copy-to-eax  0/imm32
 <span id="L738" class="LineNr">738 </span>    <span class="subxComment"># if (c &lt; '0') return false</span>
 <span id="L739" class="LineNr">739 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x30/imm32        <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L740" class="LineNr">740 </span>    7c/jump-if-lesser  $is-digit?:end/disp8
+<span id="L740" class="LineNr">740 </span>    7c/jump-if-&lt;  $is-digit?:end/disp8
 <span id="L741" class="LineNr">741 </span>    <span class="subxComment"># if (c &gt; '9') return false</span>
 <span id="L742" class="LineNr">742 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8         0x39/imm32        <span class="subxComment"># compare *(ebp+8)</span>
-<span id="L743" class="LineNr">743 </span>    7f/jump-if-greater  $is-digit?:end/disp8
+<span id="L743" class="LineNr">743 </span>    7f/jump-if-&gt;  $is-digit?:end/disp8
 <span id="L744" class="LineNr">744 </span>    <span class="subxComment"># otherwise return true</span>
 <span id="L745" class="LineNr">745 </span>    b8/copy-to-eax  1/imm32
 <span id="L746" class="LineNr">746 </span><span class="Constant">$is-digit?:end</span>:
diff --git a/html/apps/dquotes.subx.html b/html/apps/dquotes.subx.html
index 03753533..367f650e 100644
--- a/html/apps/dquotes.subx.html
+++ b/html/apps/dquotes.subx.html
@@ -99,7 +99,7 @@ if ('onhashchange' in window) {
 <span id="L36" class="LineNr">  36 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run-tests()</span>
 <span id="L37" class="LineNr">  37 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L38" class="LineNr">  38 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L39" class="LineNr">  39 </span>    7e/jump-if-lesser-or-equal  $subx-dquotes-main:interactive/disp8
+<span id="L39" class="LineNr">  39 </span>    7e/jump-if-&lt;=  $subx-dquotes-main:interactive/disp8
 <span id="L40" class="LineNr">  40 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L41" class="LineNr">  41 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L42" class="LineNr">  42 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -111,7 +111,7 @@ if ('onhashchange' in window) {
 <span id="L48" class="LineNr">  48 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L49" class="LineNr">  49 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L50" class="LineNr">  50 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L51" class="LineNr">  51 </span>    74/jump-if-equal  $subx-dquotes-main:interactive/disp8
+<span id="L51" class="LineNr">  51 </span>    74/jump-if-=  $subx-dquotes-main:interactive/disp8
 <span id="L52" class="LineNr">  52 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L53" class="LineNr">  53 </span>    e8/call  run-tests/disp32
 <span id="L54" class="LineNr">  54 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -237,7 +237,7 @@ if ('onhashchange' in window) {
 <span id="L174" class="LineNr"> 174 </span><span class="Constant">$subx-dquotes:check0</span>:
 <span id="L175" class="LineNr"> 175 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L176" class="LineNr"> 176 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L177" class="LineNr"> 177 </span>    0f 84/jump-if-equal  $subx-dquotes:<span class="Constant">break</span>/disp32
+<span id="L177" class="LineNr"> 177 </span>    0f 84/jump-if-=  $subx-dquotes:<span class="Constant">break</span>/disp32
 <span id="L178" class="LineNr"> 178 </span><span class="Constant">$subx-dquotes:word-loop</span>:
 <span id="L179" class="LineNr"> 179 </span>    <span class="subxComment"># next-word-or-string(line, word-slice)</span>
 <span id="L180" class="LineNr"> 180 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -258,7 +258,7 @@ if ('onhashchange' in window) {
 <span id="L195" class="LineNr"> 195 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L196" class="LineNr"> 196 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L197" class="LineNr"> 197 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L198" class="LineNr"> 198 </span>    0f 85/jump-if-not-equal  $subx-dquotes:next-line/disp32
+<span id="L198" class="LineNr"> 198 </span>    0f 85/jump-if-!=  $subx-dquotes:next-line/disp32
 <span id="L199" class="LineNr"> 199 </span><span class="Constant">$subx-dquotes:check-for-comment</span>:
 <span id="L200" class="LineNr"> 200 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) continue</span>
 <span id="L201" class="LineNr"> 201 </span>    <span class="subxS1Comment"># . var start/esi : (addr byte) = word-slice-&gt;start</span>
@@ -268,11 +268,11 @@ if ('onhashchange' in window) {
 <span id="L205" class="LineNr"> 205 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L206" class="LineNr"> 206 </span>    <span class="subxS1Comment"># . if (c == '#') continue</span>
 <span id="L207" class="LineNr"> 207 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L208" class="LineNr"> 208 </span>    74/jump-if-equal  $subx-dquotes:word-loop/disp8
+<span id="L208" class="LineNr"> 208 </span>    74/jump-if-=  $subx-dquotes:word-loop/disp8
 <span id="L209" class="LineNr"> 209 </span><span class="Constant">$subx-dquotes:check-for-string-literal</span>:
 <span id="L210" class="LineNr"> 210 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, '&quot;')) continue</span>
 <span id="L211" class="LineNr"> 211 </span>    3d/compare-eax-and  0x22/imm32/dquote
-<span id="L212" class="LineNr"> 212 </span>    75/jump-if-not-equal  $subx-dquotes:regular-word/disp8
+<span id="L212" class="LineNr"> 212 </span>    75/jump-if-!=  $subx-dquotes:regular-word/disp8
 <span id="L213" class="LineNr"> 213 </span><span class="Constant">$subx-dquotes:string-literal</span>:
 <span id="L214" class="LineNr"> 214 </span>    <span class="subxComment"># process-string-literal(word-slice, out, new-data-segment)</span>
 <span id="L215" class="LineNr"> 215 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -931,25 +931,25 @@ if ('onhashchange' in window) {
 <span id="L925" class="LineNr"> 925 </span><span class="Constant">$emit-string-literal-data:loop</span>:
 <span id="L926" class="LineNr"> 926 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L927" class="LineNr"> 927 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with esi</span>
-<span id="L928" class="LineNr"> 928 </span>    0f 83/jump-if-greater-or-equal-unsigned  $emit-string-literal-data:end/disp32
+<span id="L928" class="LineNr"> 928 </span>    0f 83/jump-if-addr&gt;=  $emit-string-literal-data:end/disp32
 <span id="L929" class="LineNr"> 929 </span>    <span class="subxComment"># CL = *curr</span>
 <span id="L930" class="LineNr"> 930 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/CL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to CL</span>
 <span id="L931" class="LineNr"> 931 </span>    <span class="subxComment"># if (c == '&quot;') break</span>
 <span id="L932" class="LineNr"> 932 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x22/imm32/dquote <span class="subxComment"># compare ecx</span>
-<span id="L933" class="LineNr"> 933 </span>    0f 84/jump-if-equal  $emit-string-literal-data:end/disp32
+<span id="L933" class="LineNr"> 933 </span>    0f 84/jump-if-=  $emit-string-literal-data:end/disp32
 <span id="L934" class="LineNr"> 934 </span>    <span class="subxComment"># if (c != '\') goto emit</span>
 <span id="L935" class="LineNr"> 935 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x5c/imm32/backslash  <span class="subxComment"># compare ecx</span>
-<span id="L936" class="LineNr"> 936 </span>    75/jump-if-not-equal  $emit-string-literal-data:<a href='../079emit.subx.html#L10'>emit</a>/disp8
+<span id="L936" class="LineNr"> 936 </span>    75/jump-if-!=  $emit-string-literal-data:<a href='../079emit.subx.html#L10'>emit</a>/disp8
 <span id="L937" class="LineNr"> 937 </span>    <span class="subxComment"># ++curr</span>
 <span id="L938" class="LineNr"> 938 </span>    42/increment-edx
 <span id="L939" class="LineNr"> 939 </span>    <span class="subxComment"># if (curr &gt;= max) break</span>
 <span id="L940" class="LineNr"> 940 </span>    39/compare                      3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          6/r32/esi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare edx with esi</span>
-<span id="L941" class="LineNr"> 941 </span>    0f 83/jump-if-greater-or-equal-unsigned  $emit-string-literal-data:end/disp32
+<span id="L941" class="LineNr"> 941 </span>    0f 83/jump-if-addr&gt;=  $emit-string-literal-data:end/disp32
 <span id="L942" class="LineNr"> 942 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L943" class="LineNr"> 943 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/CL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to CL</span>
 <span id="L944" class="LineNr"> 944 </span>    <span class="subxComment"># if (c == 'n') c = newline</span>
 <span id="L945" class="LineNr"> 945 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x6e/imm32/n      <span class="subxComment"># compare ecx</span>
-<span id="L946" class="LineNr"> 946 </span>    75/jump-if-not-equal  $emit-string-literal-data:<a href='../079emit.subx.html#L10'>emit</a>/disp8
+<span id="L946" class="LineNr"> 946 </span>    75/jump-if-!=  $emit-string-literal-data:<a href='../079emit.subx.html#L10'>emit</a>/disp8
 <span id="L947" class="LineNr"> 947 </span>    b9/copy-to-ecx  0x0a/imm32/newline
 <span id="L948" class="LineNr"> 948 </span><span class="Constant">$emit-string-literal-data:<a href='../079emit.subx.html#L10'>emit</a></span>:
 <span id="L949" class="LineNr"> 949 </span>    <span class="subxComment"># append-byte-hex(out, CL)</span>
@@ -970,7 +970,7 @@ if ('onhashchange' in window) {
 <span id="L964" class="LineNr"> 964 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L965" class="LineNr"> 965 </span>    <span class="subxS1Comment"># . if (eax == false) goto char-done</span>
 <span id="L966" class="LineNr"> 966 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L967" class="LineNr"> 967 </span>    74/jump-if-equal  $emit-string-literal-data:char-done/disp8
+<span id="L967" class="LineNr"> 967 </span>    74/jump-if-=  $emit-string-literal-data:char-done/disp8
 <span id="L968" class="LineNr"> 968 </span>    <span class="subxS1Comment"># . write(out, &quot;/&quot;)</span>
 <span id="L969" class="LineNr"> 969 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L970" class="LineNr"> 970 </span>    68/push  <span class="SpecialChar"><a href='../051test.subx.html#L101'>Slash</a></span>/imm32
@@ -1002,7 +1002,7 @@ if ('onhashchange' in window) {
 <span id="L996" class="LineNr"> 996 </span>    43/increment-ebx
 <span id="L997" class="LineNr"> 997 </span>    <span class="subxComment"># if (idx &lt; 0x40) continue</span>
 <span id="L998" class="LineNr"> 998 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x40/imm32        <span class="subxComment"># compare ebx</span>
-<span id="L999" class="LineNr"> 999 </span>    7c/jump-if-lesser  $emit-string-literal-data:next-char/disp8
+<span id="L999" class="LineNr"> 999 </span>    7c/jump-if-&lt;  $emit-string-literal-data:next-char/disp8
 <span id="L1000" class="LineNr">1000 </span>    <span class="subxComment"># idx = 0</span>
 <span id="L1001" class="LineNr">1001 </span>    31/xor                          3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear ebx</span>
 <span id="L1002" class="LineNr">1002 </span>    <span class="subxComment"># write(out, &quot;\n&quot;)</span>
@@ -1035,22 +1035,22 @@ if ('onhashchange' in window) {
 <span id="L1029" class="LineNr">1029 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+8) to eax</span>
 <span id="L1030" class="LineNr">1030 </span>    <span class="subxComment"># if (c &lt; '0') return false</span>
 <span id="L1031" class="LineNr">1031 </span>    3d/compare-eax-with  0x30/imm32/0
-<span id="L1032" class="LineNr">1032 </span>    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+<span id="L1032" class="LineNr">1032 </span>    7c/jump-if-&lt;  $is-alphanumeric?:false/disp8
 <span id="L1033" class="LineNr">1033 </span>    <span class="subxComment"># if (c &lt;= '9') return true</span>
 <span id="L1034" class="LineNr">1034 </span>    3d/compare-eax-with  0x39/imm32/9
-<span id="L1035" class="LineNr">1035 </span>    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+<span id="L1035" class="LineNr">1035 </span>    7e/jump-if-&lt;=  $is-alphanumeric?:true/disp8
 <span id="L1036" class="LineNr">1036 </span>    <span class="subxComment"># if (c &lt; 'A') return false</span>
 <span id="L1037" class="LineNr">1037 </span>    3d/compare-eax-with  0x41/imm32/A
-<span id="L1038" class="LineNr">1038 </span>    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+<span id="L1038" class="LineNr">1038 </span>    7c/jump-if-&lt;  $is-alphanumeric?:false/disp8
 <span id="L1039" class="LineNr">1039 </span>    <span class="subxComment"># if (c &lt;= 'Z') return true</span>
 <span id="L1040" class="LineNr">1040 </span>    3d/compare-eax-with  0x5a/imm32/Z
-<span id="L1041" class="LineNr">1041 </span>    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+<span id="L1041" class="LineNr">1041 </span>    7e/jump-if-&lt;=  $is-alphanumeric?:true/disp8
 <span id="L1042" class="LineNr">1042 </span>    <span class="subxComment"># if (c &lt; 'a') return false</span>
 <span id="L1043" class="LineNr">1043 </span>    3d/compare-eax-with  0x61/imm32/a
-<span id="L1044" class="LineNr">1044 </span>    7c/jump-if-lesser  $is-alphanumeric?:false/disp8
+<span id="L1044" class="LineNr">1044 </span>    7c/jump-if-&lt;  $is-alphanumeric?:false/disp8
 <span id="L1045" class="LineNr">1045 </span>    <span class="subxComment"># if (c &lt;= 'z') return true</span>
 <span id="L1046" class="LineNr">1046 </span>    3d/compare-eax-with  0x7a/imm32/z
-<span id="L1047" class="LineNr">1047 </span>    7e/jump-if-lesser-or-equal  $is-alphanumeric?:true/disp8
+<span id="L1047" class="LineNr">1047 </span>    7e/jump-if-&lt;=  $is-alphanumeric?:true/disp8
 <span id="L1048" class="LineNr">1048 </span>    <span class="subxComment"># return false</span>
 <span id="L1049" class="LineNr">1049 </span><span class="Constant">$is-alphanumeric?:false</span>:
 <span id="L1050" class="LineNr">1050 </span>    b8/copy-to-eax  0/imm32/false
@@ -1301,7 +1301,7 @@ if ('onhashchange' in window) {
 <span id="L1420" class="LineNr">1420 </span>    <span class="subxH1Comment"># -  if (*curr == '&quot;') curr = skip-string-in-slice(curr, end)</span>
 <span id="L1421" class="LineNr">1421 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1422" class="LineNr">1422 </span>    3d/compare-eax-and  0x22/imm32/dquote
-<span id="L1423" class="LineNr">1423 </span>    75/jump-if-not-equal  $emit-metadata:skip-datum-loop/disp8
+<span id="L1423" class="LineNr">1423 </span>    75/jump-if-!=  $emit-metadata:skip-datum-loop/disp8
 <span id="L1424" class="LineNr">1424 </span><span class="Constant">$emit-metadata:skip-string-literal</span>:
 <span id="L1425" class="LineNr">1425 </span>    <span class="subxS1Comment"># . eax = skip-string-in-slice(curr, end)</span>
 <span id="L1426" class="LineNr">1426 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1318,11 +1318,11 @@ if ('onhashchange' in window) {
 <span id="L1437" class="LineNr">1437 </span>    <span class="subxH1Comment"># - otherwise scan for '/'</span>
 <span id="L1438" class="LineNr">1438 </span>    <span class="subxComment"># if (curr == end) return</span>
 <span id="L1439" class="LineNr">1439 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx and edx</span>
-<span id="L1440" class="LineNr">1440 </span>    74/jump-if-equal  $emit-metadata:end/disp8
+<span id="L1440" class="LineNr">1440 </span>    74/jump-if-=  $emit-metadata:end/disp8
 <span id="L1441" class="LineNr">1441 </span>    <span class="subxComment"># if (*curr == '/') break</span>
 <span id="L1442" class="LineNr">1442 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1443" class="LineNr">1443 </span>    3d/compare-eax-and  0x2f/imm32/slash
-<span id="L1444" class="LineNr">1444 </span>    74/jump-if-equal  $emit-metadata:<a href='../079emit.subx.html#L10'>emit</a>/disp8
+<span id="L1444" class="LineNr">1444 </span>    74/jump-if-=  $emit-metadata:<a href='../079emit.subx.html#L10'>emit</a>/disp8
 <span id="L1445" class="LineNr">1445 </span>    <span class="subxComment"># ++curr</span>
 <span id="L1446" class="LineNr">1446 </span>    41/increment-ecx
 <span id="L1447" class="LineNr">1447 </span>    eb/jump  $emit-metadata:skip-datum-loop/disp8
@@ -1655,17 +1655,17 @@ if ('onhashchange' in window) {
 <span id="L1799" class="LineNr">1799 </span><span class="Constant">$string-length-at-start-of-slice:loop</span>:
 <span id="L1800" class="LineNr">1800 </span>    <span class="subxComment"># if (curr &gt;= end) return length</span>
 <span id="L1801" class="LineNr">1801 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L1802" class="LineNr">1802 </span>    73/jump-if-greater-unsigned-or-equal  $string-length-at-start-of-slice:end/disp8
+<span id="L1802" class="LineNr">1802 </span>    73/jump-if-addr&gt;=  $string-length-at-start-of-slice:end/disp8
 <span id="L1803" class="LineNr">1803 </span>    <span class="subxComment"># c = *curr</span>
 <span id="L1804" class="LineNr">1804 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to BL</span>
 <span id="L1805" class="LineNr">1805 </span><span class="Constant">$string-length-at-start-of-slice:dquote</span>:
 <span id="L1806" class="LineNr">1806 </span>    <span class="subxComment"># if (c == '&quot;') break</span>
 <span id="L1807" class="LineNr">1807 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x22/imm32/dquote <span class="subxComment"># compare ebx</span>
-<span id="L1808" class="LineNr">1808 </span>    74/jump-if-equal  $string-length-at-start-of-slice:end/disp8
+<span id="L1808" class="LineNr">1808 </span>    74/jump-if-=  $string-length-at-start-of-slice:end/disp8
 <span id="L1809" class="LineNr">1809 </span><span class="Constant">$string-length-at-start-of-slice:check-for-escape</span>:
 <span id="L1810" class="LineNr">1810 </span>    <span class="subxComment"># if (c == '\') escape next char</span>
 <span id="L1811" class="LineNr">1811 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x5c/imm32/backslash <span class="subxComment"># compare ebx</span>
-<span id="L1812" class="LineNr">1812 </span>    75/jump-if-not-equal  $string-length-at-start-of-slice:continue/disp8
+<span id="L1812" class="LineNr">1812 </span>    75/jump-if-!=  $string-length-at-start-of-slice:continue/disp8
 <span id="L1813" class="LineNr">1813 </span><span class="Constant">$string-length-at-start-of-slice:escape</span>:
 <span id="L1814" class="LineNr">1814 </span>    <span class="subxComment"># increment curr but not result</span>
 <span id="L1815" class="LineNr">1815 </span>    41/increment-ecx
diff --git a/html/apps/ex10.subx.html b/html/apps/ex10.subx.html
index 2671b311..79fbfc5c 100644
--- a/html/apps/ex10.subx.html
+++ b/html/apps/ex10.subx.html
@@ -104,10 +104,10 @@ if ('onhashchange' in window) {
 <span id="L45" class="LineNr">45 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to BL</span>
 <span id="L46" class="LineNr">46 </span>    <span class="subxComment"># if (c1 == 0) break</span>
 <span id="L47" class="LineNr">47 </span>    3d/compare-eax-and  0/imm32
-<span id="L48" class="LineNr">48 </span>    74/jump-if-equal  $argv-equal:<span class="Constant">break</span>/disp8
+<span id="L48" class="LineNr">48 </span>    74/jump-if-=  $argv-equal:<span class="Constant">break</span>/disp8
 <span id="L49" class="LineNr">49 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L50" class="LineNr">50 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
-<span id="L51" class="LineNr">51 </span>    75/jump-if-not-equal  $argv-equal:false/disp8
+<span id="L51" class="LineNr">51 </span>    75/jump-if-!=  $argv-equal:false/disp8
 <span id="L52" class="LineNr">52 </span>    <span class="subxComment"># ++s1, ++s2</span>
 <span id="L53" class="LineNr">53 </span>    41/increment-ecx
 <span id="L54" class="LineNr">54 </span>    42/increment-edx
@@ -116,7 +116,7 @@ if ('onhashchange' in window) {
 <span id="L57" class="LineNr">57 </span><span class="Constant">$argv-equal:break</span>:
 <span id="L58" class="LineNr">58 </span>    <span class="subxComment"># if (c2 == 0) return true</span>
 <span id="L59" class="LineNr">59 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ebx</span>
-<span id="L60" class="LineNr">60 </span>    75/jump-if-not-equal  $argv-equal:false/disp8
+<span id="L60" class="LineNr">60 </span>    75/jump-if-!=  $argv-equal:false/disp8
 <span id="L61" class="LineNr">61 </span><span class="Constant">$argv-equal:success</span>:
 <span id="L62" class="LineNr">62 </span>    b8/copy-to-eax  1/imm32
 <span id="L63" class="LineNr">63 </span>    c3/return
diff --git a/html/apps/ex11.subx.html b/html/apps/ex11.subx.html
index 84519e0e..d9c64f2a 100644
--- a/html/apps/ex11.subx.html
+++ b/html/apps/ex11.subx.html
@@ -135,17 +135,17 @@ if ('onhashchange' in window) {
 <span id="L73" class="LineNr"> 73 </span><span class="Constant">$kernel-string-equal?:loop</span>:
 <span id="L74" class="LineNr"> 74 </span>    <span class="subxComment"># if (i &gt;= n) break</span>
 <span id="L75" class="LineNr"> 75 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L76" class="LineNr"> 76 </span>    7d/jump-if-greater-or-equal  $kernel-string-equal?:<span class="Constant">break</span>/disp8
+<span id="L76" class="LineNr"> 76 </span>    7d/jump-if-&gt;=  $kernel-string-equal?:<span class="Constant">break</span>/disp8
 <span id="L77" class="LineNr"> 77 </span>    <span class="subxComment"># c1 = *s1</span>
 <span id="L78" class="LineNr"> 78 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to AL</span>
 <span id="L79" class="LineNr"> 79 </span>    <span class="subxComment"># c2 = *s2</span>
 <span id="L80" class="LineNr"> 80 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to BL</span>
 <span id="L81" class="LineNr"> 81 </span>    <span class="subxComment"># if (c1 == 0) return false</span>
 <span id="L82" class="LineNr"> 82 </span>    3d/compare-eax-and  0/imm32
-<span id="L83" class="LineNr"> 83 </span>    74/jump-if-equal  $kernel-string-equal?:false/disp8
+<span id="L83" class="LineNr"> 83 </span>    74/jump-if-=  $kernel-string-equal?:false/disp8
 <span id="L84" class="LineNr"> 84 </span>    <span class="subxComment"># if (c1 != c2) return false</span>
 <span id="L85" class="LineNr"> 85 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax and ebx</span>
-<span id="L86" class="LineNr"> 86 </span>    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+<span id="L86" class="LineNr"> 86 </span>    75/jump-if-!=  $kernel-string-equal?:false/disp8
 <span id="L87" class="LineNr"> 87 </span>    <span class="subxComment"># ++i</span>
 <span id="L88" class="LineNr"> 88 </span>    41/increment-ecx
 <span id="L89" class="LineNr"> 89 </span>    <span class="subxComment"># ++s1</span>
@@ -157,7 +157,7 @@ if ('onhashchange' in window) {
 <span id="L95" class="LineNr"> 95 </span>    <span class="subxComment"># return *s1 == 0</span>
 <span id="L96" class="LineNr"> 96 </span>    8a/copy-byte                    0/mod/indirect  7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edi to AL</span>
 <span id="L97" class="LineNr"> 97 </span>    3d/compare-eax-and  0/imm32
-<span id="L98" class="LineNr"> 98 </span>    75/jump-if-not-equal  $kernel-string-equal?:false/disp8
+<span id="L98" class="LineNr"> 98 </span>    75/jump-if-!=  $kernel-string-equal?:false/disp8
 <span id="L99" class="LineNr"> 99 </span><span class="Constant">$kernel-string-equal?:true</span>:
 <span id="L100" class="LineNr">100 </span>    b8/copy-to-eax  1/imm32
 <span id="L101" class="LineNr">101 </span>    eb/jump  $kernel-string-equal?:end/disp8
diff --git a/html/apps/ex3.subx.html b/html/apps/ex3.subx.html
index e5eece81..31ff11a1 100644
--- a/html/apps/ex3.subx.html
+++ b/html/apps/ex3.subx.html
@@ -79,7 +79,7 @@ if ('onhashchange' in window) {
 <span id="L21" class="LineNr">21 </span><span class="Constant">$loop</span>:
 <span id="L22" class="LineNr">22 </span>    <span class="subxComment"># if (counter &gt; 10) break</span>
 <span id="L23" class="LineNr">23 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xa/imm32         <span class="subxComment"># compare ecx</span>
-<span id="L24" class="LineNr">24 </span>    7f/jump-if-greater  $exit/disp8
+<span id="L24" class="LineNr">24 </span>    7f/jump-if-&gt;  $exit/disp8
 <span id="L25" class="LineNr">25 </span>    <span class="subxComment"># result += counter</span>
 <span id="L26" class="LineNr">26 </span>    01/add                          3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># add ecx to ebx</span>
 <span id="L27" class="LineNr">27 </span>    <span class="subxComment"># ++counter</span>
diff --git a/html/apps/ex8.subx.html b/html/apps/ex8.subx.html
index 04c0e1cb..df27c764 100644
--- a/html/apps/ex8.subx.html
+++ b/html/apps/ex8.subx.html
@@ -103,7 +103,7 @@ if ('onhashchange' in window) {
 <span id="L44" class="LineNr">44 </span>    8a/copy-byte                    0/mod/*         2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/CL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to CL</span>
 <span id="L45" class="LineNr">45 </span>    <span class="subxComment"># if (c == '\0') break</span>
 <span id="L46" class="LineNr">46 </span>    81          7/subop/compare     3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare ecx</span>
-<span id="L47" class="LineNr">47 </span>    74/jump-if-equal  $ascii-length:end/disp8
+<span id="L47" class="LineNr">47 </span>    74/jump-if-=  $ascii-length:end/disp8
 <span id="L48" class="LineNr">48 </span>    <span class="subxComment"># ++s</span>
 <span id="L49" class="LineNr">49 </span>    42/increment-edx
 <span id="L50" class="LineNr">50 </span>    <span class="subxComment"># ++result</span>
diff --git a/html/apps/factorial.subx.html b/html/apps/factorial.subx.html
index 026f22e2..5aa74fc5 100644
--- a/html/apps/factorial.subx.html
+++ b/html/apps/factorial.subx.html
@@ -96,7 +96,7 @@ if ('onhashchange' in window) {
 <span id="L35" class="LineNr"> 35 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L36" class="LineNr"> 36 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L37" class="LineNr"> 37 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L38" class="LineNr"> 38 </span>    7e/jump-if-lesser-or-equal  $run-main/disp8
+<span id="L38" class="LineNr"> 38 </span>    7e/jump-if-&lt;=  $run-main/disp8
 <span id="L39" class="LineNr"> 39 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L40" class="LineNr"> 40 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L41" class="LineNr"> 41 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -108,7 +108,7 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr"> 47 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L49" class="LineNr"> 49 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L50" class="LineNr"> 50 </span>    74/jump-if-equal  $run-main/disp8
+<span id="L50" class="LineNr"> 50 </span>    74/jump-if-=  $run-main/disp8
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L52" class="LineNr"> 52 </span>    e8/call  run-tests/disp32
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
diff --git a/html/apps/factorial2.subx.html b/html/apps/factorial2.subx.html
index 4d758401..fa0eb720 100644
--- a/html/apps/factorial2.subx.html
+++ b/html/apps/factorial2.subx.html
@@ -95,7 +95,7 @@ if ('onhashchange' in window) {
 <span id="L35" class="LineNr"> 35 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L36" class="LineNr"> 36 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L37" class="LineNr"> 37 </span>    81 7/subop/compare *ebp 1/imm32
-<span id="L38" class="LineNr"> 38 </span>    7e/jump-if-lesser-or-equal $run-main/disp8
+<span id="L38" class="LineNr"> 38 </span>    7e/jump-if-&lt;= $run-main/disp8
 <span id="L39" class="LineNr"> 39 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L40" class="LineNr"> 40 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L41" class="LineNr"> 41 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -107,7 +107,7 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr"> 47 </span>    81 0/subop/add %esp 8/imm32
 <span id="L48" class="LineNr"> 48 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L49" class="LineNr"> 49 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L50" class="LineNr"> 50 </span>    74/jump-if-equal $run-main/disp8
+<span id="L50" class="LineNr"> 50 </span>    74/jump-if-= $run-main/disp8
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L52" class="LineNr"> 52 </span>    e8/call run-tests/disp32
 <span id="L53" class="LineNr"> 53 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
diff --git a/html/apps/factorial3.subx.html b/html/apps/factorial3.subx.html
index 04ebfe81..7b7cefe3 100644
--- a/html/apps/factorial3.subx.html
+++ b/html/apps/factorial3.subx.html
@@ -88,12 +88,12 @@ if ('onhashchange' in window) {
 <span id="L29" class="LineNr">29 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L30" class="LineNr">30 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L31" class="LineNr">31 </span>    81 7/subop/compare *ebp 1/imm32
-<span id="L32" class="LineNr">32 </span>    7e/jump-if-lesser-or-equal $run-main/disp8
+<span id="L32" class="LineNr">32 </span>    7e/jump-if-&lt;= $run-main/disp8
 <span id="L33" class="LineNr">33 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L34" class="LineNr">34 </span>    (<a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L35" class="LineNr">35 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L36" class="LineNr">36 </span>    3d/compare-eax-and 0/imm32/false
-<span id="L37" class="LineNr">37 </span>    74/jump-if-equal $run-main/disp8
+<span id="L37" class="LineNr">37 </span>    74/jump-if-= $run-main/disp8
 <span id="L38" class="LineNr">38 </span>    <span class="subxComment">#</span>
 <span id="L39" class="LineNr">39 </span>    (run-tests)
 <span id="L40" class="LineNr">40 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
diff --git a/html/apps/factorial4.subx.html b/html/apps/factorial4.subx.html
index 143ecc2c..db3331d9 100644
--- a/html/apps/factorial4.subx.html
+++ b/html/apps/factorial4.subx.html
@@ -90,11 +90,11 @@ if ('onhashchange' in window) {
 <span id="L31" class="LineNr">31 </span>    {
 <span id="L32" class="LineNr">32 </span>      <span class="subxComment"># if (argc &lt;= 1) break</span>
 <span id="L33" class="LineNr">33 </span>      81 7/subop/compare *ebp 1/imm32
-<span id="L34" class="LineNr">34 </span>      7e/jump-if-lesser-or-equal <span class="Constant">break</span>/disp8
+<span id="L34" class="LineNr">34 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
 <span id="L35" class="LineNr">35 </span>      <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) break</span>
 <span id="L36" class="LineNr">36 </span>      (<a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L37" class="LineNr">37 </span>      3d/compare-eax-and 0/imm32/false
-<span id="L38" class="LineNr">38 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L38" class="LineNr">38 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L39" class="LineNr">39 </span>      <span class="subxComment">#</span>
 <span id="L40" class="LineNr">40 </span>      (run-tests)
 <span id="L41" class="LineNr">41 </span>      <span class="subxComment"># eax = *Num-test-failures</span>
@@ -104,7 +104,7 @@ if ('onhashchange' in window) {
 <span id="L45" class="LineNr">45 </span>    {
 <span id="L46" class="LineNr">46 </span>      <span class="subxComment"># if (argc &gt; 1) break</span>
 <span id="L47" class="LineNr">47 </span>      81 7/subop/compare *ebp 1/imm32
-<span id="L48" class="LineNr">48 </span>      7f/jump-if-greater <span class="Constant">break</span>/disp8
+<span id="L48" class="LineNr">48 </span>      7f/jump-if-&gt; <span class="Constant">break</span>/disp8
 <span id="L49" class="LineNr">49 </span>      <span class="subxComment"># eax = factorial(5)</span>
 <span id="L50" class="LineNr">50 </span>      (<a href='factorial4.subx.html#L58'>factorial</a> 5)
 <span id="L51" class="LineNr">51 </span>      <span class="subxComment"># syscall(exit, eax)</span>
@@ -123,12 +123,12 @@ if ('onhashchange' in window) {
 <span id="L64" class="LineNr">64 </span>    <span class="subxComment"># if (n &lt;= 1) return 1</span>
 <span id="L65" class="LineNr">65 </span>    81 7/subop/compare *(ebp+8) 1/imm32
 <span id="L66" class="LineNr">66 </span>    {
-<span id="L67" class="LineNr">67 </span>      7f/jump-if-greater <span class="Constant">break</span>/disp8
+<span id="L67" class="LineNr">67 </span>      7f/jump-if-&gt; <span class="Constant">break</span>/disp8
 <span id="L68" class="LineNr">68 </span>      b8/copy-to-eax 1/imm32
 <span id="L69" class="LineNr">69 </span>    }
 <span id="L70" class="LineNr">70 </span>    <span class="subxComment"># if (n &gt; 1) return n * factorial(n-1)</span>
 <span id="L71" class="LineNr">71 </span>    {
-<span id="L72" class="LineNr">72 </span>      7e/jump-if-lesser-or-equal <span class="Constant">break</span>/disp8
+<span id="L72" class="LineNr">72 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
 <span id="L73" class="LineNr">73 </span>      <span class="subxComment"># var ebx : int = n-1</span>
 <span id="L74" class="LineNr">74 </span>      8b/-&gt; *(ebp+8) 3/r32/ebx
 <span id="L75" class="LineNr">75 </span>      4b/decrement-ebx
diff --git a/html/apps/handle.subx.html b/html/apps/handle.subx.html
index e9470f7e..a3489f99 100644
--- a/html/apps/handle.subx.html
+++ b/html/apps/handle.subx.html
@@ -132,7 +132,7 @@ if ('onhashchange' in window) {
 <span id="L69" class="LineNr"> 69 </span>    89/copy                         1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy eax to *(edx+4)</span>
 <span id="L70" class="LineNr"> 70 </span>    <span class="subxComment"># if (eax == 0) out-&gt;alloc_id = 0, return</span>
 <span id="L71" class="LineNr"> 71 </span>    3d/compare-eax-and  0/imm32
-<span id="L72" class="LineNr"> 72 </span>    75/jump-if-not-equal  $new:continue/disp8
+<span id="L72" class="LineNr"> 72 </span>    75/jump-if-!=  $new:continue/disp8
 <span id="L73" class="LineNr"> 73 </span>    c7          0/subop/copy        0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># copy to *edx</span>
 <span id="L74" class="LineNr"> 74 </span>    eb/jump  $new:end/disp8
 <span id="L75" class="LineNr"> 75 </span><span class="Constant">$new:continue</span>:
@@ -302,7 +302,7 @@ if ('onhashchange' in window) {
 <span id="L239" class="LineNr">239 </span>    8b/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *eax to eax</span>
 <span id="L240" class="LineNr">240 </span>    <span class="subxComment"># if (eax != handle-&gt;alloc_id) abort</span>
 <span id="L241" class="LineNr">241 </span>    39/compare                      1/mod/*+disp8   4/rm32/sib    4/base/esp  4/index/none <span class="Normal"> . </span>          0/r32/eax   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># compare *(esp+4) and eax</span>
-<span id="L242" class="LineNr">242 </span>    75/jump-if-not-equal  $lookup:abort/disp8
+<span id="L242" class="LineNr">242 </span>    75/jump-if-!=  $lookup:abort/disp8
 <span id="L243" class="LineNr">243 </span>    <span class="subxComment"># eax = pop handle-&gt;address</span>
 <span id="L244" class="LineNr">244 </span>    58/pop-to-eax
 <span id="L245" class="LineNr">245 </span>    <span class="subxComment"># discard handle-&gt;alloc_id</span>
@@ -317,7 +317,7 @@ if ('onhashchange' in window) {
 <span id="L254" class="LineNr">254 </span><span class="CommentedCode">#?     8b/copy                         1/mod/*+disp8   0/rm32/eax    .           .             .           0/r32/eax   4/disp8         .                 # copy *(eax+4) to eax</span>
 <span id="L255" class="LineNr">255 </span><span class="CommentedCode">#?     # if (ecx != *eax) abort</span>
 <span id="L256" class="LineNr">256 </span><span class="CommentedCode">#?     39/compare                      0/mod/indirect  0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare *eax and ecx</span>
-<span id="L257" class="LineNr">257 </span><span class="CommentedCode">#?     75/jump-if-not-equal  $lookup:abort/disp8</span>
+<span id="L257" class="LineNr">257 </span><span class="CommentedCode">#?     75/jump-if-!=  $lookup:abort/disp8</span>
 <span id="L258" class="LineNr">258 </span><span class="CommentedCode">#?     # add 4 to eax</span>
 <span id="L259" class="LineNr">259 </span><span class="CommentedCode">#?     05/add-to-eax  4/imm32</span>
 <span id="L260" class="LineNr">260 </span>    <span class="subxH1Comment"># - }</span>
diff --git a/html/apps/hex.subx.html b/html/apps/hex.subx.html
index b52d4284..1ea0f352 100644
--- a/html/apps/hex.subx.html
+++ b/html/apps/hex.subx.html
@@ -95,7 +95,7 @@ if ('onhashchange' in window) {
 <span id="L34" class="LineNr">  34 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L35" class="LineNr">  35 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L36" class="LineNr">  36 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L37" class="LineNr">  37 </span>    7e/jump-if-lesser-or-equal  $subx-hex-main:interactive/disp8
+<span id="L37" class="LineNr">  37 </span>    7e/jump-if-&lt;=  $subx-hex-main:interactive/disp8
 <span id="L38" class="LineNr">  38 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L39" class="LineNr">  39 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L40" class="LineNr">  40 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -107,7 +107,7 @@ if ('onhashchange' in window) {
 <span id="L46" class="LineNr">  46 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L47" class="LineNr">  47 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L48" class="LineNr">  48 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L49" class="LineNr">  49 </span>    74/jump-if-equal  $subx-hex-main:interactive/disp8
+<span id="L49" class="LineNr">  49 </span>    74/jump-if-=  $subx-hex-main:interactive/disp8
 <span id="L50" class="LineNr">  50 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L51" class="LineNr">  51 </span>    e8/call  run-tests/disp32
 <span id="L52" class="LineNr">  52 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -163,7 +163,7 @@ if ('onhashchange' in window) {
 <span id="L102" class="LineNr"> 102 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L103" class="LineNr"> 103 </span>    <span class="subxComment"># if (eax == Eof) break</span>
 <span id="L104" class="LineNr"> 104 </span>    3d/compare-eax-and  0xffffffff/imm32/Eof
-<span id="L105" class="LineNr"> 105 </span>    74/jump-if-equal  $subx-hex:loop-end/disp8
+<span id="L105" class="LineNr"> 105 </span>    74/jump-if-=  $subx-hex:loop-end/disp8
 <span id="L106" class="LineNr"> 106 </span>    <span class="subxComment"># write-byte-buffered(out, AL)</span>
 <span id="L107" class="LineNr"> 107 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L108" class="LineNr"> 108 </span>    50/push-eax
@@ -223,7 +223,7 @@ if ('onhashchange' in window) {
 <span id="L162" class="LineNr"> 162 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L163" class="LineNr"> 163 </span>    <span class="subxComment"># if (eax == Eof) return</span>
 <span id="L164" class="LineNr"> 164 </span>    3d/compare-eax-and  0xffffffff/imm32/Eof
-<span id="L165" class="LineNr"> 165 </span>    74/jump-if-equal  $convert-next-octet:end/disp8
+<span id="L165" class="LineNr"> 165 </span>    74/jump-if-=  $convert-next-octet:end/disp8
 <span id="L166" class="LineNr"> 166 </span>    <span class="subxComment"># eax = from-hex-char(eax)</span>
 <span id="L167" class="LineNr"> 167 </span>    e8/call <a href='../067parse-hex.subx.html#L803'>from-hex-char</a>/disp32
 <span id="L168" class="LineNr"> 168 </span>    <span class="subxComment"># ecx = eax</span>
@@ -239,7 +239,7 @@ if ('onhashchange' in window) {
 <span id="L178" class="LineNr"> 178 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L179" class="LineNr"> 179 </span>    <span class="subxComment"># if (eax == Eof) error(ed, err, &quot;partial byte found.&quot;)</span>
 <span id="L180" class="LineNr"> 180 </span>    3d/compare-eax-and  0xffffffff/imm32/Eof
-<span id="L181" class="LineNr"> 181 </span>    75/jump-if-not-equal  $convert-next-octet:convert/disp8
+<span id="L181" class="LineNr"> 181 </span>    75/jump-if-!=  $convert-next-octet:convert/disp8
 <span id="L182" class="LineNr"> 182 </span>    <span class="subxS1Comment"># . error-byte(ed, err, msg, '.')  # reusing error-byte to avoid creating _yet_ another helper</span>
 <span id="L183" class="LineNr"> 183 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L184" class="LineNr"> 184 </span>    68/push  0x2e/imm32/period/dummy
@@ -345,7 +345,7 @@ if ('onhashchange' in window) {
 <span id="L284" class="LineNr"> 284 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L285" class="LineNr"> 285 </span>    <span class="subxComment"># return if abort</span>
 <span id="L286" class="LineNr"> 286 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L287" class="LineNr"> 287 </span>    75/jump-if-not-equal  $test-convert-next-octet:end/disp8
+<span id="L287" class="LineNr"> 287 </span>    75/jump-if-!=  $test-convert-next-octet:end/disp8
 <span id="L288" class="LineNr"> 288 </span>    <span class="subxComment"># check-ints-equal(eax, 0xab, msg)</span>
 <span id="L289" class="LineNr"> 289 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L290" class="LineNr"> 290 </span>    68/push  <span class="Constant">&quot;F - test-convert-next-octet&quot;</span>/imm32
@@ -435,7 +435,7 @@ if ('onhashchange' in window) {
 <span id="L374" class="LineNr"> 374 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L375" class="LineNr"> 375 </span>    <span class="subxComment"># return if abort</span>
 <span id="L376" class="LineNr"> 376 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L377" class="LineNr"> 377 </span>    75/jump-if-not-equal  $test-convert-next-octet-handles-Eof:end/disp8
+<span id="L377" class="LineNr"> 377 </span>    75/jump-if-!=  $test-convert-next-octet-handles-Eof:end/disp8
 <span id="L378" class="LineNr"> 378 </span>    <span class="subxComment"># check-ints-equal(eax, Eof, msg)</span>
 <span id="L379" class="LineNr"> 379 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L380" class="LineNr"> 380 </span>    68/push  <span class="Constant">&quot;F - test-convert-next-octet-handles-Eof&quot;</span>/imm32
@@ -566,7 +566,7 @@ if ('onhashchange' in window) {
 <span id="L505" class="LineNr"> 505 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L506" class="LineNr"> 506 </span>    <span class="subxComment"># if (eax == Eof) return eax</span>
 <span id="L507" class="LineNr"> 507 </span>    3d/compare-with-eax  0xffffffff/imm32/Eof
-<span id="L508" class="LineNr"> 508 </span>    74/jump-if-equal  $scan-next-byte:end/disp8
+<span id="L508" class="LineNr"> 508 </span>    74/jump-if-=  $scan-next-byte:end/disp8
 <span id="L509" class="LineNr"> 509 </span>    <span class="subxComment"># if (is-hex-digit?(eax)) return eax</span>
 <span id="L510" class="LineNr"> 510 </span>    <span class="subxS1Comment"># . save eax for now</span>
 <span id="L511" class="LineNr"> 511 </span>    50/push-eax
@@ -582,21 +582,21 @@ if ('onhashchange' in window) {
 <span id="L521" class="LineNr"> 521 </span>    <span class="subxS1Comment"># . restore eax (does not affect flags)</span>
 <span id="L522" class="LineNr"> 522 </span>    58/pop-to-eax
 <span id="L523" class="LineNr"> 523 </span>    <span class="subxS1Comment"># . check whether to return</span>
-<span id="L524" class="LineNr"> 524 </span>    75/jump-if-not-equal  $scan-next-byte:end/disp8
+<span id="L524" class="LineNr"> 524 </span>    75/jump-if-!=  $scan-next-byte:end/disp8
 <span id="L525" class="LineNr"> 525 </span><span class="Constant">$scan-next-byte:check1</span>:
 <span id="L526" class="LineNr"> 526 </span>    <span class="subxComment"># if (eax == ' ') continue</span>
 <span id="L527" class="LineNr"> 527 </span>    3d/compare-eax-and  0x20/imm32/space
-<span id="L528" class="LineNr"> 528 </span>    74/jump-if-equal  $scan-next-byte:<span class="Constant">loop</span>/disp8
+<span id="L528" class="LineNr"> 528 </span>    74/jump-if-=  $scan-next-byte:<span class="Constant">loop</span>/disp8
 <span id="L529" class="LineNr"> 529 </span>    <span class="subxComment"># if (eax == '\t') continue</span>
 <span id="L530" class="LineNr"> 530 </span>    3d/compare-eax-and  9/imm32/tab
-<span id="L531" class="LineNr"> 531 </span>    74/jump-if-equal  $scan-next-byte:<span class="Constant">loop</span>/disp8
+<span id="L531" class="LineNr"> 531 </span>    74/jump-if-=  $scan-next-byte:<span class="Constant">loop</span>/disp8
 <span id="L532" class="LineNr"> 532 </span>    <span class="subxComment"># if (eax == '\n') continue</span>
 <span id="L533" class="LineNr"> 533 </span>    3d/compare-eax-and  0xa/imm32/newline
-<span id="L534" class="LineNr"> 534 </span>    74/jump-if-equal  $scan-next-byte:<span class="Constant">loop</span>/disp8
+<span id="L534" class="LineNr"> 534 </span>    74/jump-if-=  $scan-next-byte:<span class="Constant">loop</span>/disp8
 <span id="L535" class="LineNr"> 535 </span><span class="Constant">$scan-next-byte:check2</span>:
 <span id="L536" class="LineNr"> 536 </span>    <span class="subxComment"># if (eax == '#') skip-until-newline(in)</span>
 <span id="L537" class="LineNr"> 537 </span>    3d/compare-with-eax  0x23/imm32
-<span id="L538" class="LineNr"> 538 </span>    75/jump-if-not-equal  $scan-next-byte:check3/disp8
+<span id="L538" class="LineNr"> 538 </span>    75/jump-if-!=  $scan-next-byte:check3/disp8
 <span id="L539" class="LineNr"> 539 </span>    <span class="subxS1Comment"># . skip-until-newline(in)</span>
 <span id="L540" class="LineNr"> 540 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L541" class="LineNr"> 541 </span>    ff          6/subop/push        1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># push *(ebp+8)</span>
@@ -702,7 +702,7 @@ if ('onhashchange' in window) {
 <span id="L641" class="LineNr"> 641 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L642" class="LineNr"> 642 </span>    <span class="subxComment"># return if abort</span>
 <span id="L643" class="LineNr"> 643 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L644" class="LineNr"> 644 </span>    75/jump-if-not-equal  $test-scan-next-byte:end/disp8
+<span id="L644" class="LineNr"> 644 </span>    75/jump-if-!=  $test-scan-next-byte:end/disp8
 <span id="L645" class="LineNr"> 645 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L646" class="LineNr"> 646 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L647" class="LineNr"> 647 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte&quot;</span>/imm32
@@ -800,7 +800,7 @@ if ('onhashchange' in window) {
 <span id="L739" class="LineNr"> 739 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L740" class="LineNr"> 740 </span>    <span class="subxComment"># return if abort</span>
 <span id="L741" class="LineNr"> 741 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L742" class="LineNr"> 742 </span>    75/jump-if-not-equal  $test-scan-next-byte-skips-whitespace:end/disp8
+<span id="L742" class="LineNr"> 742 </span>    75/jump-if-!=  $test-scan-next-byte-skips-whitespace:end/disp8
 <span id="L743" class="LineNr"> 743 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L744" class="LineNr"> 744 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L745" class="LineNr"> 745 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-skips-whitespace&quot;</span>/imm32
@@ -906,7 +906,7 @@ if ('onhashchange' in window) {
 <span id="L845" class="LineNr"> 845 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L846" class="LineNr"> 846 </span>    <span class="subxComment"># return if abort</span>
 <span id="L847" class="LineNr"> 847 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L848" class="LineNr"> 848 </span>    75/jump-if-not-equal  $test-scan-next-byte-skips-comment:end/disp8
+<span id="L848" class="LineNr"> 848 </span>    75/jump-if-!=  $test-scan-next-byte-skips-comment:end/disp8
 <span id="L849" class="LineNr"> 849 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L851" class="LineNr"> 851 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-skips-comment&quot;</span>/imm32
@@ -1012,7 +1012,7 @@ if ('onhashchange' in window) {
 <span id="L951" class="LineNr"> 951 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L952" class="LineNr"> 952 </span>    <span class="subxComment"># return if abort</span>
 <span id="L953" class="LineNr"> 953 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L954" class="LineNr"> 954 </span>    75/jump-if-not-equal  $test-scan-next-byte-skips-comment-and-whitespace:end/disp8
+<span id="L954" class="LineNr"> 954 </span>    75/jump-if-!=  $test-scan-next-byte-skips-comment-and-whitespace:end/disp8
 <span id="L955" class="LineNr"> 955 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L956" class="LineNr"> 956 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L957" class="LineNr"> 957 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-skips-comment-and-whitespace&quot;</span>/imm32
@@ -1120,7 +1120,7 @@ if ('onhashchange' in window) {
 <span id="L1059" class="LineNr">1059 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L1060" class="LineNr">1060 </span>    <span class="subxComment"># return if abort</span>
 <span id="L1061" class="LineNr">1061 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L1062" class="LineNr">1062 </span>    75/jump-if-not-equal  $test-scan-next-byte-skips-whitespace-and-comment:end/disp8
+<span id="L1062" class="LineNr">1062 </span>    75/jump-if-!=  $test-scan-next-byte-skips-whitespace-and-comment:end/disp8
 <span id="L1063" class="LineNr">1063 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L1064" class="LineNr">1064 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1065" class="LineNr">1065 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-skips-whitespace-and-comment&quot;</span>/imm32
@@ -1218,7 +1218,7 @@ if ('onhashchange' in window) {
 <span id="L1157" class="LineNr">1157 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L1158" class="LineNr">1158 </span>    <span class="subxComment"># return if abort</span>
 <span id="L1159" class="LineNr">1159 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L1160" class="LineNr">1160 </span>    75/jump-if-not-equal  $test-scan-next-byte-reads-final-byte:end/disp8
+<span id="L1160" class="LineNr">1160 </span>    75/jump-if-!=  $test-scan-next-byte-reads-final-byte:end/disp8
 <span id="L1161" class="LineNr">1161 </span>    <span class="subxComment"># check-ints-equal(eax, 0x61/a, msg)</span>
 <span id="L1162" class="LineNr">1162 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1163" class="LineNr">1163 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-reads-final-byte&quot;</span>/imm32
@@ -1308,7 +1308,7 @@ if ('onhashchange' in window) {
 <span id="L1247" class="LineNr">1247 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L1248" class="LineNr">1248 </span>    <span class="subxComment"># return if abort</span>
 <span id="L1249" class="LineNr">1249 </span>    81          7/subop/compare     1/mod/*+disp8   1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># compare *(ecx+4)</span>
-<span id="L1250" class="LineNr">1250 </span>    75/jump-if-not-equal  $test-scan-next-byte-handles-Eof:end/disp8
+<span id="L1250" class="LineNr">1250 </span>    75/jump-if-!=  $test-scan-next-byte-handles-Eof:end/disp8
 <span id="L1251" class="LineNr">1251 </span>    <span class="subxComment"># check-ints-equal(eax, Eof, msg)</span>
 <span id="L1252" class="LineNr">1252 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L1253" class="LineNr">1253 </span>    68/push  <span class="Constant">&quot;F - test-scan-next-byte-handles-Eof&quot;</span>/imm32
@@ -1434,10 +1434,10 @@ if ('onhashchange' in window) {
 <span id="L1373" class="LineNr">1373 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1374" class="LineNr">1374 </span>    <span class="subxS1Comment"># . if (eax == Eof) break</span>
 <span id="L1375" class="LineNr">1375 </span>    3d/compare-eax-and  0xffffffff/imm32/Eof
-<span id="L1376" class="LineNr">1376 </span>    74/jump-if-equal  $skip-until-newline:end/disp8
+<span id="L1376" class="LineNr">1376 </span>    74/jump-if-=  $skip-until-newline:end/disp8
 <span id="L1377" class="LineNr">1377 </span>    <span class="subxS1Comment"># . if (eax != 0xa/newline) loop</span>
 <span id="L1378" class="LineNr">1378 </span>    3d/compare-eax-and  0xa/imm32/newline
-<span id="L1379" class="LineNr">1379 </span>    75/jump-if-not-equal  $skip-until-newline:<span class="Constant">loop</span>/disp8
+<span id="L1379" class="LineNr">1379 </span>    75/jump-if-!=  $skip-until-newline:<span class="Constant">loop</span>/disp8
 <span id="L1380" class="LineNr">1380 </span><span class="Constant">$skip-until-newline:end</span>:
 <span id="L1381" class="LineNr">1381 </span>    <span class="subxS1Comment"># . restore registers</span>
 <span id="L1382" class="LineNr">1382 </span>    58/pop-to-eax
diff --git a/html/apps/mu.subx.html b/html/apps/mu.subx.html
index f8e3cd69..a16e5c67 100644
--- a/html/apps/mu.subx.html
+++ b/html/apps/mu.subx.html
@@ -436,11 +436,11 @@ if ('onhashchange' in window) {
 <span id="L374" class="LineNr"> 374 </span>    {
 <span id="L375" class="LineNr"> 375 </span>      <span class="subxComment"># if (argc &lt;= 1) break</span>
 <span id="L376" class="LineNr"> 376 </span>      81 7/subop/compare *ebp 1/imm32
-<span id="L377" class="LineNr"> 377 </span>      7e/jump-if-lesser-or-equal <span class="Constant">break</span>/disp8
+<span id="L377" class="LineNr"> 377 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
 <span id="L378" class="LineNr"> 378 </span>      <span class="subxComment"># if (argv[1] != &quot;test&quot;) break</span>
 <span id="L379" class="LineNr"> 379 </span>      (<a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L380" class="LineNr"> 380 </span>      3d/compare-eax-and 0/imm32
-<span id="L381" class="LineNr"> 381 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L381" class="LineNr"> 381 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L382" class="LineNr"> 382 </span>      <span class="subxComment">#</span>
 <span id="L383" class="LineNr"> 383 </span>      (run-tests)
 <span id="L384" class="LineNr"> 384 </span>      <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -1042,13 +1042,13 @@ if ('onhashchange' in window) {
 <span id="L1025" class="LineNr">1025 </span>      (<a href='../071read-line.subx.html#L9'>read-line-buffered</a> *(ebp+8) %ecx)
 <span id="L1026" class="LineNr">1026 </span>      <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L1027" class="LineNr">1027 </span>      81 7/subop/compare *ecx 0/imm32
-<span id="L1028" class="LineNr">1028 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L1028" class="LineNr">1028 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L1029" class="Folded">1029 </span><span class="Folded">+--  6 lines: #?       # dump line ---------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1035" class="LineNr">1035 </span>      (<a href='../085next-word-or-string.subx.html#L8'>next-word-or-string</a> %ecx %edx)
 <span id="L1036" class="LineNr">1036 </span>      <span class="subxComment"># if slice-empty?(word-slice) continue</span>
 <span id="L1037" class="LineNr">1037 </span>      (<a href='../072slice.subx.html#L9'>slice-empty?</a> %edx)
 <span id="L1038" class="LineNr">1038 </span>      3d/compare-eax-and 0/imm32
-<span id="L1039" class="LineNr">1039 </span>      0f 85/jump-if-not-equal <span class="Constant">loop</span>/disp32
+<span id="L1039" class="LineNr">1039 </span>      0f 85/jump-if-!= <span class="Constant">loop</span>/disp32
 <span id="L1040" class="LineNr">1040 </span>      <span class="subxComment"># if (*word-slice-&gt;start == &quot;#&quot;) continue</span>
 <span id="L1041" class="LineNr">1041 </span>      <span class="subxS1Comment"># . eax = *word-slice-&gt;start</span>
 <span id="L1042" class="LineNr">1042 </span>      8b/-&gt; *edx 0/r32/eax
@@ -1056,13 +1056,13 @@ if ('onhashchange' in window) {
 <span id="L1044" class="LineNr">1044 </span>      81 4/subop/and %eax 0xff/imm32
 <span id="L1045" class="LineNr">1045 </span>      <span class="subxS1Comment"># . if (eax == '#') continue</span>
 <span id="L1046" class="LineNr">1046 </span>      3d/compare-eax-and 0x23/imm32/hash
-<span id="L1047" class="LineNr">1047 </span>      0f 84/jump-if-equal <span class="Constant">loop</span>/disp32
+<span id="L1047" class="LineNr">1047 </span>      0f 84/jump-if-= <span class="Constant">loop</span>/disp32
 <span id="L1048" class="LineNr">1048 </span>      <span class="subxComment"># if (slice-equal?(word-slice, &quot;fn&quot;)) parse a function</span>
 <span id="L1049" class="LineNr">1049 </span>      {
 <span id="L1050" class="LineNr">1050 </span><span class="Constant">$parse-mu:fn</span>:
 <span id="L1051" class="LineNr">1051 </span>        (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">&quot;fn&quot;</span>)
 <span id="L1052" class="LineNr">1052 </span>        3d/compare-eax-and 0/imm32
-<span id="L1053" class="LineNr">1053 </span>        0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L1053" class="LineNr">1053 </span>        0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L1054" class="LineNr">1054 </span>        <span class="subxComment"># var new-function/eax : (handle function) = populate-mu-function(in, new-function, vars)</span>
 <span id="L1055" class="LineNr">1055 </span>        (<a href='../069allocate.subx.html#L59'>allocate</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L264'>Function-size</a></span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L1056" class="LineNr">1056 </span>        (<a href='../080zero-out.subx.html#L8'>zero-out</a> %eax *<span class="SpecialChar"><a href='mu.subx.html#L264'>Function-size</a></span>)
@@ -1181,15 +1181,15 @@ if ('onhashchange' in window) {
 <span id="L1169" class="LineNr">1169 </span>    <span class="subxComment"># if (word-slice == '{') abort</span>
 <span id="L1170" class="LineNr">1170 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;{&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1171" class="LineNr">1171 </span>    3d/compare-eax-and 0/imm32
-<span id="L1172" class="LineNr">1172 </span>    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1172" class="LineNr">1172 </span>    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1173" class="LineNr">1173 </span>    <span class="subxComment"># if (word-slice == '-&gt;') abort</span>
 <span id="L1174" class="LineNr">1174 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;-&gt;&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1175" class="LineNr">1175 </span>    3d/compare-eax-and 0/imm32
-<span id="L1176" class="LineNr">1176 </span>    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1176" class="LineNr">1176 </span>    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1177" class="LineNr">1177 </span>    <span class="subxComment"># if (word-slice == '}') abort</span>
 <span id="L1178" class="LineNr">1178 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;}&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1179" class="LineNr">1179 </span>    3d/compare-eax-and 0/imm32
-<span id="L1180" class="LineNr">1180 </span>    0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1180" class="LineNr">1180 </span>    0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1181" class="LineNr">1181 </span>    <span class="subxComment"># save function name</span>
 <span id="L1182" class="LineNr">1182 </span>    (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L1183" class="LineNr">1183 </span>    89/&lt;- *edi 0/r32/eax  <span class="subxComment"># Function-name</span>
@@ -1202,21 +1202,21 @@ if ('onhashchange' in window) {
 <span id="L1190" class="LineNr">1190 </span>      <span class="subxComment"># if (word-slice == '{') goto done</span>
 <span id="L1191" class="LineNr">1191 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;{&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1192" class="LineNr">1192 </span>      3d/compare-eax-and 0/imm32
-<span id="L1193" class="LineNr">1193 </span>      0f 85/jump-if-not-equal $populate-mu-function-header:done/disp32
+<span id="L1193" class="LineNr">1193 </span>      0f 85/jump-if-!= $populate-mu-function-header:done/disp32
 <span id="L1194" class="LineNr">1194 </span>      <span class="subxComment"># if (word-slice == '-&gt;') break</span>
 <span id="L1195" class="LineNr">1195 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;-&gt;&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1196" class="LineNr">1196 </span>      3d/compare-eax-and 0/imm32
-<span id="L1197" class="LineNr">1197 </span>      0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L1197" class="LineNr">1197 </span>      0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L1198" class="LineNr">1198 </span>      <span class="subxComment"># if (word-slice == '}') abort</span>
 <span id="L1199" class="LineNr">1199 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;}&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1200" class="LineNr">1200 </span>      3d/compare-eax-and 0/imm32
-<span id="L1201" class="LineNr">1201 </span>      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1201" class="LineNr">1201 </span>      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1202" class="LineNr">1202 </span>      <span class="subxComment"># var v/ebx : (handle var) = parse-var-with-type(word-slice, first-line)</span>
 <span id="L1203" class="LineNr">1203 </span>      (<a href='mu.subx.html#L1464'>parse-var-with-type</a> %ecx *(ebp+8))  <span class="subxComment"># =&gt; eax</span>
 <span id="L1204" class="LineNr">1204 </span>      89/&lt;- %ebx 0/r32/eax
 <span id="L1205" class="LineNr">1205 </span>      <span class="subxComment"># assert(v-&gt;register == null)</span>
 <span id="L1206" class="LineNr">1206 </span>      81 7/subop/compare *(ebx+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L1207" class="LineNr">1207 </span>      0f 85/jump-if-not-equal $populate-mu-function-header:error2/disp32
+<span id="L1207" class="LineNr">1207 </span>      0f 85/jump-if-!= $populate-mu-function-header:error2/disp32
 <span id="L1208" class="LineNr">1208 </span>      <span class="subxComment"># v-&gt;stack-offset = next-offset</span>
 <span id="L1209" class="LineNr">1209 </span>      89/&lt;- *(ebx+0xc) 2/r32/edx  <span class="subxComment"># Var-stack-offset</span>
 <span id="L1210" class="LineNr">1210 </span>      <span class="subxComment"># next-offset += size-of(v)</span>
@@ -1236,21 +1236,21 @@ if ('onhashchange' in window) {
 <span id="L1224" class="LineNr">1224 </span>      <span class="subxComment"># if (word-slice == '{') break</span>
 <span id="L1225" class="LineNr">1225 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;{&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1226" class="LineNr">1226 </span>      3d/compare-eax-and 0/imm32
-<span id="L1227" class="LineNr">1227 </span>      0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L1227" class="LineNr">1227 </span>      0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L1228" class="LineNr">1228 </span>      <span class="subxComment"># if (word-slice == '-&gt;') abort</span>
 <span id="L1229" class="LineNr">1229 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;-&gt;&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1230" class="LineNr">1230 </span>      3d/compare-eax-and 0/imm32
-<span id="L1231" class="LineNr">1231 </span>      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1231" class="LineNr">1231 </span>      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1232" class="LineNr">1232 </span>      <span class="subxComment"># if (word-slice == '}') abort</span>
 <span id="L1233" class="LineNr">1233 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;}&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1234" class="LineNr">1234 </span>      3d/compare-eax-and 0/imm32
-<span id="L1235" class="LineNr">1235 </span>      0f 85/jump-if-not-equal $populate-mu-function-header:error1/disp32
+<span id="L1235" class="LineNr">1235 </span>      0f 85/jump-if-!= $populate-mu-function-header:error1/disp32
 <span id="L1236" class="LineNr">1236 </span>      <span class="subxComment">#</span>
 <span id="L1237" class="LineNr">1237 </span>      (<a href='mu.subx.html#L1464'>parse-var-with-type</a> %ecx *(ebp+8))  <span class="subxComment"># =&gt; eax</span>
 <span id="L1238" class="LineNr">1238 </span>      89/&lt;- %ebx 0/r32/eax
 <span id="L1239" class="LineNr">1239 </span>      <span class="subxComment"># assert(var-&gt;register != null)</span>
 <span id="L1240" class="LineNr">1240 </span>      81 7/subop/compare *(ebx+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L1241" class="LineNr">1241 </span>      0f 84/jump-if-equal $populate-mu-function-header:error3/disp32
+<span id="L1241" class="LineNr">1241 </span>      0f 84/jump-if-= $populate-mu-function-header:error3/disp32
 <span id="L1242" class="LineNr">1242 </span>      (<a href='mu.subx.html#L3128'>append-list</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ebx *(edi+0xc))  <span class="subxComment"># Function-outputs =&gt; eax</span>
 <span id="L1243" class="LineNr">1243 </span>      89/&lt;- *(edi+0xc) 0/r32/eax  <span class="subxComment"># Function-outputs</span>
 <span id="L1244" class="LineNr">1244 </span>      e9/jump <span class="Constant">loop</span>/disp32
@@ -1534,7 +1534,7 @@ if ('onhashchange' in window) {
 <span id="L1522" class="LineNr">1522 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1523" class="LineNr">1523 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1524" class="LineNr">1524 </span>      81 7/subop/compare %ebx 0x3a/imm32/colon
-<span id="L1525" class="LineNr">1525 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1525" class="LineNr">1525 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1526" class="LineNr">1526 </span>      89/&lt;- *(ecx+4) 0/r32/eax
 <span id="L1527" class="LineNr">1527 </span>    }
 <span id="L1528" class="LineNr">1528 </span>    <span class="subxS1Comment"># . if s ends with ',', decrement s-&gt;end</span>
@@ -1544,7 +1544,7 @@ if ('onhashchange' in window) {
 <span id="L1532" class="LineNr">1532 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1533" class="LineNr">1533 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1534" class="LineNr">1534 </span>      81 7/subop/compare %ebx 0x2c/imm32/comma
-<span id="L1535" class="LineNr">1535 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1535" class="LineNr">1535 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1536" class="LineNr">1536 </span>      89/&lt;- *(ecx+4) 0/r32/eax
 <span id="L1537" class="LineNr">1537 </span>    }
 <span id="L1538" class="LineNr">1538 </span><span class="Constant">$parse-var-with-type:write-name</span>:
@@ -1560,7 +1560,7 @@ if ('onhashchange' in window) {
 <span id="L1548" class="LineNr">1548 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1549" class="LineNr">1549 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1550" class="LineNr">1550 </span>      81 7/subop/compare %ebx 0x3a/imm32/colon
-<span id="L1551" class="LineNr">1551 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1551" class="LineNr">1551 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1552" class="LineNr">1552 </span>      89/&lt;- *(ecx+4) 0/r32/eax
 <span id="L1553" class="LineNr">1553 </span>    }
 <span id="L1554" class="LineNr">1554 </span>    <span class="subxS1Comment"># . if s ends with ',', decrement s-&gt;end</span>
@@ -1570,7 +1570,7 @@ if ('onhashchange' in window) {
 <span id="L1558" class="LineNr">1558 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1559" class="LineNr">1559 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1560" class="LineNr">1560 </span>      81 7/subop/compare %ebx 0x2c/imm32/comma
-<span id="L1561" class="LineNr">1561 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1561" class="LineNr">1561 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1562" class="LineNr">1562 </span>      89/&lt;- *(ecx+4) 0/r32/eax
 <span id="L1563" class="LineNr">1563 </span>    }
 <span id="L1564" class="LineNr">1564 </span>    <span class="subxComment"># if (!slice-empty?(s)) v-&gt;register = slice-to-string(s)</span>
@@ -1580,7 +1580,7 @@ if ('onhashchange' in window) {
 <span id="L1568" class="LineNr">1568 </span>      <span class="subxComment"># That's probably a sign we have the wrong algorithm for this function.</span>
 <span id="L1569" class="LineNr">1569 </span>      8b/-&gt; *ecx 0/r32/eax
 <span id="L1570" class="LineNr">1570 </span>      39/compare 0/r32/eax *(ecx+4)
-<span id="L1571" class="LineNr">1571 </span>      76/jump-if-lesser-or-equal <span class="Constant">break</span>/disp8
+<span id="L1571" class="LineNr">1571 </span>      76/jump-if-&lt;= <span class="Constant">break</span>/disp8
 <span id="L1572" class="LineNr">1572 </span>      (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %ecx)
 <span id="L1573" class="LineNr">1573 </span>      89/&lt;- *(edi+0x10) 0/r32/eax  <span class="subxComment"># Var-register</span>
 <span id="L1574" class="LineNr">1574 </span>    }
@@ -1589,33 +1589,33 @@ if ('onhashchange' in window) {
 <span id="L1577" class="LineNr">1577 </span>    <span class="subxComment"># if (word-slice == '{') abort</span>
 <span id="L1578" class="LineNr">1578 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;{&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1579" class="LineNr">1579 </span>    3d/compare-eax-and 0/imm32
-<span id="L1580" class="LineNr">1580 </span>    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1580" class="LineNr">1580 </span>    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1581" class="LineNr">1581 </span>    <span class="subxComment"># if (word-slice == '-&gt;') abort</span>
 <span id="L1582" class="LineNr">1582 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;-&gt;&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1583" class="LineNr">1583 </span>    3d/compare-eax-and 0/imm32
-<span id="L1584" class="LineNr">1584 </span>    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1584" class="LineNr">1584 </span>    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1585" class="LineNr">1585 </span>    <span class="subxComment"># if (word-slice == '}') abort</span>
 <span id="L1586" class="LineNr">1586 </span>    (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;}&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1587" class="LineNr">1587 </span>    3d/compare-eax-and 0/imm32
-<span id="L1588" class="LineNr">1588 </span>    0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1588" class="LineNr">1588 </span>    0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1589" class="LineNr">1589 </span>    <span class="subxComment"># if (slice-empty?(type)) skip</span>
 <span id="L1590" class="LineNr">1590 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> %ecx)
 <span id="L1591" class="LineNr">1591 </span>    {
 <span id="L1592" class="LineNr">1592 </span>      3d/compare-eax-and 0/imm32
-<span id="L1593" class="LineNr">1593 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L1593" class="LineNr">1593 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L1594" class="LineNr">1594 </span>      (<a href='mu.subx.html#L1640'>next-mu-token</a> *(ebp+0xc) %ecx)
 <span id="L1595" class="LineNr">1595 </span>      <span class="subxComment"># if (word-slice == '{') abort</span>
 <span id="L1596" class="LineNr">1596 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;{&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1597" class="LineNr">1597 </span>      3d/compare-eax-and 0/imm32
-<span id="L1598" class="LineNr">1598 </span>      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1598" class="LineNr">1598 </span>      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1599" class="LineNr">1599 </span>      <span class="subxComment"># if (word-slice == '-&gt;') abort</span>
 <span id="L1600" class="LineNr">1600 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;-&gt;&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1601" class="LineNr">1601 </span>      3d/compare-eax-and 0/imm32
-<span id="L1602" class="LineNr">1602 </span>      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1602" class="LineNr">1602 </span>      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1603" class="LineNr">1603 </span>      <span class="subxComment"># if (word-slice == '}') abort</span>
 <span id="L1604" class="LineNr">1604 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;}&quot;</span>)   <span class="subxComment"># =&gt; eax</span>
 <span id="L1605" class="LineNr">1605 </span>      3d/compare-eax-and 0/imm32
-<span id="L1606" class="LineNr">1606 </span>      0f 85/jump-if-not-equal $parse-var-with-type:abort/disp32
+<span id="L1606" class="LineNr">1606 </span>      0f 85/jump-if-!= $parse-var-with-type:abort/disp32
 <span id="L1607" class="LineNr">1607 </span>    }
 <span id="L1608" class="LineNr">1608 </span>    (<a href='mu.subx.html#L1681'>type-for</a> %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L1609" class="LineNr">1609 </span>    89/&lt;- *(edi+4) 0/r32/eax  <span class="subxComment"># Var-type</span>
@@ -1667,7 +1667,7 @@ if ('onhashchange' in window) {
 <span id="L1655" class="LineNr">1655 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1656" class="LineNr">1656 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1657" class="LineNr">1657 </span>      81 7/subop/compare %ebx 0x3a/imm32/colon
-<span id="L1658" class="LineNr">1658 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1658" class="LineNr">1658 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1659" class="LineNr">1659 </span>      89/&lt;- *(edi+4) 0/r32/eax
 <span id="L1660" class="LineNr">1660 </span>    }
 <span id="L1661" class="LineNr">1661 </span>    <span class="subxComment"># if out ends with ',', decrement out-&gt;end</span>
@@ -1677,7 +1677,7 @@ if ('onhashchange' in window) {
 <span id="L1665" class="LineNr">1665 </span>      8a/copy-byte *eax 3/r32/BL
 <span id="L1666" class="LineNr">1666 </span>      81 4/subop/and %ebx 0xff/imm32
 <span id="L1667" class="LineNr">1667 </span>      81 7/subop/compare %ebx 0x2c/imm32/comma
-<span id="L1668" class="LineNr">1668 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1668" class="LineNr">1668 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1669" class="LineNr">1669 </span>      89/&lt;- *(edi+4) 0/r32/eax
 <span id="L1670" class="LineNr">1670 </span>    }
 <span id="L1671" class="LineNr">1671 </span><span class="Constant">$next-mu-token:end</span>:
@@ -1734,14 +1734,14 @@ if ('onhashchange' in window) {
 <span id="L1722" class="LineNr">1722 </span>      <span class="subxComment"># if (curr &gt;= max) return -1</span>
 <span id="L1723" class="LineNr">1723 </span>      39/compare %edx 3/r32/ebx
 <span id="L1724" class="LineNr">1724 </span>      {
-<span id="L1725" class="LineNr">1725 </span>        72/jump-if-lesser-unsigned <span class="Constant">break</span>/disp8
+<span id="L1725" class="LineNr">1725 </span>        72/jump-if-addr&lt; <span class="Constant">break</span>/disp8
 <span id="L1726" class="LineNr">1726 </span>        b8/copy-to-eax 1/imm32
 <span id="L1727" class="LineNr">1727 </span>        eb/jump $pos-slice:end/disp8
 <span id="L1728" class="LineNr">1728 </span>      }
 <span id="L1729" class="LineNr">1729 </span>      <span class="subxComment"># if (slice-equal?(s, *curr)) break</span>
 <span id="L1730" class="LineNr">1730 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> *(ebp+0xc) *edx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L1731" class="LineNr">1731 </span>      3d/compare-eax-and 0/imm32
-<span id="L1732" class="LineNr">1732 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L1732" class="LineNr">1732 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L1733" class="LineNr">1733 </span>      <span class="subxComment"># ++index</span>
 <span id="L1734" class="LineNr">1734 </span>      41/increment-ecx
 <span id="L1735" class="LineNr">1735 </span>      <span class="subxComment"># curr += 4</span>
@@ -1913,7 +1913,7 @@ if ('onhashchange' in window) {
 <span id="L1901" class="LineNr">1901 </span>    <span class="subxComment"># if (slice-empty?(in)) return false</span>
 <span id="L1902" class="LineNr">1902 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> *(ebp+8))  <span class="subxComment"># =&gt; eax</span>
 <span id="L1903" class="LineNr">1903 </span>    3d/compare-eax-and 0/imm32
-<span id="L1904" class="LineNr">1904 </span>    75/jump-if-not-equal $is-identifier?:false/disp8
+<span id="L1904" class="LineNr">1904 </span>    75/jump-if-!= $is-identifier?:false/disp8
 <span id="L1905" class="LineNr">1905 </span>    <span class="subxComment"># var c/eax : byte = *in-&gt;start</span>
 <span id="L1906" class="LineNr">1906 </span>    8b/-&gt; *(ebp+8) 0/r32/eax
 <span id="L1907" class="LineNr">1907 </span>    8b/-&gt; *eax 0/r32/eax
@@ -1921,18 +1921,18 @@ if ('onhashchange' in window) {
 <span id="L1909" class="LineNr">1909 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L1910" class="LineNr">1910 </span>    <span class="subxComment"># if (c == '$') return true</span>
 <span id="L1911" class="LineNr">1911 </span>    3d/compare-eax-and 0x24/imm32/$
-<span id="L1912" class="LineNr">1912 </span>    74/jump-if-equal $is-identifier?:true/disp8
+<span id="L1912" class="LineNr">1912 </span>    74/jump-if-= $is-identifier?:true/disp8
 <span id="L1913" class="LineNr">1913 </span>    <span class="subxComment"># if (c == '_') return true</span>
 <span id="L1914" class="LineNr">1914 </span>    3d/compare-eax-and 0x5f/imm32/_
-<span id="L1915" class="LineNr">1915 </span>    74/jump-if-equal $is-identifier?:true/disp8
+<span id="L1915" class="LineNr">1915 </span>    74/jump-if-= $is-identifier?:true/disp8
 <span id="L1916" class="LineNr">1916 </span>    <span class="subxComment"># drop case</span>
 <span id="L1917" class="LineNr">1917 </span>    25/and-eax-with 0x5f/imm32
 <span id="L1918" class="LineNr">1918 </span>    <span class="subxComment"># if (c &lt; 'A') return false</span>
 <span id="L1919" class="LineNr">1919 </span>    3d/compare-eax-and 0x41/imm32/A
-<span id="L1920" class="LineNr">1920 </span>    7c/jump-if-lesser $is-identifier?:false/disp8
+<span id="L1920" class="LineNr">1920 </span>    7c/jump-if-&lt; $is-identifier?:false/disp8
 <span id="L1921" class="LineNr">1921 </span>    <span class="subxComment"># if (c &gt; 'Z') return false</span>
 <span id="L1922" class="LineNr">1922 </span>    3d/compare-eax-and 0x5a/imm32/Z
-<span id="L1923" class="LineNr">1923 </span>    7f/jump-if-greater $is-identifier?:false/disp8
+<span id="L1923" class="LineNr">1923 </span>    7f/jump-if-&gt; $is-identifier?:false/disp8
 <span id="L1924" class="LineNr">1924 </span>    <span class="subxComment"># otherwise return true</span>
 <span id="L1925" class="LineNr">1925 </span><span class="Constant">$is-identifier?:true</span>:
 <span id="L1926" class="LineNr">1926 </span>    b8/copy-to-eax 1/imm32/true
@@ -2294,7 +2294,7 @@ if ('onhashchange' in window) {
 <span id="L2282" class="LineNr">2282 </span><span class="CommentedCode">#?       (flush Stderr)</span>
 <span id="L2283" class="LineNr">2283 </span>      <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L2284" class="LineNr">2284 </span>      81 7/subop/compare *ecx 0/imm32
-<span id="L2285" class="LineNr">2285 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L2285" class="LineNr">2285 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L2286" class="LineNr">2286 </span>      <span class="subxComment"># word-slice = next-word(line)</span>
 <span id="L2287" class="LineNr">2287 </span>      (<a href='../076next-word.subx.html#L10'>next-word</a> %ecx %edx)
 <span id="L2288" class="LineNr">2288 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot;word: &quot;)</span>
@@ -2304,7 +2304,7 @@ if ('onhashchange' in window) {
 <span id="L2292" class="LineNr">2292 </span>      <span class="subxComment"># if slice-empty?(word-slice) continue</span>
 <span id="L2293" class="LineNr">2293 </span>      (<a href='../072slice.subx.html#L9'>slice-empty?</a> %edx)
 <span id="L2294" class="LineNr">2294 </span>      3d/compare-eax-and 0/imm32
-<span id="L2295" class="LineNr">2295 </span>      0f 85/jump-if-not-equal <span class="Constant">loop</span>/disp32
+<span id="L2295" class="LineNr">2295 </span>      0f 85/jump-if-!= <span class="Constant">loop</span>/disp32
 <span id="L2296" class="LineNr">2296 </span>      <span class="subxComment"># if (slice-starts-with?(word-slice, '#') continue</span>
 <span id="L2297" class="LineNr">2297 </span>      <span class="subxS1Comment"># . eax = *word-slice-&gt;start</span>
 <span id="L2298" class="LineNr">2298 </span>      8b/-&gt; *edx 0/r32/eax
@@ -2312,13 +2312,13 @@ if ('onhashchange' in window) {
 <span id="L2300" class="LineNr">2300 </span>      81 4/subop/and %eax 0xff/imm32
 <span id="L2301" class="LineNr">2301 </span>      <span class="subxS1Comment"># . if (eax == '#') continue</span>
 <span id="L2302" class="LineNr">2302 </span>      3d/compare-eax-and 0x23/imm32/hash
-<span id="L2303" class="LineNr">2303 </span>      0f 84/jump-if-equal <span class="Constant">loop</span>/disp32
+<span id="L2303" class="LineNr">2303 </span>      0f 84/jump-if-= <span class="Constant">loop</span>/disp32
 <span id="L2304" class="LineNr">2304 </span>      <span class="subxComment"># if slice-equal?(word-slice, &quot;{&quot;)</span>
 <span id="L2305" class="LineNr">2305 </span>      {
 <span id="L2306" class="LineNr">2306 </span><span class="Constant">$parse-mu-block:check-for-block</span>:
 <span id="L2307" class="LineNr">2307 </span>        (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">&quot;{&quot;</span>)
 <span id="L2308" class="LineNr">2308 </span>        3d/compare-eax-and 0/imm32
-<span id="L2309" class="LineNr">2309 </span>        74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L2309" class="LineNr">2309 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L2310" class="LineNr">2310 </span>        (<a href='mu.subx.html#L2381'>check-no-tokens-left</a> %ecx)
 <span id="L2311" class="LineNr">2311 </span>        <span class="subxComment"># parse new block and append</span>
 <span id="L2312" class="LineNr">2312 </span>        (<a href='mu.subx.html#L2220'>parse-mu-block</a> *(ebp+8) *(ebp+0xc) *(ebp+0x10))  <span class="subxComment"># =&gt; eax</span>
@@ -2329,7 +2329,7 @@ if ('onhashchange' in window) {
 <span id="L2317" class="LineNr">2317 </span><span class="Constant">$parse-mu-block:check-for-end</span>:
 <span id="L2318" class="LineNr">2318 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">&quot;}&quot;</span>)
 <span id="L2319" class="LineNr">2319 </span>      3d/compare-eax-and 0/imm32
-<span id="L2320" class="LineNr">2320 </span>      0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L2320" class="LineNr">2320 </span>      0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L2321" class="LineNr">2321 </span>      <span class="subxComment"># if slice-ends-with?(word-slice, &quot;:&quot;) parse named block and append</span>
 <span id="L2322" class="LineNr">2322 </span>      {
 <span id="L2323" class="LineNr">2323 </span><span class="Constant">$parse-mu-block:check-for-named-block</span>:
@@ -2339,7 +2339,7 @@ if ('onhashchange' in window) {
 <span id="L2327" class="LineNr">2327 </span>        81 4/subop/and %eax 0xff/imm32
 <span id="L2328" class="LineNr">2328 </span>        <span class="subxS1Comment"># . if (eax != ':') break</span>
 <span id="L2329" class="LineNr">2329 </span>        3d/compare-eax-and 0x23/imm32/hash
-<span id="L2330" class="LineNr">2330 </span>        0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L2330" class="LineNr">2330 </span>        0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L2331" class="LineNr">2331 </span>        <span class="subxComment">#</span>
 <span id="L2332" class="LineNr">2332 </span>        (<a href='mu.subx.html#L2428'>parse-mu-named-block</a> %edx %ecx *(ebp+8) *(ebp+0xc) *(ebp+0x10))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2333" class="LineNr">2333 </span>        (<a href='mu.subx.html#L3164'>append-to-block</a> %edi %eax)
@@ -2350,7 +2350,7 @@ if ('onhashchange' in window) {
 <span id="L2338" class="LineNr">2338 </span><span class="Constant">$parse-mu-block:check-for-var</span>:
 <span id="L2339" class="LineNr">2339 </span>        (<a href='../072slice.subx.html#L91'>slice-equal?</a> %edx <span class="Constant">&quot;var&quot;</span>)
 <span id="L2340" class="LineNr">2340 </span>        3d/compare-eax-and 0/imm32
-<span id="L2341" class="LineNr">2341 </span>        74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L2341" class="LineNr">2341 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L2342" class="LineNr">2342 </span>        <span class="subxComment">#</span>
 <span id="L2343" class="LineNr">2343 </span>        (<a href='mu.subx.html#L2472'>parse-mu-var-def</a> %ecx *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2344" class="LineNr">2344 </span>        (<a href='mu.subx.html#L3164'>append-to-block</a> %edi %eax)
@@ -2406,7 +2406,7 @@ if ('onhashchange' in window) {
 <span id="L2394" class="LineNr">2394 </span>    <span class="subxComment"># if slice-empty?(s) return</span>
 <span id="L2395" class="LineNr">2395 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> %ecx)
 <span id="L2396" class="LineNr">2396 </span>    3d/compare-eax-and 0/imm32
-<span id="L2397" class="LineNr">2397 </span>    75/jump-if-not-equal $check-no-tokens-left:end/disp8
+<span id="L2397" class="LineNr">2397 </span>    75/jump-if-!= $check-no-tokens-left:end/disp8
 <span id="L2398" class="LineNr">2398 </span>    <span class="subxComment"># if (slice-starts-with?(s, '#') return</span>
 <span id="L2399" class="LineNr">2399 </span>    <span class="subxS1Comment"># . eax = *s-&gt;start</span>
 <span id="L2400" class="LineNr">2400 </span>    8b/-&gt; *edx 0/r32/eax
@@ -2414,7 +2414,7 @@ if ('onhashchange' in window) {
 <span id="L2402" class="LineNr">2402 </span>    81 4/subop/and %eax 0xff/imm32
 <span id="L2403" class="LineNr">2403 </span>    <span class="subxS1Comment"># . if (eax == '#') continue</span>
 <span id="L2404" class="LineNr">2404 </span>    3d/compare-eax-and 0x23/imm32/hash
-<span id="L2405" class="LineNr">2405 </span>    74/jump-if-equal $check-no-tokens-left:end/disp8
+<span id="L2405" class="LineNr">2405 </span>    74/jump-if-= $check-no-tokens-left:end/disp8
 <span id="L2406" class="LineNr">2406 </span>    <span class="subxComment"># abort</span>
 <span id="L2407" class="LineNr">2407 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> <span class="SpecialChar"><a href='../065write-buffered.subx.html#L209'>Stderr</a></span> <span class="Constant">&quot;'{' or '}' should be on its own line, but got '&quot;</span>)
 <span id="L2408" class="LineNr">2408 </span>    (<a href='../055stream.subx.html#L54'>rewind-stream</a> %ecx)
@@ -2532,7 +2532,7 @@ if ('onhashchange' in window) {
 <span id="L2520" class="LineNr">2520 </span>    {
 <span id="L2521" class="LineNr">2521 </span>      (<a href='mu.subx.html#L2607'>stmt-has-outputs?</a> *(ebp+8))
 <span id="L2522" class="LineNr">2522 </span>      3d/compare-eax-and 0/imm32
-<span id="L2523" class="LineNr">2523 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L2523" class="LineNr">2523 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L2524" class="LineNr">2524 </span>      {
 <span id="L2525" class="LineNr">2525 </span><span class="Constant">$parse-mu-stmt:read-outputs</span>:
 <span id="L2526" class="LineNr">2526 </span>        <span class="subxComment"># name = next-word(line)</span>
@@ -2540,15 +2540,15 @@ if ('onhashchange' in window) {
 <span id="L2528" class="LineNr">2528 </span>        <span class="subxComment"># if slice-empty?(word-slice) break</span>
 <span id="L2529" class="LineNr">2529 </span>        (<a href='../072slice.subx.html#L9'>slice-empty?</a> %ecx)
 <span id="L2530" class="LineNr">2530 </span>        3d/compare-eax-and 0/imm32
-<span id="L2531" class="LineNr">2531 </span>        0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L2531" class="LineNr">2531 </span>        0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L2532" class="LineNr">2532 </span>        <span class="subxComment"># if (name == &quot;&lt;-&quot;) break</span>
 <span id="L2533" class="LineNr">2533 </span>        (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;&lt;-&quot;</span>)
 <span id="L2534" class="LineNr">2534 </span>        3d/compare-eax-and 0/imm32
-<span id="L2535" class="LineNr">2535 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L2535" class="LineNr">2535 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L2536" class="LineNr">2536 </span>        <span class="subxComment"># assert(is-identifier?(name))</span>
 <span id="L2537" class="LineNr">2537 </span>        (<a href='mu.subx.html#L1897'>is-identifier?</a> %ecx)
 <span id="L2538" class="LineNr">2538 </span>        3d/compare-eax-and 0/imm32
-<span id="L2539" class="LineNr">2539 </span>        0f 84/jump-if-equal $parse-mu-stmt:abort/disp32
+<span id="L2539" class="LineNr">2539 </span>        0f 84/jump-if-= $parse-mu-stmt:abort/disp32
 <span id="L2540" class="LineNr">2540 </span>        <span class="subxComment">#</span>
 <span id="L2541" class="LineNr">2541 </span>        (<a href='mu.subx.html#L2799'>lookup-or-define-var</a> %ecx *(ebp+0xc) *(ebp+0x10))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2542" class="LineNr">2542 </span>        (<a href='mu.subx.html#L3128'>append-list</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %eax *(edi+0xc))  <span class="subxComment"># Stmt1-outputs =&gt; eax</span>
@@ -2567,11 +2567,11 @@ if ('onhashchange' in window) {
 <span id="L2555" class="LineNr">2555 </span>      <span class="subxComment"># if slice-empty?(word-slice) break</span>
 <span id="L2556" class="LineNr">2556 </span>      (<a href='../072slice.subx.html#L9'>slice-empty?</a> %ecx)
 <span id="L2557" class="LineNr">2557 </span>      3d/compare-eax-and 0/imm32
-<span id="L2558" class="LineNr">2558 </span>      0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L2558" class="LineNr">2558 </span>      0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L2559" class="LineNr">2559 </span>      <span class="subxComment"># if (name == &quot;&lt;-&quot;) abort</span>
 <span id="L2560" class="LineNr">2560 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;&lt;-&quot;</span>)
 <span id="L2561" class="LineNr">2561 </span>      3d/compare-eax-and 0/imm32
-<span id="L2562" class="LineNr">2562 </span>      0f 85/jump-if-not-equal $parse-mu-stmt:abort2/disp32
+<span id="L2562" class="LineNr">2562 </span>      0f 85/jump-if-!= $parse-mu-stmt:abort2/disp32
 <span id="L2563" class="LineNr">2563 </span>      <span class="subxComment">#</span>
 <span id="L2564" class="LineNr">2564 </span>      (<a href='mu.subx.html#L2655'>lookup-var-or-literal</a> %ecx *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2565" class="LineNr">2565 </span>      (<a href='mu.subx.html#L3128'>append-list</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %eax *(edi+8))  <span class="subxComment"># Stmt1-inouts =&gt; eax</span>
@@ -2635,7 +2635,7 @@ if ('onhashchange' in window) {
 <span id="L2623" class="LineNr">2623 </span>      (<a href='../072slice.subx.html#L9'>slice-empty?</a> %ecx)
 <span id="L2624" class="LineNr">2624 </span>      3d/compare-eax-and 0/imm32
 <span id="L2625" class="LineNr">2625 </span>      b8/copy-to-eax 0/imm32/false/result  <span class="subxComment"># restore result (if we're here it's still false)</span>
-<span id="L2626" class="LineNr">2626 </span>      0f 85/jump-if-not-equal <span class="Constant">break</span>/disp32
+<span id="L2626" class="LineNr">2626 </span>      0f 85/jump-if-!= <span class="Constant">break</span>/disp32
 <span id="L2627" class="LineNr">2627 </span>      <span class="subxComment"># if slice-starts-with?(word-slice, '#') break</span>
 <span id="L2628" class="LineNr">2628 </span>      <span class="subxS1Comment"># . eax = *word-slice-&gt;start</span>
 <span id="L2629" class="LineNr">2629 </span>      8b/-&gt; *ecx 0/r32/eax
@@ -2644,11 +2644,11 @@ if ('onhashchange' in window) {
 <span id="L2632" class="LineNr">2632 </span>      <span class="subxS1Comment"># . if (eax == '#') break</span>
 <span id="L2633" class="LineNr">2633 </span>      3d/compare-eax-and 0x23/imm32/hash
 <span id="L2634" class="LineNr">2634 </span>      b8/copy-to-eax 0/imm32/false/result  <span class="subxComment"># restore result (if we're here it's still false)</span>
-<span id="L2635" class="LineNr">2635 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L2635" class="LineNr">2635 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L2636" class="LineNr">2636 </span>      <span class="subxComment"># if slice-equal?(word-slice, '&lt;-') return true</span>
 <span id="L2637" class="LineNr">2637 </span>      (<a href='../072slice.subx.html#L91'>slice-equal?</a> %ecx <span class="Constant">&quot;&lt;-&quot;</span>)
 <span id="L2638" class="LineNr">2638 </span>      3d/compare-eax-and 0/imm32
-<span id="L2639" class="LineNr">2639 </span>      74/jump-if-equal <span class="Constant">loop</span>/disp8
+<span id="L2639" class="LineNr">2639 </span>      74/jump-if-= <span class="Constant">loop</span>/disp8
 <span id="L2640" class="LineNr">2640 </span>      b8/copy-to-eax 1/imm32/true
 <span id="L2641" class="LineNr">2641 </span>    }
 <span id="L2642" class="LineNr">2642 </span><span class="Constant">$stmt-has-outputs:end</span>:
@@ -2676,7 +2676,7 @@ if ('onhashchange' in window) {
 <span id="L2664" class="LineNr">2664 </span>    <span class="subxComment"># if slice-empty?(name) abort</span>
 <span id="L2665" class="LineNr">2665 </span>    (<a href='../072slice.subx.html#L9'>slice-empty?</a> %esi)  <span class="subxComment"># =&gt; eax</span>
 <span id="L2666" class="LineNr">2666 </span>    3d/compare-eax-and 0/imm32
-<span id="L2667" class="LineNr">2667 </span>    0f 85/jump-if-not-equal $lookup-var-or-literal:abort/disp32
+<span id="L2667" class="LineNr">2667 </span>    0f 85/jump-if-!= $lookup-var-or-literal:abort/disp32
 <span id="L2668" class="LineNr">2668 </span>    <span class="subxComment"># var ecx : byte = *name-&gt;start</span>
 <span id="L2669" class="LineNr">2669 </span>    8b/-&gt; *esi 1/r32/ecx
 <span id="L2670" class="LineNr">2670 </span>    8a/copy-byte *ecx 1/r32/CL
@@ -2685,12 +2685,12 @@ if ('onhashchange' in window) {
 <span id="L2673" class="LineNr">2673 </span>    (<a href='../075print-int-decimal.subx.html#L307'>is-decimal-digit?</a> %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L2674" class="LineNr">2674 </span>    81 7/subop/compare %eax 0/imm32
 <span id="L2675" class="LineNr">2675 </span>    {
-<span id="L2676" class="LineNr">2676 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L2676" class="LineNr">2676 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L2677" class="LineNr">2677 </span>      (<a href='mu.subx.html#L2954'>new-literal-integer</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> %esi)  <span class="subxComment"># =&gt; eax</span>
 <span id="L2678" class="LineNr">2678 </span>    }
 <span id="L2679" class="LineNr">2679 </span>    <span class="subxComment"># otherwise return lookup-var(name, vars)</span>
 <span id="L2680" class="LineNr">2680 </span>    {
-<span id="L2681" class="LineNr">2681 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L2681" class="LineNr">2681 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L2682" class="LineNr">2682 </span>      (<a href='mu.subx.html#L2703'>lookup-var</a> %esi *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2683" class="LineNr">2683 </span>    }
 <span id="L2684" class="LineNr">2684 </span><span class="Constant">$lookup-var-or-literal:end</span>:
@@ -2722,7 +2722,7 @@ if ('onhashchange' in window) {
 <span id="L2710" class="LineNr">2710 </span>    (<a href='mu.subx.html#L2732'>lookup-var-helper</a> %eax *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2711" class="LineNr">2711 </span>    <span class="subxComment"># if (result == 0) abort</span>
 <span id="L2712" class="LineNr">2712 </span>    3d/compare-eax-and 0/imm32
-<span id="L2713" class="LineNr">2713 </span>    74/jump-if-equal $lookup-var:abort/disp8
+<span id="L2713" class="LineNr">2713 </span>    74/jump-if-= $lookup-var:abort/disp8
 <span id="L2714" class="LineNr">2714 </span><span class="Constant">$lookup-var:end</span>:
 <span id="L2715" class="LineNr">2715 </span>    <span class="subxS1Comment"># . epilogue</span>
 <span id="L2716" class="LineNr">2716 </span>    89/&lt;- %esp 5/r32/ebp
@@ -2764,7 +2764,7 @@ if ('onhashchange' in window) {
 <span id="L2752" class="LineNr">2752 </span>    8b/-&gt; *esi 3/r32/ebx
 <span id="L2753" class="LineNr">2753 </span>    <span class="subxComment"># if (vars-&gt;top &gt; vars-&gt;length) abort</span>
 <span id="L2754" class="LineNr">2754 </span>    3b/compare 0/r32/eax *(esi+4)
-<span id="L2755" class="LineNr">2755 </span>    0f 8f/jump-if-greater $lookup-var-helper:error1/disp32
+<span id="L2755" class="LineNr">2755 </span>    0f 8f/jump-if-&gt; $lookup-var-helper:error1/disp32
 <span id="L2756" class="LineNr">2756 </span>    <span class="subxComment"># var min/edx : (addr handle var) = vars-&gt;data</span>
 <span id="L2757" class="LineNr">2757 </span>    8d/copy-address *(esi+8) 2/r32/edx
 <span id="L2758" class="LineNr">2758 </span>    <span class="subxComment"># var curr/ebx : (addr handle var) = &amp;vars-&gt;data[vars-&gt;top - 4]</span>
@@ -2774,14 +2774,14 @@ if ('onhashchange' in window) {
 <span id="L2762" class="LineNr">2762 </span>      <span class="subxComment"># if (curr &lt; min) return 0</span>
 <span id="L2763" class="LineNr">2763 </span>      39/compare %ebx 2/r32/edx
 <span id="L2764" class="LineNr">2764 </span>      b8/copy-to-eax 0/imm32
-<span id="L2765" class="LineNr">2765 </span>      0f 82/jump-if-lesser-unsigned <span class="Constant">break</span>/disp32
+<span id="L2765" class="LineNr">2765 </span>      0f 82/jump-if-addr&lt; <span class="Constant">break</span>/disp32
 <span id="L2766" class="LineNr">2766 </span>      <span class="subxComment"># var v/eax : (handle var) = *curr</span>
 <span id="L2767" class="LineNr">2767 </span>      8b/-&gt; *ebx 0/r32/eax
 <span id="L2768" class="LineNr">2768 </span>      <span class="subxComment"># if (v-&gt;name == name) return v</span>
 <span id="L2769" class="LineNr">2769 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *eax *(ebp+8))  <span class="subxComment"># Var-name</span>
 <span id="L2770" class="LineNr">2770 </span>      3d/compare-eax-and 0/imm32
 <span id="L2771" class="LineNr">2771 </span>      8b/-&gt; *ebx 0/r32/eax
-<span id="L2772" class="LineNr">2772 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L2772" class="LineNr">2772 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L2773" class="LineNr">2773 </span>      <span class="subxComment"># curr -= 4</span>
 <span id="L2774" class="LineNr">2774 </span>      81 5/subop/subtract %ebx 4/imm32
 <span id="L2775" class="LineNr">2775 </span>      e9/jump <span class="Constant">loop</span>/disp32
@@ -2822,13 +2822,13 @@ if ('onhashchange' in window) {
 <span id="L2810" class="LineNr">2810 </span>    {
 <span id="L2811" class="LineNr">2811 </span>      <span class="subxComment"># if (result != 0) return</span>
 <span id="L2812" class="LineNr">2812 </span>      3d/compare-eax-and 0/imm32
-<span id="L2813" class="LineNr">2813 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L2813" class="LineNr">2813 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L2814" class="LineNr">2814 </span>      <span class="subxComment"># if name is one of fn's outputs, return it</span>
 <span id="L2815" class="LineNr">2815 </span>      {
 <span id="L2816" class="LineNr">2816 </span>        (<a href='mu.subx.html#L2830'>find-in-function-outputs</a> *(ebp+0x10) %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L2817" class="LineNr">2817 </span>        3d/compare-eax-and 0/imm32
 <span id="L2818" class="LineNr">2818 </span>        <span class="subxComment"># otherwise abort</span>
-<span id="L2819" class="LineNr">2819 </span>        0f 84/jump-if-not-equal $lookup-var:abort/disp32
+<span id="L2819" class="LineNr">2819 </span>        0f 84/jump-if-!= $lookup-var:abort/disp32
 <span id="L2820" class="LineNr">2820 </span>      }
 <span id="L2821" class="LineNr">2821 </span>    }
 <span id="L2822" class="LineNr">2822 </span><span class="Constant">$lookup-or-define-var:end</span>:
@@ -2851,7 +2851,7 @@ if ('onhashchange' in window) {
 <span id="L2839" class="LineNr">2839 </span>    <span class="subxComment"># while curr != null</span>
 <span id="L2840" class="LineNr">2840 </span>    {
 <span id="L2841" class="LineNr">2841 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L2842" class="LineNr">2842 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L2842" class="LineNr">2842 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L2843" class="LineNr">2843 </span>      <span class="subxComment"># var v : (handle var) = *curr</span>
 <span id="L2844" class="LineNr">2844 </span>      8b/-&gt; *ecx 0/r32/eax  <span class="subxComment"># List-value</span>
 <span id="L2845" class="LineNr">2845 </span>      <span class="subxComment"># if (curr-&gt;name == name) return curr</span>
@@ -2859,7 +2859,7 @@ if ('onhashchange' in window) {
 <span id="L2847" class="LineNr">2847 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *eax *(ebp+0xc))
 <span id="L2848" class="LineNr">2848 </span>      3d/compare-eax-and 0/imm32
 <span id="L2849" class="LineNr">2849 </span>      58/pop-to-eax
-<span id="L2850" class="LineNr">2850 </span>      75/jump-if-not-equal $find-in-function-outputs:end/disp8
+<span id="L2850" class="LineNr">2850 </span>      75/jump-if-!= $find-in-function-outputs:end/disp8
 <span id="L2851" class="LineNr">2851 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
 <span id="L2852" class="LineNr">2852 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx  <span class="subxComment"># List-next</span>
 <span id="L2853" class="LineNr">2853 </span>      eb/jump <span class="Constant">loop</span>/disp8
@@ -2972,7 +2972,7 @@ if ('onhashchange' in window) {
 <span id="L2960" class="LineNr">2960 </span>    <span class="subxComment"># if (!is-hex-int?(name)) abort</span>
 <span id="L2961" class="LineNr">2961 </span>    (<a href='../067parse-hex.subx.html#L9'>is-hex-int?</a> *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2962" class="LineNr">2962 </span>    3d/compare-eax-and 0/imm32
-<span id="L2963" class="LineNr">2963 </span>    0f 84/jump-if-equal $new-literal-integer:abort/disp32
+<span id="L2963" class="LineNr">2963 </span>    0f 84/jump-if-= $new-literal-integer:abort/disp32
 <span id="L2964" class="LineNr">2964 </span>    <span class="subxComment"># var s/ecx : (addr array byte)</span>
 <span id="L2965" class="LineNr">2965 </span>    (<a href='../072slice.subx.html#L1015'>slice-to-string</a> <span class="SpecialChar"><a href='../069allocate.subx.html#L22'>Heap</a></span> *(ebp+0xc))  <span class="subxComment"># =&gt; eax</span>
 <span id="L2966" class="LineNr">2966 </span>    89/&lt;- %ecx 0/r32/eax
@@ -3149,14 +3149,14 @@ if ('onhashchange' in window) {
 <span id="L3137" class="LineNr">3137 </span>    89/&lt;- *eax 1/r32/ecx  <span class="subxComment"># List-value</span>
 <span id="L3138" class="LineNr">3138 </span>    <span class="subxComment"># if (list == null) return result</span>
 <span id="L3139" class="LineNr">3139 </span>    81 7/subop/compare *(ebp+0x10) 0/imm32
-<span id="L3140" class="LineNr">3140 </span>    74/jump-if-equal $new-list:end/disp8
+<span id="L3140" class="LineNr">3140 </span>    74/jump-if-= $new-list:end/disp8
 <span id="L3141" class="LineNr">3141 </span>    <span class="subxComment"># otherwise append</span>
 <span id="L3142" class="LineNr">3142 </span>    <span class="subxComment"># var curr/ecx = list</span>
 <span id="L3143" class="LineNr">3143 </span>    8b/-&gt; *(ebp+0x10) 1/r32/ecx
 <span id="L3144" class="LineNr">3144 </span>    <span class="subxComment"># while (curr-&gt;next != null) curr = curr-&gt;next</span>
 <span id="L3145" class="LineNr">3145 </span>    {
 <span id="L3146" class="LineNr">3146 </span>      81 7/subop/compare *(ecx+4) 0/imm32  <span class="subxComment"># List-next</span>
-<span id="L3147" class="LineNr">3147 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L3147" class="LineNr">3147 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L3148" class="LineNr">3148 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
 <span id="L3149" class="LineNr">3149 </span>      8b/-&gt; *(ecx+4) 1/r32/ecx
 <span id="L3150" class="LineNr">3150 </span>      eb/jump <span class="Constant">loop</span>/disp8
@@ -3237,7 +3237,7 @@ if ('onhashchange' in window) {
 <span id="L3225" class="LineNr">3225 </span>    {
 <span id="L3226" class="LineNr">3226 </span>      <span class="subxComment"># if (curr == null) break</span>
 <span id="L3227" class="LineNr">3227 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L3228" class="LineNr">3228 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L3228" class="LineNr">3228 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L3229" class="LineNr">3229 </span>      (<a href='mu.subx.html#L3244'>emit-subx-function</a> %edi %ecx)
 <span id="L3230" class="LineNr">3230 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
 <span id="L3231" class="LineNr">3231 </span>      8b/-&gt; *(ecx+0x14) 1/r32/ecx  <span class="subxComment"># Function-next</span>
@@ -3292,12 +3292,12 @@ if ('onhashchange' in window) {
 <span id="L3280" class="LineNr">3280 </span>    {
 <span id="L3281" class="LineNr">3281 </span><span class="Constant">$emit-subx-block:check-empty</span>:
 <span id="L3282" class="LineNr">3282 </span>      81 7/subop/compare %esi 0/imm32
-<span id="L3283" class="LineNr">3283 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L3283" class="LineNr">3283 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L3284" class="LineNr">3284 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;{\n&quot;</span>)
 <span id="L3285" class="LineNr">3285 </span>      {
 <span id="L3286" class="LineNr">3286 </span><span class="Constant">$emit-subx-block:stmt</span>:
 <span id="L3287" class="LineNr">3287 </span>        81 7/subop/compare %esi 0/imm32
-<span id="L3288" class="LineNr">3288 </span>        74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L3288" class="LineNr">3288 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L3289" class="LineNr">3289 </span>        (<a href='mu.subx.html#L3302'>emit-subx-statement</a> *(ebp+8) *esi <span class="SpecialChar"><a href='mu.subx.html#L3353'>Primitives</a></span> *<span class="SpecialChar"><a href='mu.subx.html#L249'>Program</a></span>)
 <span id="L3290" class="LineNr">3290 </span>        (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L83'>Newline</a></span>)
 <span id="L3291" class="LineNr">3291 </span>        8b/-&gt; *(esi+4) 6/r32/esi  <span class="subxComment"># List-next</span>
@@ -3323,7 +3323,7 @@ if ('onhashchange' in window) {
 <span id="L3311" class="LineNr">3311 </span><span class="Constant">$emit-subx-statement:primitive</span>:
 <span id="L3312" class="LineNr">3312 </span>      (<a href='mu.subx.html#L4414'>find-matching-primitive</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># primitives, stmt =&gt; curr/eax</span>
 <span id="L3313" class="LineNr">3313 </span>      3d/compare-eax-and 0/imm32
-<span id="L3314" class="LineNr">3314 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L3314" class="LineNr">3314 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L3315" class="LineNr">3315 </span>      (<a href='mu.subx.html#L4105'>emit-subx-primitive</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
 <span id="L3316" class="LineNr">3316 </span>      e9/jump $emit-subx-statement:end/disp32
 <span id="L3317" class="LineNr">3317 </span>    }
@@ -3332,7 +3332,7 @@ if ('onhashchange' in window) {
 <span id="L3320" class="LineNr">3320 </span><span class="Constant">$emit-subx-statement:call</span>:
 <span id="L3321" class="LineNr">3321 </span>      (<a href='mu.subx.html#L4380'>find-matching-function</a> *(ebp+0x14) *(ebp+0xc))  <span class="subxComment"># functions, stmt =&gt; curr/eax</span>
 <span id="L3322" class="LineNr">3322 </span>      3d/compare-eax-and 0/imm32
-<span id="L3323" class="LineNr">3323 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L3323" class="LineNr">3323 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L3324" class="LineNr">3324 </span>      (<a href='mu.subx.html#L4260'>emit-subx-call</a> *(ebp+8) *(ebp+0xc) %eax)  <span class="subxComment"># out, stmt, curr</span>
 <span id="L3325" class="LineNr">3325 </span>      e9/jump $emit-subx-statement:end/disp32
 <span id="L3326" class="LineNr">3326 </span>    }
@@ -4148,7 +4148,7 @@ if ('onhashchange' in window) {
 <span id="L4136" class="LineNr">4136 </span>    50/push-eax
 <span id="L4137" class="LineNr">4137 </span>    <span class="subxComment"># if (l == 0) return</span>
 <span id="L4138" class="LineNr">4138 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L4139" class="LineNr">4139 </span>    74/jump-if-equal $emit-subx-rm32:end/disp8
+<span id="L4139" class="LineNr">4139 </span>    74/jump-if-= $emit-subx-rm32:end/disp8
 <span id="L4140" class="LineNr">4140 </span>    <span class="subxComment">#</span>
 <span id="L4141" class="LineNr">4141 </span>    (<a href='mu.subx.html#L4151'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># stmt, l =&gt; var/eax</span>
 <span id="L4142" class="LineNr">4142 </span>    (<a href='mu.subx.html#L4345'>emit-subx-var-as-rm32</a> *(ebp+8) %eax)  <span class="subxComment"># out, var</span>
@@ -4173,7 +4173,7 @@ if ('onhashchange' in window) {
 <span id="L4161" class="LineNr">4161 </span>    <span class="subxComment"># if (l == 1) return stmt-&gt;inouts-&gt;var</span>
 <span id="L4162" class="LineNr">4162 </span>    {
 <span id="L4163" class="LineNr">4163 </span>      3d/compare-eax-and 1/imm32
-<span id="L4164" class="LineNr">4164 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4164" class="LineNr">4164 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4165" class="LineNr">4165 </span><span class="Constant">$get-stmt-operand-from-arg-location:1</span>:
 <span id="L4166" class="LineNr">4166 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts</span>
 <span id="L4167" class="LineNr">4167 </span>      8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Operand-var</span>
@@ -4182,7 +4182,7 @@ if ('onhashchange' in window) {
 <span id="L4170" class="LineNr">4170 </span>    <span class="subxComment"># if (l == 2) return stmt-&gt;inouts-&gt;next-&gt;var</span>
 <span id="L4171" class="LineNr">4171 </span>    {
 <span id="L4172" class="LineNr">4172 </span>      3d/compare-eax-and 2/imm32
-<span id="L4173" class="LineNr">4173 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4173" class="LineNr">4173 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4174" class="LineNr">4174 </span><span class="Constant">$get-stmt-operand-from-arg-location:2</span>:
 <span id="L4175" class="LineNr">4175 </span>      8b/-&gt; *(ecx+8) 0/r32/eax  <span class="subxComment"># Stmt1-inouts</span>
 <span id="L4176" class="LineNr">4176 </span>      8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Operand-next</span>
@@ -4192,7 +4192,7 @@ if ('onhashchange' in window) {
 <span id="L4180" class="LineNr">4180 </span>    <span class="subxComment"># if (l == 3) return stmt-&gt;outputs</span>
 <span id="L4181" class="LineNr">4181 </span>    {
 <span id="L4182" class="LineNr">4182 </span>      3d/compare-eax-and 3/imm32
-<span id="L4183" class="LineNr">4183 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4183" class="LineNr">4183 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4184" class="LineNr">4184 </span><span class="Constant">$get-stmt-operand-from-arg-location:3</span>:
 <span id="L4185" class="LineNr">4185 </span>      8b/-&gt; *(ecx+0xc) 0/r32/eax  <span class="subxComment"># Stmt1-outputs</span>
 <span id="L4186" class="LineNr">4186 </span>      8b/-&gt; *eax 0/r32/eax  <span class="subxComment"># Operand-var</span>
@@ -4229,7 +4229,7 @@ if ('onhashchange' in window) {
 <span id="L4217" class="LineNr">4217 </span>    51/push-ecx
 <span id="L4218" class="LineNr">4218 </span>    <span class="subxComment"># if (location == 0) return</span>
 <span id="L4219" class="LineNr">4219 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L4220" class="LineNr">4220 </span>    0f 84/jump-if-equal $emit-subx-r32:end/disp32
+<span id="L4220" class="LineNr">4220 </span>    0f 84/jump-if-= $emit-subx-r32:end/disp32
 <span id="L4221" class="LineNr">4221 </span>    <span class="subxComment">#</span>
 <span id="L4222" class="LineNr">4222 </span>    (<a href='mu.subx.html#L4151'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># stmt, l =&gt; var/eax</span>
 <span id="L4223" class="LineNr">4223 </span>    (<a href='../081table.subx.html#L1382'>maybe-get</a> <span class="SpecialChar"><a href='../090register-names.subx.html#L2'>Registers</a></span> *(eax+0x10) 8)  <span class="subxComment"># Var-register =&gt; eax : (addr register-index)</span>
@@ -4254,7 +4254,7 @@ if ('onhashchange' in window) {
 <span id="L4242" class="LineNr">4242 </span>    51/push-ecx
 <span id="L4243" class="LineNr">4243 </span>    <span class="subxComment"># if (location == 0) return</span>
 <span id="L4244" class="LineNr">4244 </span>    81 7/subop/compare *(ebp+0xc) 0/imm32
-<span id="L4245" class="LineNr">4245 </span>    74/jump-if-equal $emit-subx-imm32:end/disp8
+<span id="L4245" class="LineNr">4245 </span>    74/jump-if-= $emit-subx-imm32:end/disp8
 <span id="L4246" class="LineNr">4246 </span>    <span class="subxComment">#</span>
 <span id="L4247" class="LineNr">4247 </span>    (<a href='mu.subx.html#L4151'>get-stmt-operand-from-arg-location</a> *(ebp+0x10) *(ebp+0xc))  <span class="subxComment"># stmt, l =&gt; var/eax</span>
 <span id="L4248" class="LineNr">4248 </span>    (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
@@ -4288,7 +4288,7 @@ if ('onhashchange' in window) {
 <span id="L4276" class="LineNr">4276 </span>    {
 <span id="L4277" class="LineNr">4277 </span>      <span class="subxComment"># if (curr == null) break</span>
 <span id="L4278" class="LineNr">4278 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L4279" class="LineNr">4279 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4279" class="LineNr">4279 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4280" class="LineNr">4280 </span>      <span class="subxComment">#</span>
 <span id="L4281" class="LineNr">4281 </span>      (<a href='mu.subx.html#L4297'>emit-subx-call-operand</a> *(ebp+8) *ecx)
 <span id="L4282" class="LineNr">4282 </span>      <span class="subxComment"># curr = curr-&gt;next</span>
@@ -4317,7 +4317,7 @@ if ('onhashchange' in window) {
 <span id="L4305" class="LineNr">4305 </span>    <span class="subxComment"># if (operand-&gt;register) emit &quot;%__&quot;</span>
 <span id="L4306" class="LineNr">4306 </span>    {
 <span id="L4307" class="LineNr">4307 </span>      81 7/subop/compare *(eax+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L4308" class="LineNr">4308 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4308" class="LineNr">4308 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4309" class="LineNr">4309 </span><span class="Constant">$emit-subx-call-operand:register</span>:
 <span id="L4310" class="LineNr">4310 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
 <span id="L4311" class="LineNr">4311 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(eax+0x10))  <span class="subxComment"># Var-register</span>
@@ -4326,7 +4326,7 @@ if ('onhashchange' in window) {
 <span id="L4314" class="LineNr">4314 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
 <span id="L4315" class="LineNr">4315 </span>    {
 <span id="L4316" class="LineNr">4316 </span>      81 7/subop/compare *(eax+0xc) 0/imm32  <span class="subxComment"># Var-stack-offset</span>
-<span id="L4317" class="LineNr">4317 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4317" class="LineNr">4317 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4318" class="LineNr">4318 </span><span class="Constant">$emit-subx-call-operand:stack</span>:
 <span id="L4319" class="LineNr">4319 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
 <span id="L4320" class="LineNr">4320 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
@@ -4341,7 +4341,7 @@ if ('onhashchange' in window) {
 <span id="L4329" class="LineNr">4329 </span>      8b/-&gt; *(eax+4) 0/r32/eax  <span class="subxComment"># Var-type</span>
 <span id="L4330" class="LineNr">4330 </span>      81 7/subop/compare *eax 0/imm32  <span class="subxComment"># Tree-left</span>
 <span id="L4331" class="LineNr">4331 </span>      58/pop-to-eax
-<span id="L4332" class="LineNr">4332 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4332" class="LineNr">4332 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4333" class="LineNr">4333 </span><span class="Constant">$emit-subx-call-operand:literal</span>:
 <span id="L4334" class="LineNr">4334 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
 <span id="L4335" class="LineNr">4335 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *eax)
@@ -4365,7 +4365,7 @@ if ('onhashchange' in window) {
 <span id="L4353" class="LineNr">4353 </span>    <span class="subxComment"># if (operand-&gt;register) emit &quot;%__&quot;</span>
 <span id="L4354" class="LineNr">4354 </span>    {
 <span id="L4355" class="LineNr">4355 </span>      81 7/subop/compare *(eax+0x10) 0/imm32  <span class="subxComment"># Var-register</span>
-<span id="L4356" class="LineNr">4356 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4356" class="LineNr">4356 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4357" class="LineNr">4357 </span><span class="Constant">$emit-subx-var-as-rm32:register</span>:
 <span id="L4358" class="LineNr">4358 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot; %&quot;</span>)
 <span id="L4359" class="LineNr">4359 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) *(eax+0x10))  <span class="subxComment"># Var-register</span>
@@ -4373,7 +4373,7 @@ if ('onhashchange' in window) {
 <span id="L4361" class="LineNr">4361 </span>    <span class="subxComment"># else if (operand-&gt;stack-offset) emit &quot;*(ebp+__)&quot;</span>
 <span id="L4362" class="LineNr">4362 </span>    {
 <span id="L4363" class="LineNr">4363 </span>      81 7/subop/compare *(eax+0xc) 0/imm32  <span class="subxComment"># Var-stack-offset</span>
-<span id="L4364" class="LineNr">4364 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4364" class="LineNr">4364 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4365" class="LineNr">4365 </span><span class="Constant">$emit-subx-var-as-rm32:stack</span>:
 <span id="L4366" class="LineNr">4366 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="SpecialChar"><a href='../051test.subx.html#L94'>Space</a></span>)
 <span id="L4367" class="LineNr">4367 </span>      (<a href='../065write-buffered.subx.html#L8'>write-buffered</a> *(ebp+8) <span class="Constant">&quot;*(ebp+&quot;</span>)
@@ -4400,12 +4400,12 @@ if ('onhashchange' in window) {
 <span id="L4388" class="LineNr">4388 </span>    {
 <span id="L4389" class="LineNr">4389 </span>      <span class="subxComment"># if (curr == null) break</span>
 <span id="L4390" class="LineNr">4390 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L4391" class="LineNr">4391 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4391" class="LineNr">4391 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4392" class="LineNr">4392 </span>      <span class="subxComment"># if match(stmt, curr) return curr</span>
 <span id="L4393" class="LineNr">4393 </span>      {
 <span id="L4394" class="LineNr">4394 </span>        (<a href='mu.subx.html#L4456'>mu-stmt-matches-function?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L4395" class="LineNr">4395 </span>        3d/compare-eax-and 0/imm32
-<span id="L4396" class="LineNr">4396 </span>        74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4396" class="LineNr">4396 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4397" class="LineNr">4397 </span>        89/&lt;- %eax 1/r32/ecx
 <span id="L4398" class="LineNr">4398 </span>        eb/jump $find-matching-function:end/disp8
 <span id="L4399" class="LineNr">4399 </span>      }
@@ -4435,7 +4435,7 @@ if ('onhashchange' in window) {
 <span id="L4423" class="LineNr">4423 </span><span class="Constant">$find-matching-primitive:loop</span>:
 <span id="L4424" class="LineNr">4424 </span>      <span class="subxComment"># if (curr == null) break</span>
 <span id="L4425" class="LineNr">4425 </span>      81 7/subop/compare %ecx 0/imm32
-<span id="L4426" class="LineNr">4426 </span>      0f 84/jump-if-equal <span class="Constant">break</span>/disp32
+<span id="L4426" class="LineNr">4426 </span>      0f 84/jump-if-= <span class="Constant">break</span>/disp32
 <span id="L4427" class="LineNr">4427 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot;prim: &quot;)</span>
 <span id="L4428" class="LineNr">4428 </span><span class="CommentedCode">#?       (write-buffered Stderr *ecx)  # Primitive-name</span>
 <span id="L4429" class="LineNr">4429 </span><span class="CommentedCode">#?       (write-buffered Stderr &quot; =&gt; &quot;)</span>
@@ -4446,7 +4446,7 @@ if ('onhashchange' in window) {
 <span id="L4434" class="LineNr">4434 </span>      {
 <span id="L4435" class="LineNr">4435 </span>        (<a href='mu.subx.html#L4474'>mu-stmt-matches-primitive?</a> *(ebp+0xc) %ecx)  <span class="subxComment"># =&gt; eax</span>
 <span id="L4436" class="LineNr">4436 </span>        3d/compare-eax-and 0/imm32
-<span id="L4437" class="LineNr">4437 </span>        74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4437" class="LineNr">4437 </span>        74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4438" class="LineNr">4438 </span>        89/&lt;- %eax 1/r32/ecx
 <span id="L4439" class="LineNr">4439 </span>        eb/jump $find-matching-primitive:end/disp8
 <span id="L4440" class="LineNr">4440 </span>      }
@@ -4507,7 +4507,7 @@ if ('onhashchange' in window) {
 <span id="L4495" class="LineNr">4495 </span>      <span class="subxComment"># if (primitive-&gt;name != stmt-&gt;operation) return false</span>
 <span id="L4496" class="LineNr">4496 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(ecx+4) *edx)  <span class="subxComment"># Stmt1-operation, Primitive-name =&gt; eax</span>
 <span id="L4497" class="LineNr">4497 </span>      3d/compare-eax-and 0/imm32
-<span id="L4498" class="LineNr">4498 </span>      75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4498" class="LineNr">4498 </span>      75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4499" class="LineNr">4499 </span>      b8/copy-to-eax 0/imm32
 <span id="L4500" class="LineNr">4500 </span>      e9/jump $mu-stmt-matches-primitive?:end/disp32
 <span id="L4501" class="LineNr">4501 </span>    }
@@ -4519,11 +4519,11 @@ if ('onhashchange' in window) {
 <span id="L4507" class="LineNr">4507 </span>      <span class="subxComment"># if (curr == 0 &amp;&amp; curr2 == 0) move on to check outputs</span>
 <span id="L4508" class="LineNr">4508 </span>      {
 <span id="L4509" class="LineNr">4509 </span>        81 7/subop/compare %esi 0/imm32
-<span id="L4510" class="LineNr">4510 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4510" class="LineNr">4510 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4511" class="LineNr">4511 </span><span class="Constant">$mu-stmt-matches-primitive?:stmt-inout-is-null</span>:
 <span id="L4512" class="LineNr">4512 </span>        {
 <span id="L4513" class="LineNr">4513 </span>          81 7/subop/compare %edi 0/imm32
-<span id="L4514" class="LineNr">4514 </span>          75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4514" class="LineNr">4514 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4515" class="LineNr">4515 </span>          <span class="subxComment">#</span>
 <span id="L4516" class="LineNr">4516 </span>          e9/jump $mu-stmt-matches-primitive?:check-outputs/disp32
 <span id="L4517" class="LineNr">4517 </span>        }
@@ -4534,7 +4534,7 @@ if ('onhashchange' in window) {
 <span id="L4522" class="LineNr">4522 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
 <span id="L4523" class="LineNr">4523 </span>      {
 <span id="L4524" class="LineNr">4524 </span>        81 7/subop/compare %edi 0/imm32
-<span id="L4525" class="LineNr">4525 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4525" class="LineNr">4525 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4526" class="LineNr">4526 </span><span class="Constant">$mu-stmt-matches-primitive?:prim-inout-is-null</span>:
 <span id="L4527" class="LineNr">4527 </span>        b8/copy-to-eax 0/imm32/false
 <span id="L4528" class="LineNr">4528 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
@@ -4543,7 +4543,7 @@ if ('onhashchange' in window) {
 <span id="L4531" class="LineNr">4531 </span>      {
 <span id="L4532" class="LineNr">4532 </span>        (<a href='mu.subx.html#L4600'>operand-matches-primitive?</a> *esi *edi)  <span class="subxComment"># =&gt; eax</span>
 <span id="L4533" class="LineNr">4533 </span>        3d/compare-eax-and 0/imm32
-<span id="L4534" class="LineNr">4534 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4534" class="LineNr">4534 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4535" class="LineNr">4535 </span>        b8/copy-to-eax 0/imm32/false
 <span id="L4536" class="LineNr">4536 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
 <span id="L4537" class="LineNr">4537 </span>      }
@@ -4562,10 +4562,10 @@ if ('onhashchange' in window) {
 <span id="L4550" class="LineNr">4550 </span>      {
 <span id="L4551" class="LineNr">4551 </span><span class="Constant">$mu-stmt-matches-primitive?:check-output</span>:
 <span id="L4552" class="LineNr">4552 </span>        81 7/subop/compare %esi 0/imm32
-<span id="L4553" class="LineNr">4553 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4553" class="LineNr">4553 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4554" class="LineNr">4554 </span>        {
 <span id="L4555" class="LineNr">4555 </span>          81 7/subop/compare %edi 0/imm32
-<span id="L4556" class="LineNr">4556 </span>          75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4556" class="LineNr">4556 </span>          75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4557" class="LineNr">4557 </span>          <span class="subxComment"># return true</span>
 <span id="L4558" class="LineNr">4558 </span>          b8/copy-to-eax 1/imm32
 <span id="L4559" class="LineNr">4559 </span>          e9/jump $mu-stmt-matches-primitive?:end/disp32
@@ -4577,7 +4577,7 @@ if ('onhashchange' in window) {
 <span id="L4565" class="LineNr">4565 </span>      <span class="subxComment"># if (curr2 == 0) return false</span>
 <span id="L4566" class="LineNr">4566 </span>      {
 <span id="L4567" class="LineNr">4567 </span>        81 7/subop/compare %edi 0/imm32
-<span id="L4568" class="LineNr">4568 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4568" class="LineNr">4568 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4569" class="LineNr">4569 </span>        b8/copy-to-eax 0/imm32
 <span id="L4570" class="LineNr">4570 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
 <span id="L4571" class="LineNr">4571 </span>      }
@@ -4585,7 +4585,7 @@ if ('onhashchange' in window) {
 <span id="L4573" class="LineNr">4573 </span>      {
 <span id="L4574" class="LineNr">4574 </span>        (<a href='mu.subx.html#L4600'>operand-matches-primitive?</a> *esi *edi)  <span class="subxComment"># List-value List-value =&gt; eax</span>
 <span id="L4575" class="LineNr">4575 </span>        3d/compare-eax-and 0/imm32
-<span id="L4576" class="LineNr">4576 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L4576" class="LineNr">4576 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L4577" class="LineNr">4577 </span>        b8/copy-to-eax 0/imm32
 <span id="L4578" class="LineNr">4578 </span>        e9/jump $mu-stmt-matches-primitive?:end/disp32
 <span id="L4579" class="LineNr">4579 </span>      }
@@ -4624,28 +4624,28 @@ if ('onhashchange' in window) {
 <span id="L4612" class="LineNr">4612 </span>    (<a href='mu.subx.html#L4649'>type-equal?</a> *(esi+4) *(edi+4))  <span class="subxComment"># Var-type, Var-type =&gt; eax</span>
 <span id="L4613" class="LineNr">4613 </span>    3d/compare-eax-and 0/imm32
 <span id="L4614" class="LineNr">4614 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L4615" class="LineNr">4615 </span>    74/jump-if-equal $operand-matches-primitive?:end/disp8
+<span id="L4615" class="LineNr">4615 </span>    74/jump-if-= $operand-matches-primitive?:end/disp8
 <span id="L4616" class="LineNr">4616 </span>    <span class="subxComment"># return false if var-&gt;register doesn't match prim-var-&gt;register</span>
 <span id="L4617" class="LineNr">4617 </span>    {
 <span id="L4618" class="LineNr">4618 </span>      <span class="subxComment"># if addresses are equal, don't return here</span>
 <span id="L4619" class="LineNr">4619 </span>      8b/-&gt; *(esi+0x10) 0/r32/eax
 <span id="L4620" class="LineNr">4620 </span>      39/compare *(edi+0x10) 0/r32/eax
-<span id="L4621" class="LineNr">4621 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L4621" class="LineNr">4621 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L4622" class="LineNr">4622 </span>      <span class="subxComment"># if either address is 0, return false</span>
 <span id="L4623" class="LineNr">4623 </span>      3d/compare-eax-and 0/imm32
-<span id="L4624" class="LineNr">4624 </span>      74/jump-if-equal  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
+<span id="L4624" class="LineNr">4624 </span>      74/jump-if-=  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
 <span id="L4625" class="LineNr">4625 </span>      81 7/subop/compare *(edi+0x10) 0/imm32
-<span id="L4626" class="LineNr">4626 </span>      74/jump-if-equal  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
+<span id="L4626" class="LineNr">4626 </span>      74/jump-if-=  $operand-matches-primitive?:end/disp8  <span class="subxComment"># eax goes from meaning var-&gt;register to result</span>
 <span id="L4627" class="LineNr">4627 </span>      <span class="subxComment"># if prim-var-&gt;register is &quot;*&quot;, return true</span>
 <span id="L4628" class="LineNr">4628 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(edi+0x10) <span class="Constant">&quot;*&quot;</span>)  <span class="subxComment"># Var-register</span>
 <span id="L4629" class="LineNr">4629 </span>      3d/compare-eax-and 0/imm32
 <span id="L4630" class="LineNr">4630 </span>      b8/copy-to-eax 1/imm32/true
-<span id="L4631" class="LineNr">4631 </span>      75/jump-if-not-equal $operand-matches-primitive?:end/disp8
+<span id="L4631" class="LineNr">4631 </span>      75/jump-if-!= $operand-matches-primitive?:end/disp8
 <span id="L4632" class="LineNr">4632 </span>      <span class="subxComment"># if string contents don't match, return false</span>
 <span id="L4633" class="LineNr">4633 </span>      (<a href='../054string-equal.subx.html#L16'>string-equal?</a> *(esi+0x10) *(edi+0x10))  <span class="subxComment"># Var-register Var-register</span>
 <span id="L4634" class="LineNr">4634 </span>      3d/compare-eax-and 0/imm32
 <span id="L4635" class="LineNr">4635 </span>      b8/copy-to-eax 0/imm32/false
-<span id="L4636" class="LineNr">4636 </span>      74/jump-if-equal $operand-matches-primitive?:end/disp8
+<span id="L4636" class="LineNr">4636 </span>      74/jump-if-= $operand-matches-primitive?:end/disp8
 <span id="L4637" class="LineNr">4637 </span>    }
 <span id="L4638" class="LineNr">4638 </span>    <span class="subxComment"># return true</span>
 <span id="L4639" class="LineNr">4639 </span>    b8/copy-to-eax 1/imm32/true
@@ -4673,19 +4673,19 @@ if ('onhashchange' in window) {
 <span id="L4661" class="LineNr">4661 </span>    8b/-&gt; %ecx 0/r32/eax  <span class="subxComment"># Var-type</span>
 <span id="L4662" class="LineNr">4662 </span>    39/compare %edx 0/r32/eax  <span class="subxComment"># Var-type</span>
 <span id="L4663" class="LineNr">4663 </span>    b8/copy-to-eax 1/imm32/true
-<span id="L4664" class="LineNr">4664 </span>    0f 84/jump-if-equal $type-equal?:end/disp32
+<span id="L4664" class="LineNr">4664 </span>    0f 84/jump-if-= $type-equal?:end/disp32
 <span id="L4665" class="LineNr">4665 </span>    <span class="subxComment"># if (a == 0) return false</span>
 <span id="L4666" class="LineNr">4666 </span>    81 7/subop/compare %ecx 0/imm32
 <span id="L4667" class="LineNr">4667 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L4668" class="LineNr">4668 </span>    0f 84/jump-if-equal $type-equal?:end/disp32
+<span id="L4668" class="LineNr">4668 </span>    0f 84/jump-if-= $type-equal?:end/disp32
 <span id="L4669" class="LineNr">4669 </span>    <span class="subxComment"># if (b == 0) return false</span>
 <span id="L4670" class="LineNr">4670 </span>    81 7/subop/compare %edx 0/imm32
 <span id="L4671" class="LineNr">4671 </span>    b8/copy-to-eax 0/imm32/false
-<span id="L4672" class="LineNr">4672 </span>    0f 84/jump-if-equal $type-equal?:end/disp32
+<span id="L4672" class="LineNr">4672 </span>    0f 84/jump-if-= $type-equal?:end/disp32
 <span id="L4673" class="LineNr">4673 </span>    <span class="subxComment"># if (!type-equal?(a-&gt;left, b-&gt;left)) return false</span>
 <span id="L4674" class="LineNr">4674 </span>    (<a href='mu.subx.html#L4649'>type-equal?</a> *ecx *edx)  <span class="subxComment"># Tree-left, Tree-left =&gt; eax</span>
 <span id="L4675" class="LineNr">4675 </span>    3d/compare-eax-and 0/imm32
-<span id="L4676" class="LineNr">4676 </span>    0f 84/jump-if-equal $type-equal?:end/disp32
+<span id="L4676" class="LineNr">4676 </span>    0f 84/jump-if-= $type-equal?:end/disp32
 <span id="L4677" class="LineNr">4677 </span>    <span class="subxComment"># return type-equal?(a-&gt;right, b-&gt;right</span>
 <span id="L4678" class="LineNr">4678 </span>    (<a href='mu.subx.html#L4649'>type-equal?</a> *(ecx+4) *(edx+4))  <span class="subxComment"># Tree-right, Tree-right =&gt; eax</span>
 <span id="L4679" class="LineNr">4679 </span><span class="Constant">$type-equal?:end</span>:
diff --git a/html/apps/mulisp.subx.html b/html/apps/mulisp.subx.html
index 3bbb6b82..cf34f56b 100644
--- a/html/apps/mulisp.subx.html
+++ b/html/apps/mulisp.subx.html
@@ -76,11 +76,11 @@ if ('onhashchange' in window) {
 <span id="L18" class="LineNr"> 18 </span>    {
 <span id="L19" class="LineNr"> 19 </span>      <span class="subxComment"># if (argc &lt;= 1) break</span>
 <span id="L20" class="LineNr"> 20 </span>      81 7/subop/compare *ebp 1/imm32
-<span id="L21" class="LineNr"> 21 </span>      7e/jump-if-lesser-or-equal <span class="Constant">break</span>/disp8
+<span id="L21" class="LineNr"> 21 </span>      7e/jump-if-&lt;= <span class="Constant">break</span>/disp8
 <span id="L22" class="LineNr"> 22 </span>      <span class="subxComment"># if (argv[1] != &quot;test&quot;)) break</span>
 <span id="L23" class="LineNr"> 23 </span>      (<a href='../052kernel-string-equal.subx.html#L33'>kernel-string-equal?</a> *(ebp+8) <span class="Constant">&quot;test&quot;</span>)  <span class="subxComment"># =&gt; eax</span>
 <span id="L24" class="LineNr"> 24 </span>      3d/compare-eax-and 0/imm32
-<span id="L25" class="LineNr"> 25 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L25" class="LineNr"> 25 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L26" class="LineNr"> 26 </span>      <span class="subxComment">#</span>
 <span id="L27" class="LineNr"> 27 </span>      (run-tests)
 <span id="L28" class="LineNr"> 28 </span>      <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -142,7 +142,7 @@ if ('onhashchange' in window) {
 <span id="L84" class="LineNr"> 84 </span>      (<a href='mulisp.subx.html#L107'>lisp-read</a> <span class="SpecialChar"><a href='../061read-byte.subx.html#L14'>Stdin</a></span>)  <span class="subxComment"># =&gt; eax : (handle cell)</span>
 <span id="L85" class="LineNr"> 85 </span>      <span class="subxComment"># if (eax == 0) break</span>
 <span id="L86" class="LineNr"> 86 </span>      3d/compare-eax-and 0/imm32
-<span id="L87" class="LineNr"> 87 </span>      74/jump-if-equal <span class="Constant">break</span>/disp8
+<span id="L87" class="LineNr"> 87 </span>      74/jump-if-= <span class="Constant">break</span>/disp8
 <span id="L88" class="LineNr"> 88 </span>      <span class="subxComment">#</span>
 <span id="L89" class="LineNr"> 89 </span>      (<a href='mulisp.subx.html#L201'>lisp-eval</a> %eax)  <span class="subxComment"># =&gt; eax : (handle cell)</span>
 <span id="L90" class="LineNr"> 90 </span>      (<a href='mulisp.subx.html#L214'>lisp-print</a> <span class="SpecialChar"><a href='../064write-byte.subx.html#L10'>Stdout</a></span> %eax)
@@ -181,7 +181,7 @@ if ('onhashchange' in window) {
 <span id="L123" class="LineNr">123 </span>      <span class="subxComment"># if (s-&gt;write == 0) return null</span>
 <span id="L124" class="LineNr">124 </span>      {
 <span id="L125" class="LineNr">125 </span>        81 7/subop/compare *ecx 0/imm32
-<span id="L126" class="LineNr">126 </span>        75/jump-if-not-equal <span class="Constant">break</span>/disp8
+<span id="L126" class="LineNr">126 </span>        75/jump-if-!= <span class="Constant">break</span>/disp8
 <span id="L127" class="LineNr">127 </span>        b8/copy-to-eax 0/imm32/eof
 <span id="L128" class="LineNr">128 </span>        eb/jump $lisp-read:end/disp8
 <span id="L129" class="LineNr">129 </span>      }
diff --git a/html/apps/pack.subx.html b/html/apps/pack.subx.html
index bd5015eb..d3cb17a9 100644
--- a/html/apps/pack.subx.html
+++ b/html/apps/pack.subx.html
@@ -97,7 +97,7 @@ if ('onhashchange' in window) {
 <span id="L35" class="LineNr">  35 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L36" class="LineNr">  36 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L37" class="LineNr">  37 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L38" class="LineNr">  38 </span>    7e/jump-if-lesser-or-equal  $subx-pack-main:interactive/disp8
+<span id="L38" class="LineNr">  38 </span>    7e/jump-if-&lt;=  $subx-pack-main:interactive/disp8
 <span id="L39" class="LineNr">  39 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L40" class="LineNr">  40 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L41" class="LineNr">  41 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -109,7 +109,7 @@ if ('onhashchange' in window) {
 <span id="L47" class="LineNr">  47 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L48" class="LineNr">  48 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L49" class="LineNr">  49 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L50" class="LineNr">  50 </span>    74/jump-if-equal  $subx-pack-main:interactive/disp8
+<span id="L50" class="LineNr">  50 </span>    74/jump-if-=  $subx-pack-main:interactive/disp8
 <span id="L51" class="LineNr">  51 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L52" class="LineNr">  52 </span>    e8/call  run-tests/disp32
 <span id="L53" class="LineNr">  53 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -221,7 +221,7 @@ if ('onhashchange' in window) {
 <span id="L159" class="LineNr"> 159 </span><span class="Constant">$subx-pack:check0</span>:
 <span id="L160" class="LineNr"> 160 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L161" class="LineNr"> 161 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L162" class="LineNr"> 162 </span>    0f 84/jump-if-equal  $subx-pack:<span class="Constant">break</span>/disp32
+<span id="L162" class="LineNr"> 162 </span>    0f 84/jump-if-=  $subx-pack:<span class="Constant">break</span>/disp32
 <span id="L163" class="Folded"> 163 </span><span class="Folded">+-- 26 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L189" class="LineNr"> 189 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L190" class="LineNr"> 190 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -242,7 +242,7 @@ if ('onhashchange' in window) {
 <span id="L205" class="LineNr"> 205 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L206" class="LineNr"> 206 </span>    <span class="subxS1Comment"># . if (eax != false) write-stream-data(out, line)</span>
 <span id="L207" class="LineNr"> 207 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L208" class="LineNr"> 208 </span>    0f 85/jump-if-not-equal  $subx-pack:pass-through/disp32
+<span id="L208" class="LineNr"> 208 </span>    0f 85/jump-if-!=  $subx-pack:pass-through/disp32
 <span id="L209" class="LineNr"> 209 </span><span class="Constant">$subx-pack:check2</span>:
 <span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 40 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L250" class="LineNr"> 250 </span>    <span class="subxComment"># if (!slice-equal?(word-slice, &quot;==&quot;)) goto next check</span>
@@ -256,7 +256,7 @@ if ('onhashchange' in window) {
 <span id="L258" class="LineNr"> 258 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L259" class="LineNr"> 259 </span>    <span class="subxS1Comment"># . if (eax == false) goto check3</span>
 <span id="L260" class="LineNr"> 260 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L261" class="LineNr"> 261 </span>    0f 84/jump-if-equal  $subx-pack:check3/disp32
+<span id="L261" class="LineNr"> 261 </span>    0f 84/jump-if-=  $subx-pack:check3/disp32
 <span id="L262" class="LineNr"> 262 </span>    <span class="subxComment"># word-slice = next-word(line)</span>
 <span id="L263" class="LineNr"> 263 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L264" class="LineNr"> 264 </span>    52/push-edx
@@ -289,7 +289,7 @@ if ('onhashchange' in window) {
 <span id="L330" class="LineNr"> 330 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L331" class="LineNr"> 331 </span>    <span class="subxComment"># if (in-code? != false) convert-instruction(line, out)</span>
 <span id="L332" class="LineNr"> 332 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare ebx</span>
-<span id="L333" class="LineNr"> 333 </span>    74/jump-if-equal  $subx-pack:data/disp8
+<span id="L333" class="LineNr"> 333 </span>    74/jump-if-=  $subx-pack:data/disp8
 <span id="L334" class="LineNr"> 334 </span><span class="Constant">$subx-pack:code</span>:
 <span id="L335" class="LineNr"> 335 </span>    <span class="subxS1Comment"># . convert-instruction(line, out)</span>
 <span id="L336" class="LineNr"> 336 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -871,7 +871,7 @@ if ('onhashchange' in window) {
 <span id="L1026" class="LineNr">1026 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1027" class="LineNr">1027 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L1028" class="LineNr">1028 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1029" class="LineNr">1029 </span>    0f 85/jump-if-not-equal  $convert-data:<span class="Constant">break</span>/disp32
+<span id="L1029" class="LineNr">1029 </span>    0f 85/jump-if-!=  $convert-data:<span class="Constant">break</span>/disp32
 <span id="L1030" class="LineNr">1030 </span><span class="Constant">$convert-data:check-for-comment</span>:
 <span id="L1031" class="LineNr">1031 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;))</span>
 <span id="L1032" class="LineNr">1032 </span>    <span class="subxS1Comment"># . var start/edx : (addr byte) = word-slice-&gt;start</span>
@@ -881,7 +881,7 @@ if ('onhashchange' in window) {
 <span id="L1036" class="LineNr">1036 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to AL</span>
 <span id="L1037" class="LineNr">1037 </span>    <span class="subxS1Comment"># . if (c != '#') goto next check</span>
 <span id="L1038" class="LineNr">1038 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L1039" class="LineNr">1039 </span>    75/jump-if-not-equal  $convert-data:check-for-label/disp8
+<span id="L1039" class="LineNr">1039 </span>    75/jump-if-!=  $convert-data:check-for-label/disp8
 <span id="L1040" class="LineNr">1040 </span><span class="Constant">$convert-data:comment</span>:
 <span id="L1041" class="LineNr">1041 </span>    <span class="subxComment"># write-slice-buffered(out, word-slice)</span>
 <span id="L1042" class="LineNr">1042 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -892,7 +892,7 @@ if ('onhashchange' in window) {
 <span id="L1047" class="LineNr">1047 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1048" class="LineNr">1048 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1049" class="LineNr">1049 </span>    <span class="subxComment"># return</span>
-<span id="L1050" class="LineNr">1050 </span>    0f 85/jump-if-not-equal  $convert-data:end/disp32
+<span id="L1050" class="LineNr">1050 </span>    0f 85/jump-if-!=  $convert-data:end/disp32
 <span id="L1051" class="LineNr">1051 </span><span class="Constant">$convert-data:check-for-label</span>:
 <span id="L1052" class="LineNr">1052 </span>    <span class="subxComment"># if (slice-ends-with?(word-slice, &quot;:&quot;))</span>
 <span id="L1053" class="LineNr">1053 </span>    <span class="subxS1Comment"># . var end/edx : (addr byte) = word-slice-&gt;end</span>
@@ -902,7 +902,7 @@ if ('onhashchange' in window) {
 <span id="L1057" class="LineNr">1057 </span>    8a/copy-byte                    1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL    -1/disp8       <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1058" class="LineNr">1058 </span>    <span class="subxS1Comment"># . if (c != ':') goto next check</span>
 <span id="L1059" class="LineNr">1059 </span>    3d/compare-eax-and  0x3a/imm32/colon
-<span id="L1060" class="LineNr">1060 </span>    75/jump-if-not-equal  $convert-data:check-for-imm32/disp8
+<span id="L1060" class="LineNr">1060 </span>    75/jump-if-!=  $convert-data:check-for-imm32/disp8
 <span id="L1061" class="LineNr">1061 </span><span class="Constant">$convert-data:label</span>:
 <span id="L1062" class="LineNr">1062 </span>    <span class="subxComment"># write-stream-data(out, line)</span>
 <span id="L1063" class="LineNr">1063 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -913,7 +913,7 @@ if ('onhashchange' in window) {
 <span id="L1068" class="LineNr">1068 </span>    <span class="subxS2Comment"># . . discard args</span>
 <span id="L1069" class="LineNr">1069 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1070" class="LineNr">1070 </span>    <span class="subxComment"># return</span>
-<span id="L1071" class="LineNr">1071 </span>    75/jump-if-not-equal  $convert-data:end/disp8
+<span id="L1071" class="LineNr">1071 </span>    75/jump-if-!=  $convert-data:end/disp8
 <span id="L1072" class="LineNr">1072 </span><span class="Constant">$convert-data:check-for-imm32</span>:
 <span id="L1073" class="LineNr">1073 </span>    <span class="subxComment"># if (has-metadata?(word-slice, &quot;imm32&quot;))</span>
 <span id="L1074" class="LineNr">1074 </span>    <span class="subxS1Comment"># . eax = has-metadata?(ecx, &quot;imm32&quot;)</span>
@@ -926,7 +926,7 @@ if ('onhashchange' in window) {
 <span id="L1081" class="LineNr">1081 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1082" class="LineNr">1082 </span>    <span class="subxS1Comment"># . if (eax == false) process as a single byte</span>
 <span id="L1083" class="LineNr">1083 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1084" class="LineNr">1084 </span>    74/jump-if-equal  $convert-data:single-byte/disp8
+<span id="L1084" class="LineNr">1084 </span>    74/jump-if-=  $convert-data:single-byte/disp8
 <span id="L1085" class="LineNr">1085 </span><span class="Constant">$convert-data:imm32</span>:
 <span id="L1086" class="LineNr">1086 </span>    <span class="subxComment"># emit(out, word-slice, 4)</span>
 <span id="L1087" class="LineNr">1087 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1630,7 +1630,7 @@ if ('onhashchange' in window) {
 <span id="L1860" class="LineNr">1860 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1861" class="LineNr">1861 </span>    <span class="subxS1Comment"># . if (eax != false) pass through</span>
 <span id="L1862" class="LineNr">1862 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1863" class="LineNr">1863 </span>    75/jump-if-not-equal  $convert-instruction:pass-through/disp8
+<span id="L1863" class="LineNr">1863 </span>    75/jump-if-!=  $convert-instruction:pass-through/disp8
 <span id="L1864" class="LineNr">1864 </span><span class="Constant">$convert-instruction:check1</span>:
 <span id="L1865" class="LineNr">1865 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) write-stream-data(out, line)</span>
 <span id="L1866" class="LineNr">1866 </span>    <span class="subxS1Comment"># . var start/edx : (addr byte) = word-slice-&gt;start</span>
@@ -1640,7 +1640,7 @@ if ('onhashchange' in window) {
 <span id="L1870" class="LineNr">1870 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to AL</span>
 <span id="L1871" class="LineNr">1871 </span>    <span class="subxS1Comment"># . if (c == '#') pass through</span>
 <span id="L1872" class="LineNr">1872 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L1873" class="LineNr">1873 </span>    74/jump-if-equal  $convert-instruction:pass-through/disp8
+<span id="L1873" class="LineNr">1873 </span>    74/jump-if-=  $convert-instruction:pass-through/disp8
 <span id="L1874" class="LineNr">1874 </span><span class="Constant">$convert-instruction:check2</span>:
 <span id="L1875" class="LineNr">1875 </span>    <span class="subxComment"># if (slice-ends-with?(word-slice, &quot;:&quot;)) write-stream-data(out, line)</span>
 <span id="L1876" class="LineNr">1876 </span>    <span class="subxS1Comment"># . var end/edx : (addr byte) = word-slice-&gt;end</span>
@@ -1650,7 +1650,7 @@ if ('onhashchange' in window) {
 <span id="L1880" class="LineNr">1880 </span>    8a/copy-byte                    1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL    -1/disp8       <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L1881" class="LineNr">1881 </span>    <span class="subxS1Comment"># . if (c == ':') pass through</span>
 <span id="L1882" class="LineNr">1882 </span>    3d/compare-eax-and  0x3a/imm32/colon
-<span id="L1883" class="LineNr">1883 </span>    75/jump-if-not-equal  $convert-instruction:really-convert/disp8
+<span id="L1883" class="LineNr">1883 </span>    75/jump-if-!=  $convert-instruction:really-convert/disp8
 <span id="L1884" class="LineNr">1884 </span><span class="Constant">$convert-instruction:pass-through</span>:
 <span id="L1885" class="LineNr">1885 </span>    <span class="subxComment"># write-stream-data(out, line)</span>
 <span id="L1886" class="LineNr">1886 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1798,7 +1798,7 @@ if ('onhashchange' in window) {
 <span id="L2028" class="LineNr">2028 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2029" class="LineNr">2029 </span>    <span class="subxS1Comment"># . if (eax != false) return</span>
 <span id="L2030" class="LineNr">2030 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2031" class="LineNr">2031 </span>    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+<span id="L2031" class="LineNr">2031 </span>    0f 85/jump-if-!=  $emit-opcodes:end/disp32
 <span id="L2032" class="LineNr">2032 </span>    <span class="subxComment"># if (slice-starts-with?(op1, &quot;#&quot;)) return</span>
 <span id="L2033" class="LineNr">2033 </span>    <span class="subxS1Comment"># . var start/ebx : (addr byte) = op1-&gt;start</span>
 <span id="L2034" class="LineNr">2034 </span>    8b/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to ebx</span>
@@ -1807,7 +1807,7 @@ if ('onhashchange' in window) {
 <span id="L2037" class="LineNr">2037 </span>    8a/copy-byte                    0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ebx to AL</span>
 <span id="L2038" class="LineNr">2038 </span>    <span class="subxS1Comment"># . if (c == '#') return</span>
 <span id="L2039" class="LineNr">2039 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2040" class="LineNr">2040 </span>    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+<span id="L2040" class="LineNr">2040 </span>    0f 84/jump-if-=  $emit-opcodes:end/disp32
 <span id="L2041" class="LineNr">2041 </span>    <span class="subxComment"># op1 = next-token-from-slice(op1-&gt;start, op1-&gt;end, '/')</span>
 <span id="L2042" class="LineNr">2042 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2043" class="LineNr">2043 </span>    51/push-ecx
@@ -1845,7 +1845,7 @@ if ('onhashchange' in window) {
 <span id="L2075" class="LineNr">2075 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2076" class="LineNr">2076 </span>    <span class="subxS1Comment"># . if (eax != false) goto op2</span>
 <span id="L2077" class="LineNr">2077 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2078" class="LineNr">2078 </span>    75/jump-if-not-equal  $emit-opcodes:op2/disp8
+<span id="L2078" class="LineNr">2078 </span>    75/jump-if-!=  $emit-opcodes:op2/disp8
 <span id="L2079" class="LineNr">2079 </span>    <span class="subxComment"># if (slice-equal?(op1, &quot;f2&quot;)) goto op2</span>
 <span id="L2080" class="LineNr">2080 </span>    <span class="subxS1Comment"># . eax = slice-equal?(op1, &quot;f2&quot;)</span>
 <span id="L2081" class="LineNr">2081 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1857,7 +1857,7 @@ if ('onhashchange' in window) {
 <span id="L2087" class="LineNr">2087 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2088" class="LineNr">2088 </span>    <span class="subxS1Comment"># . if (eax != false) goto op2</span>
 <span id="L2089" class="LineNr">2089 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2090" class="LineNr">2090 </span>    75/jump-if-not-equal  $emit-opcodes:op2/disp8
+<span id="L2090" class="LineNr">2090 </span>    75/jump-if-!=  $emit-opcodes:op2/disp8
 <span id="L2091" class="LineNr">2091 </span>    <span class="subxComment"># if (slice-equal?(op1, &quot;f3&quot;)) goto op2</span>
 <span id="L2092" class="LineNr">2092 </span>    <span class="subxS1Comment"># . eax = slice-equal?(op1, &quot;f3&quot;)</span>
 <span id="L2093" class="LineNr">2093 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1869,7 +1869,7 @@ if ('onhashchange' in window) {
 <span id="L2099" class="LineNr">2099 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2100" class="LineNr">2100 </span>    <span class="subxS1Comment"># . if (eax != false) goto op2</span>
 <span id="L2101" class="LineNr">2101 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2102" class="LineNr">2102 </span>    75/jump-if-not-equal  $emit-opcodes:op2/disp8
+<span id="L2102" class="LineNr">2102 </span>    75/jump-if-!=  $emit-opcodes:op2/disp8
 <span id="L2103" class="LineNr">2103 </span>    <span class="subxComment"># otherwise return</span>
 <span id="L2104" class="LineNr">2104 </span>    e9/jump  $emit-opcodes:end/disp32
 <span id="L2105" class="LineNr">2105 </span><span class="Constant">$emit-opcodes:op2</span>:
@@ -1891,7 +1891,7 @@ if ('onhashchange' in window) {
 <span id="L2121" class="LineNr">2121 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2122" class="LineNr">2122 </span>    <span class="subxS1Comment"># . if (eax != false) return</span>
 <span id="L2123" class="LineNr">2123 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2124" class="LineNr">2124 </span>    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+<span id="L2124" class="LineNr">2124 </span>    0f 85/jump-if-!=  $emit-opcodes:end/disp32
 <span id="L2125" class="LineNr">2125 </span>    <span class="subxComment"># if (slice-starts-with?(op2, &quot;#&quot;)) return</span>
 <span id="L2126" class="LineNr">2126 </span>    <span class="subxS1Comment"># . var start/ebx : (addr byte) = op2-&gt;start</span>
 <span id="L2127" class="LineNr">2127 </span>    8b/copy                         0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edx to ebx</span>
@@ -1900,7 +1900,7 @@ if ('onhashchange' in window) {
 <span id="L2130" class="LineNr">2130 </span>    8a/copy-byte                    0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ebx to AL</span>
 <span id="L2131" class="LineNr">2131 </span>    <span class="subxS1Comment"># . if (c == '#') return</span>
 <span id="L2132" class="LineNr">2132 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2133" class="LineNr">2133 </span>    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+<span id="L2133" class="LineNr">2133 </span>    0f 84/jump-if-=  $emit-opcodes:end/disp32
 <span id="L2134" class="LineNr">2134 </span>    <span class="subxComment"># op2 = next-token-from-slice(op2-&gt;start, op2-&gt;end, '/')</span>
 <span id="L2135" class="LineNr">2135 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2136" class="LineNr">2136 </span>    52/push-edx
@@ -1938,7 +1938,7 @@ if ('onhashchange' in window) {
 <span id="L2168" class="LineNr">2168 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2169" class="LineNr">2169 </span>    <span class="subxS1Comment"># . if (eax != false) return</span>
 <span id="L2170" class="LineNr">2170 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2171" class="LineNr">2171 </span>    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+<span id="L2171" class="LineNr">2171 </span>    0f 85/jump-if-!=  $emit-opcodes:end/disp32
 <span id="L2172" class="LineNr">2172 </span>    <span class="subxComment"># if (!slice-equal?(op2, &quot;0f&quot;)) return</span>
 <span id="L2173" class="LineNr">2173 </span>    <span class="subxS1Comment"># . eax = slice-equal?(op2, &quot;0f&quot;)</span>
 <span id="L2174" class="LineNr">2174 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1950,7 +1950,7 @@ if ('onhashchange' in window) {
 <span id="L2180" class="LineNr">2180 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2181" class="LineNr">2181 </span>    <span class="subxS1Comment"># . if (eax == false) return</span>
 <span id="L2182" class="LineNr">2182 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2183" class="LineNr">2183 </span>    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+<span id="L2183" class="LineNr">2183 </span>    0f 84/jump-if-=  $emit-opcodes:end/disp32
 <span id="L2184" class="LineNr">2184 </span><span class="Constant">$emit-opcodes:op3</span>:
 <span id="L2185" class="LineNr">2185 </span>    <span class="subxComment"># next-word(line, op3)  # reuse op2/edx</span>
 <span id="L2186" class="LineNr">2186 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1970,7 +1970,7 @@ if ('onhashchange' in window) {
 <span id="L2200" class="LineNr">2200 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2201" class="LineNr">2201 </span>    <span class="subxS1Comment"># . if (eax != false) return</span>
 <span id="L2202" class="LineNr">2202 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2203" class="LineNr">2203 </span>    0f 85/jump-if-not-equal  $emit-opcodes:end/disp32
+<span id="L2203" class="LineNr">2203 </span>    0f 85/jump-if-!=  $emit-opcodes:end/disp32
 <span id="L2204" class="LineNr">2204 </span>    <span class="subxComment"># if (slice-starts-with?(op3, &quot;#&quot;)) return</span>
 <span id="L2205" class="LineNr">2205 </span>    <span class="subxS1Comment"># . var start/ebx : (addr byte) = op2-&gt;start</span>
 <span id="L2206" class="LineNr">2206 </span>    8b/copy                         0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/ebx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *edx to ebx</span>
@@ -1979,7 +1979,7 @@ if ('onhashchange' in window) {
 <span id="L2209" class="LineNr">2209 </span>    8a/copy-byte                    0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ebx to AL</span>
 <span id="L2210" class="LineNr">2210 </span>    <span class="subxS1Comment"># . if (c == '#') return</span>
 <span id="L2211" class="LineNr">2211 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2212" class="LineNr">2212 </span>    0f 84/jump-if-equal  $emit-opcodes:end/disp32
+<span id="L2212" class="LineNr">2212 </span>    0f 84/jump-if-=  $emit-opcodes:end/disp32
 <span id="L2213" class="LineNr">2213 </span>    <span class="subxComment"># op3 = next-token-from-slice(op3-&gt;start, op3-&gt;end, '/')</span>
 <span id="L2214" class="LineNr">2214 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2215" class="LineNr">2215 </span>    52/push-edx
@@ -2096,7 +2096,7 @@ if ('onhashchange' in window) {
 <span id="L2397" class="LineNr">2397 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2398" class="LineNr">2398 </span>    <span class="subxS1Comment"># . if (eax != false) pass through</span>
 <span id="L2399" class="LineNr">2399 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2400" class="LineNr">2400 </span>    0f 85/jump-if-not-equal  $emit-modrm:<span class="Constant">break</span>/disp32
+<span id="L2400" class="LineNr">2400 </span>    0f 85/jump-if-!=  $emit-modrm:<span class="Constant">break</span>/disp32
 <span id="L2401" class="LineNr">2401 </span><span class="Constant">$emit-modrm:check1</span>:
 <span id="L2402" class="LineNr">2402 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L2403" class="LineNr">2403 </span>    <span class="subxS1Comment"># . spill edx</span>
@@ -2110,7 +2110,7 @@ if ('onhashchange' in window) {
 <span id="L2411" class="LineNr">2411 </span>    5a/pop-to-edx
 <span id="L2412" class="LineNr">2412 </span>    <span class="subxS1Comment"># . if (c == '#') pass through</span>
 <span id="L2413" class="LineNr">2413 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2414" class="LineNr">2414 </span>    0f 84/jump-if-equal  $emit-modrm:<span class="Constant">break</span>/disp32
+<span id="L2414" class="LineNr">2414 </span>    0f 84/jump-if-=  $emit-modrm:<span class="Constant">break</span>/disp32
 <span id="L2415" class="LineNr">2415 </span><span class="Constant">$emit-modrm:check-for-mod</span>:
 <span id="L2416" class="LineNr">2416 </span>    <span class="subxComment"># if (has-metadata?(word-slice, &quot;mod&quot;))</span>
 <span id="L2417" class="LineNr">2417 </span>    <span class="subxS1Comment"># . eax = has-metadata?(ecx, &quot;mod&quot;)</span>
@@ -2123,7 +2123,7 @@ if ('onhashchange' in window) {
 <span id="L2424" class="LineNr">2424 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2425" class="LineNr">2425 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2426" class="LineNr">2426 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2427" class="LineNr">2427 </span>    74/jump-if-equal  $emit-modrm:check-for-rm32/disp8
+<span id="L2427" class="LineNr">2427 </span>    74/jump-if-=  $emit-modrm:check-for-rm32/disp8
 <span id="L2428" class="LineNr">2428 </span><span class="Constant">$emit-modrm:mod</span>:
 <span id="L2429" class="LineNr">2429 </span>    <span class="subxComment"># mod = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2430" class="LineNr">2430 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2151,7 +2151,7 @@ if ('onhashchange' in window) {
 <span id="L2452" class="LineNr">2452 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2453" class="LineNr">2453 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2454" class="LineNr">2454 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2455" class="LineNr">2455 </span>    74/jump-if-equal  $emit-modrm:check-for-r32/disp8
+<span id="L2455" class="LineNr">2455 </span>    74/jump-if-=  $emit-modrm:check-for-r32/disp8
 <span id="L2456" class="LineNr">2456 </span><span class="Constant">$emit-modrm:rm32</span>:
 <span id="L2457" class="LineNr">2457 </span>    <span class="subxComment"># rm32 = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2458" class="LineNr">2458 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2179,7 +2179,7 @@ if ('onhashchange' in window) {
 <span id="L2480" class="LineNr">2480 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2481" class="LineNr">2481 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2482" class="LineNr">2482 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2483" class="LineNr">2483 </span>    74/jump-if-equal  $emit-modrm:check-for-subop/disp8
+<span id="L2483" class="LineNr">2483 </span>    74/jump-if-=  $emit-modrm:check-for-subop/disp8
 <span id="L2484" class="LineNr">2484 </span><span class="Constant">$emit-modrm:r32</span>:
 <span id="L2485" class="LineNr">2485 </span>    <span class="subxComment"># r32 = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2486" class="LineNr">2486 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2207,7 +2207,7 @@ if ('onhashchange' in window) {
 <span id="L2508" class="LineNr">2508 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2509" class="LineNr">2509 </span>    <span class="subxS1Comment"># . if (eax == false) loop</span>
 <span id="L2510" class="LineNr">2510 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2511" class="LineNr">2511 </span>    0f 84/jump-if-equal  $emit-modrm:<span class="Constant">loop</span>/disp32
+<span id="L2511" class="LineNr">2511 </span>    0f 84/jump-if-=  $emit-modrm:<span class="Constant">loop</span>/disp32
 <span id="L2512" class="LineNr">2512 </span><span class="Constant">$emit-modrm:subop</span>:
 <span id="L2513" class="LineNr">2513 </span>    <span class="subxComment"># r32 = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2514" class="LineNr">2514 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2226,7 +2226,7 @@ if ('onhashchange' in window) {
 <span id="L2527" class="LineNr">2527 </span><span class="Constant">$emit-modrm:break</span>:
 <span id="L2528" class="LineNr">2528 </span>    <span class="subxComment"># if (!has-modrm?) return</span>
 <span id="L2529" class="LineNr">2529 </span>    81          7/subop/compare     3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare edx</span>
-<span id="L2530" class="LineNr">2530 </span>    74/jump-if-equal  $emit-modrm:end/disp8
+<span id="L2530" class="LineNr">2530 </span>    74/jump-if-=  $emit-modrm:end/disp8
 <span id="L2531" class="LineNr">2531 </span><span class="Constant">$emit-modrm:calculate</span>:
 <span id="L2532" class="LineNr">2532 </span>    <span class="subxComment"># var modrm/ebx : byte = mod &amp; 0b11</span>
 <span id="L2533" class="LineNr">2533 </span>    81          4/subop/and         3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              3/imm32/0b11      <span class="subxComment"># bitwise and of ebx</span>
@@ -2341,7 +2341,7 @@ if ('onhashchange' in window) {
 <span id="L2706" class="LineNr">2706 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2707" class="LineNr">2707 </span>    <span class="subxS1Comment"># . if (eax != false) pass through</span>
 <span id="L2708" class="LineNr">2708 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2709" class="LineNr">2709 </span>    0f 85/jump-if-not-equal  $emit-sib:<span class="Constant">break</span>/disp32
+<span id="L2709" class="LineNr">2709 </span>    0f 85/jump-if-!=  $emit-sib:<span class="Constant">break</span>/disp32
 <span id="L2710" class="LineNr">2710 </span><span class="Constant">$emit-sib:check1</span>:
 <span id="L2711" class="LineNr">2711 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L2712" class="LineNr">2712 </span>    <span class="subxS1Comment"># . spill edx</span>
@@ -2355,7 +2355,7 @@ if ('onhashchange' in window) {
 <span id="L2720" class="LineNr">2720 </span>    5a/pop-to-edx
 <span id="L2721" class="LineNr">2721 </span>    <span class="subxS1Comment"># . if (c == '#') pass through</span>
 <span id="L2722" class="LineNr">2722 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2723" class="LineNr">2723 </span>    0f 84/jump-if-equal  $emit-sib:<span class="Constant">break</span>/disp32
+<span id="L2723" class="LineNr">2723 </span>    0f 84/jump-if-=  $emit-sib:<span class="Constant">break</span>/disp32
 <span id="L2724" class="LineNr">2724 </span><span class="Constant">$emit-sib:check-for-scale</span>:
 <span id="L2725" class="LineNr">2725 </span>    <span class="subxComment"># if (has-metadata?(word-slice, &quot;scale&quot;))</span>
 <span id="L2726" class="LineNr">2726 </span>    <span class="subxS1Comment"># . eax = has-metadata?(ecx, &quot;scale&quot;)</span>
@@ -2368,7 +2368,7 @@ if ('onhashchange' in window) {
 <span id="L2733" class="LineNr">2733 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2734" class="LineNr">2734 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2735" class="LineNr">2735 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2736" class="LineNr">2736 </span>    74/jump-if-equal  $emit-sib:check-for-base/disp8
+<span id="L2736" class="LineNr">2736 </span>    74/jump-if-=  $emit-sib:check-for-base/disp8
 <span id="L2737" class="LineNr">2737 </span><span class="Constant">$emit-sib:scale</span>:
 <span id="L2738" class="LineNr">2738 </span>    <span class="subxComment"># scale = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2739" class="LineNr">2739 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2396,7 +2396,7 @@ if ('onhashchange' in window) {
 <span id="L2761" class="LineNr">2761 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2762" class="LineNr">2762 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2763" class="LineNr">2763 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2764" class="LineNr">2764 </span>    74/jump-if-equal  $emit-sib:check-for-index/disp8
+<span id="L2764" class="LineNr">2764 </span>    74/jump-if-=  $emit-sib:check-for-index/disp8
 <span id="L2765" class="LineNr">2765 </span><span class="Constant">$emit-sib:base</span>:
 <span id="L2766" class="LineNr">2766 </span>    <span class="subxComment"># base = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2767" class="LineNr">2767 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2424,7 +2424,7 @@ if ('onhashchange' in window) {
 <span id="L2789" class="LineNr">2789 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2790" class="LineNr">2790 </span>    <span class="subxS1Comment"># . if (eax == false) loop</span>
 <span id="L2791" class="LineNr">2791 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2792" class="LineNr">2792 </span>    0f 84/jump-if-equal  $emit-sib:<span class="Constant">loop</span>/disp32
+<span id="L2792" class="LineNr">2792 </span>    0f 84/jump-if-=  $emit-sib:<span class="Constant">loop</span>/disp32
 <span id="L2793" class="LineNr">2793 </span><span class="Constant">$emit-sib:index</span>:
 <span id="L2794" class="LineNr">2794 </span>    <span class="subxComment"># index = parse-hex-int(next-token-from-slice(word-slice-&gt;start, word-slice-&gt;end, '/'))</span>
 <span id="L2795" class="LineNr">2795 </span>    <span class="subxS1Comment"># . eax = parse-datum-of-word(word-slice)</span>
@@ -2443,7 +2443,7 @@ if ('onhashchange' in window) {
 <span id="L2808" class="LineNr">2808 </span><span class="Constant">$emit-sib:break</span>:
 <span id="L2809" class="LineNr">2809 </span>    <span class="subxComment"># if (!has-sib?) return</span>
 <span id="L2810" class="LineNr">2810 </span>    81          7/subop/compare     3/mod/direct    2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare edx</span>
-<span id="L2811" class="LineNr">2811 </span>    74/jump-if-equal  $emit-sib:end/disp8
+<span id="L2811" class="LineNr">2811 </span>    74/jump-if-=  $emit-sib:end/disp8
 <span id="L2812" class="LineNr">2812 </span><span class="Constant">$emit-sib:calculate</span>:
 <span id="L2813" class="LineNr">2813 </span>    <span class="subxComment"># var sib/ebx : byte = scale &amp; 0b11</span>
 <span id="L2814" class="LineNr">2814 </span>    81          4/subop/and         3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              3/imm32/0b11      <span class="subxComment"># bitwise and of ebx</span>
@@ -2540,7 +2540,7 @@ if ('onhashchange' in window) {
 <span id="L2969" class="LineNr">2969 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2970" class="LineNr">2970 </span>    <span class="subxS1Comment"># . if (eax != false) pass through</span>
 <span id="L2971" class="LineNr">2971 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2972" class="LineNr">2972 </span>    0f 85/jump-if-not-equal  $emit-disp:<span class="Constant">break</span>/disp32
+<span id="L2972" class="LineNr">2972 </span>    0f 85/jump-if-!=  $emit-disp:<span class="Constant">break</span>/disp32
 <span id="L2973" class="LineNr">2973 </span><span class="Constant">$emit-disp:check1</span>:
 <span id="L2974" class="LineNr">2974 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L2975" class="LineNr">2975 </span>    <span class="subxS1Comment"># . var start/edx : (addr byte) = word-slice-&gt;start</span>
@@ -2550,7 +2550,7 @@ if ('onhashchange' in window) {
 <span id="L2979" class="LineNr">2979 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to AL</span>
 <span id="L2980" class="LineNr">2980 </span>    <span class="subxS1Comment"># . if (c == '#') break</span>
 <span id="L2981" class="LineNr">2981 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2982" class="LineNr">2982 </span>    0f 84/jump-if-equal  $emit-disp:<span class="Constant">break</span>/disp32
+<span id="L2982" class="LineNr">2982 </span>    0f 84/jump-if-=  $emit-disp:<span class="Constant">break</span>/disp32
 <span id="L2983" class="LineNr">2983 </span><span class="Constant">$emit-disp:check-for-disp32</span>:
 <span id="L2984" class="LineNr">2984 </span>    <span class="subxComment"># if (has-metadata?(word-slice, &quot;disp32&quot;))</span>
 <span id="L2985" class="LineNr">2985 </span>    <span class="subxS1Comment"># . eax = has-metadata?(ecx, &quot;disp32&quot;)</span>
@@ -2563,7 +2563,7 @@ if ('onhashchange' in window) {
 <span id="L2992" class="LineNr">2992 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2993" class="LineNr">2993 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2994" class="LineNr">2994 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2995" class="LineNr">2995 </span>    74/jump-if-equal  $emit-disp:check-for-disp16/disp8
+<span id="L2995" class="LineNr">2995 </span>    74/jump-if-=  $emit-disp:check-for-disp16/disp8
 <span id="L2996" class="LineNr">2996 </span><span class="Constant">$emit-disp:disp32</span>:
 <span id="L2997" class="LineNr">2997 </span>    <span class="subxComment"># emit(out, word-slice, 4)</span>
 <span id="L2998" class="LineNr">2998 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2588,7 +2588,7 @@ if ('onhashchange' in window) {
 <span id="L3017" class="LineNr">3017 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3018" class="LineNr">3018 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L3019" class="LineNr">3019 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3020" class="LineNr">3020 </span>    74/jump-if-equal  $emit-disp:check-for-disp8/disp8
+<span id="L3020" class="LineNr">3020 </span>    74/jump-if-=  $emit-disp:check-for-disp8/disp8
 <span id="L3021" class="LineNr">3021 </span><span class="Constant">$emit-disp:disp16</span>:
 <span id="L3022" class="LineNr">3022 </span>    <span class="subxComment"># emit(out, word-slice, 2)</span>
 <span id="L3023" class="LineNr">3023 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2613,7 +2613,7 @@ if ('onhashchange' in window) {
 <span id="L3042" class="LineNr">3042 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3043" class="LineNr">3043 </span>    <span class="subxS1Comment"># . if (eax == false) loop</span>
 <span id="L3044" class="LineNr">3044 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3045" class="LineNr">3045 </span>    0f 84/jump-if-equal  $emit-disp:<span class="Constant">loop</span>/disp32
+<span id="L3045" class="LineNr">3045 </span>    0f 84/jump-if-=  $emit-disp:<span class="Constant">loop</span>/disp32
 <span id="L3046" class="LineNr">3046 </span><span class="Constant">$emit-disp:disp8</span>:
 <span id="L3047" class="LineNr">3047 </span>    <span class="subxComment"># emit(out, word-slice, 1)</span>
 <span id="L3048" class="LineNr">3048 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2695,7 +2695,7 @@ if ('onhashchange' in window) {
 <span id="L3188" class="LineNr">3188 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3189" class="LineNr">3189 </span>    <span class="subxS1Comment"># . if (eax != false) pass through</span>
 <span id="L3190" class="LineNr">3190 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3191" class="LineNr">3191 </span>    0f 85/jump-if-not-equal  $emit-imm:<span class="Constant">break</span>/disp32
+<span id="L3191" class="LineNr">3191 </span>    0f 85/jump-if-!=  $emit-imm:<span class="Constant">break</span>/disp32
 <span id="L3192" class="LineNr">3192 </span><span class="Constant">$emit-imm:check1</span>:
 <span id="L3193" class="LineNr">3193 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L3194" class="LineNr">3194 </span>    <span class="subxS1Comment"># . var start/edx : (addr byte) = slice-&gt;start</span>
@@ -2705,7 +2705,7 @@ if ('onhashchange' in window) {
 <span id="L3198" class="LineNr">3198 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to AL</span>
 <span id="L3199" class="LineNr">3199 </span>    <span class="subxS1Comment"># . if (c == '#') break</span>
 <span id="L3200" class="LineNr">3200 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L3201" class="LineNr">3201 </span>    0f 84/jump-if-equal  $emit-imm:<span class="Constant">break</span>/disp32
+<span id="L3201" class="LineNr">3201 </span>    0f 84/jump-if-=  $emit-imm:<span class="Constant">break</span>/disp32
 <span id="L3202" class="LineNr">3202 </span><span class="Constant">$emit-imm:check-for-imm32</span>:
 <span id="L3203" class="LineNr">3203 </span>    <span class="subxComment"># if (has-metadata?(word-slice, &quot;imm32&quot;))</span>
 <span id="L3204" class="LineNr">3204 </span>    <span class="subxS1Comment"># . eax = has-metadata?(ecx, &quot;imm32&quot;)</span>
@@ -2718,7 +2718,7 @@ if ('onhashchange' in window) {
 <span id="L3211" class="LineNr">3211 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3212" class="LineNr">3212 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L3213" class="LineNr">3213 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3214" class="LineNr">3214 </span>    74/jump-if-equal  $emit-imm:check-for-imm16/disp8
+<span id="L3214" class="LineNr">3214 </span>    74/jump-if-=  $emit-imm:check-for-imm16/disp8
 <span id="L3215" class="LineNr">3215 </span><span class="Constant">$emit-imm:imm32</span>:
 <span id="L3216" class="LineNr">3216 </span>    <span class="subxComment"># emit(out, word-slice, 4)</span>
 <span id="L3217" class="LineNr">3217 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2743,7 +2743,7 @@ if ('onhashchange' in window) {
 <span id="L3236" class="LineNr">3236 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3237" class="LineNr">3237 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L3238" class="LineNr">3238 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3239" class="LineNr">3239 </span>    74/jump-if-equal  $emit-imm:check-for-imm8/disp8
+<span id="L3239" class="LineNr">3239 </span>    74/jump-if-=  $emit-imm:check-for-imm8/disp8
 <span id="L3240" class="LineNr">3240 </span><span class="Constant">$emit-imm:imm16</span>:
 <span id="L3241" class="LineNr">3241 </span>    <span class="subxComment"># emit(out, word-slice, 2)</span>
 <span id="L3242" class="LineNr">3242 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2768,7 +2768,7 @@ if ('onhashchange' in window) {
 <span id="L3261" class="LineNr">3261 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3262" class="LineNr">3262 </span>    <span class="subxS1Comment"># . if (eax == false) loop</span>
 <span id="L3263" class="LineNr">3263 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3264" class="LineNr">3264 </span>    0f 84/jump-if-equal  $emit-imm:<span class="Constant">loop</span>/disp32
+<span id="L3264" class="LineNr">3264 </span>    0f 84/jump-if-=  $emit-imm:<span class="Constant">loop</span>/disp32
 <span id="L3265" class="LineNr">3265 </span><span class="Constant">$emit-imm:imm8</span>:
 <span id="L3266" class="LineNr">3266 </span>    <span class="subxComment"># emit(out, word-slice, 1)</span>
 <span id="L3267" class="LineNr">3267 </span>    <span class="subxS2Comment"># . . push args</span>
diff --git a/html/apps/sigils.subx.html b/html/apps/sigils.subx.html
index 0dd7a70e..937f2bfc 100644
--- a/html/apps/sigils.subx.html
+++ b/html/apps/sigils.subx.html
@@ -130,7 +130,7 @@ if ('onhashchange' in window) {
 <span id="L68" class="LineNr">  68 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L69" class="LineNr">  69 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L70" class="LineNr">  70 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L71" class="LineNr">  71 </span>    7e/jump-if-lesser-or-equal  $subx-sigils-main:interactive/disp8
+<span id="L71" class="LineNr">  71 </span>    7e/jump-if-&lt;=  $subx-sigils-main:interactive/disp8
 <span id="L72" class="LineNr">  72 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L73" class="LineNr">  73 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L74" class="LineNr">  74 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -142,7 +142,7 @@ if ('onhashchange' in window) {
 <span id="L80" class="LineNr">  80 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L81" class="LineNr">  81 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L82" class="LineNr">  82 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L83" class="LineNr">  83 </span>    74/jump-if-equal  $subx-sigils-main:interactive/disp8
+<span id="L83" class="LineNr">  83 </span>    74/jump-if-=  $subx-sigils-main:interactive/disp8
 <span id="L84" class="LineNr">  84 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L85" class="LineNr">  85 </span>    e8/call  run-tests/disp32
 <span id="L86" class="LineNr">  86 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -232,7 +232,7 @@ if ('onhashchange' in window) {
 <span id="L170" class="LineNr"> 170 </span><span class="Constant">$subx-sigils:check0</span>:
 <span id="L171" class="LineNr"> 171 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L172" class="LineNr"> 172 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L173" class="LineNr"> 173 </span>    0f 84/jump-if-equal  $subx-sigils:<span class="Constant">break</span>/disp32
+<span id="L173" class="LineNr"> 173 </span>    0f 84/jump-if-=  $subx-sigils:<span class="Constant">break</span>/disp32
 <span id="L174" class="LineNr"> 174 </span><span class="Constant">$subx-sigils:word-loop</span>:
 <span id="L175" class="LineNr"> 175 </span>    <span class="subxComment"># next-word-or-expression(line, word-slice)</span>
 <span id="L176" class="LineNr"> 176 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -253,7 +253,7 @@ if ('onhashchange' in window) {
 <span id="L191" class="LineNr"> 191 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L192" class="LineNr"> 192 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L193" class="LineNr"> 193 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L194" class="LineNr"> 194 </span>    0f 85/jump-if-not-equal  $subx-sigils:next-line/disp32
+<span id="L194" class="LineNr"> 194 </span>    0f 85/jump-if-!=  $subx-sigils:next-line/disp32
 <span id="L195" class="LineNr"> 195 </span><span class="Constant">$subx-sigils:check-for-comment</span>:
 <span id="L196" class="LineNr"> 196 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) continue</span>
 <span id="L197" class="LineNr"> 197 </span>    <span class="subxS1Comment"># . start/ebx = word-slice-&gt;start</span>
@@ -263,11 +263,11 @@ if ('onhashchange' in window) {
 <span id="L201" class="LineNr"> 201 </span>    8a/copy-byte                    0/mod/indirect  3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ebx to AL</span>
 <span id="L202" class="LineNr"> 202 </span>    <span class="subxS1Comment"># . if (eax == '#') continue</span>
 <span id="L203" class="LineNr"> 203 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L204" class="LineNr"> 204 </span>    74/jump-if-equal  $subx-sigils:word-loop/disp8
+<span id="L204" class="LineNr"> 204 </span>    74/jump-if-=  $subx-sigils:word-loop/disp8
 <span id="L205" class="LineNr"> 205 </span><span class="Constant">$subx-sigils:check-for-direct-mode</span>:
 <span id="L206" class="LineNr"> 206 </span>    <span class="subxComment"># if (!slice-starts-with?(word-slice, &quot;%&quot;)) goto next check</span>
 <span id="L207" class="LineNr"> 207 </span>    3d/compare-eax-and  0x25/imm32/percent
-<span id="L208" class="LineNr"> 208 </span>    75/jump-if-not-equal  $subx-sigils:check-for-indirect-mode/disp8
+<span id="L208" class="LineNr"> 208 </span>    75/jump-if-!=  $subx-sigils:check-for-indirect-mode/disp8
 <span id="L209" class="LineNr"> 209 </span><span class="Constant">$subx-sigils:direct-mode</span>:
 <span id="L210" class="Folded"> 210 </span><span class="Folded">+-- 40 lines: #?     # dump word-slice -----------------------------------------------------------------------------------------------------------------------</span>
 <span id="L250" class="LineNr"> 250 </span>    <span class="subxComment"># emit-direct-mode(out, word-slice)</span>
@@ -283,7 +283,7 @@ if ('onhashchange' in window) {
 <span id="L260" class="LineNr"> 260 </span><span class="Constant">$subx-sigils:check-for-indirect-mode</span>:
 <span id="L261" class="LineNr"> 261 </span>    <span class="subxComment"># if (!slice-starts-with?(word-slice, &quot;*&quot;)) goto next check</span>
 <span id="L262" class="LineNr"> 262 </span>    3d/compare-eax-and  0x2a/imm32/asterisk
-<span id="L263" class="LineNr"> 263 </span>    75/jump-if-not-equal  $subx-sigils:check-for-invalid-addition/disp8
+<span id="L263" class="LineNr"> 263 </span>    75/jump-if-!=  $subx-sigils:check-for-invalid-addition/disp8
 <span id="L264" class="LineNr"> 264 </span>    <span class="subxComment"># if (!disp32-mode?(word-slice)) goto indirect mode</span>
 <span id="L265" class="LineNr"> 265 </span>    <span class="subxS1Comment"># . eax = disp32-mode?(word-slice)</span>
 <span id="L266" class="LineNr"> 266 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -294,7 +294,7 @@ if ('onhashchange' in window) {
 <span id="L271" class="LineNr"> 271 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L272" class="LineNr"> 272 </span>    <span class="subxS1Comment"># . if (eax == false) goto indirect mode</span>
 <span id="L273" class="LineNr"> 273 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L274" class="LineNr"> 274 </span>    74/jump-if-equal  $subx-sigils:indirect-mode/disp8
+<span id="L274" class="LineNr"> 274 </span>    74/jump-if-=  $subx-sigils:indirect-mode/disp8
 <span id="L275" class="LineNr"> 275 </span><span class="Constant">$subx-sigils:disp32-mode</span>:
 <span id="L276" class="LineNr"> 276 </span>    <span class="subxComment"># emit-indirect-mode(out, word-slice)</span>
 <span id="L277" class="LineNr"> 277 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -340,11 +340,11 @@ if ('onhashchange' in window) {
 <span id="L317" class="LineNr"> 317 </span><span class="Constant">$subx-sigils:check-for-invalid-addition</span>:
 <span id="L318" class="LineNr"> 318 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;+&quot;)) goto error1</span>
 <span id="L319" class="LineNr"> 319 </span>    3d/compare-eax-and  0x2b/imm32/plus
-<span id="L320" class="LineNr"> 320 </span>    74/jump-if-equal  $subx-sigils:error1/disp8
+<span id="L320" class="LineNr"> 320 </span>    74/jump-if-=  $subx-sigils:error1/disp8
 <span id="L321" class="LineNr"> 321 </span><span class="Constant">$subx-sigils:check-for-invalid-left-shift</span>:
 <span id="L322" class="LineNr"> 322 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;&lt;&quot;)) goto error1</span>
 <span id="L323" class="LineNr"> 323 </span>    3d/compare-eax-and  0x3c/imm32/less-than
-<span id="L324" class="LineNr"> 324 </span>    74/jump-if-equal  $subx-sigils:error1/disp8
+<span id="L324" class="LineNr"> 324 </span>    74/jump-if-=  $subx-sigils:error1/disp8
 <span id="L325" class="LineNr"> 325 </span><span class="Constant">$subx-sigils:regular-word</span>:
 <span id="L326" class="LineNr"> 326 </span>    <span class="subxComment"># write-slice-buffered(out, word-slice)</span>
 <span id="L327" class="LineNr"> 327 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1425,7 +1425,7 @@ if ('onhashchange' in window) {
 <span id="L1652" class="LineNr">1652 </span>    8b/copy                         1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *(esi+4) to ecx</span>
 <span id="L1653" class="LineNr">1653 </span>    <span class="subxS1Comment"># . if (ecx &lt; line-&gt;write) goto next check</span>
 <span id="L1654" class="LineNr">1654 </span>    3b/compare                      0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with *esi</span>
-<span id="L1655" class="LineNr">1655 </span>    7c/jump-if-lesser  $next-word-or-expression:check-for-comment/disp8
+<span id="L1655" class="LineNr">1655 </span>    7c/jump-if-&lt;  $next-word-or-expression:check-for-comment/disp8
 <span id="L1656" class="LineNr">1656 </span>    <span class="subxS1Comment"># . return out = {0, 0}</span>
 <span id="L1657" class="LineNr">1657 </span>    c7          0/subop/copy        0/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># copy to *edi</span>
 <span id="L1658" class="LineNr">1658 </span>    c7          0/subop/copy        1/mod/*+disp8   7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8         0/imm32           <span class="subxComment"># copy to *(edi+4)</span>
@@ -1440,7 +1440,7 @@ if ('onhashchange' in window) {
 <span id="L1667" class="LineNr">1667 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L1668" class="LineNr">1668 </span>    <span class="subxS1Comment"># . if (eax != '#') goto next check</span>
 <span id="L1669" class="LineNr">1669 </span>    3d/compare-eax-and  0x23/imm32/pound
-<span id="L1670" class="LineNr">1670 </span>    75/jump-if-not-equal  $next-word-or-expression:check-for-string-literal/disp8
+<span id="L1670" class="LineNr">1670 </span>    75/jump-if-!=  $next-word-or-expression:check-for-string-literal/disp8
 <span id="L1671" class="LineNr">1671 </span><span class="Constant">$next-word-or-expression:comment</span>:
 <span id="L1672" class="LineNr">1672 </span>    <span class="subxComment"># out-&gt;end = &amp;line-&gt;data[line-&gt;write]</span>
 <span id="L1673" class="LineNr">1673 </span>    8b/copy                         0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *esi to eax</span>
@@ -1454,7 +1454,7 @@ if ('onhashchange' in window) {
 <span id="L1681" class="LineNr">1681 </span><span class="Constant">$next-word-or-expression:check-for-string-literal</span>:
 <span id="L1682" class="LineNr">1682 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '&quot;') goto next check</span>
 <span id="L1683" class="LineNr">1683 </span>    3d/compare-eax-and  0x22/imm32/dquote
-<span id="L1684" class="LineNr">1684 </span>    75/jump-if-not-equal  $next-word-or-expression:check-for-expression/disp8
+<span id="L1684" class="LineNr">1684 </span>    75/jump-if-!=  $next-word-or-expression:check-for-expression/disp8
 <span id="L1685" class="LineNr">1685 </span><span class="Constant">$next-word-or-expression:string-literal</span>:
 <span id="L1686" class="LineNr">1686 </span>    <span class="subxComment"># skip-string(line)</span>
 <span id="L1687" class="LineNr">1687 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1468,14 +1468,14 @@ if ('onhashchange' in window) {
 <span id="L1695" class="LineNr">1695 </span><span class="Constant">$next-word-or-expression:check-for-expression</span>:
 <span id="L1696" class="LineNr">1696 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read] != '*') goto next check</span>
 <span id="L1697" class="LineNr">1697 </span>    3d/compare-eax-and  0x2a/imm32/asterisk
-<span id="L1698" class="LineNr">1698 </span>    75/jump-if-not-equal  $next-word-or-expression:regular-word/disp8
+<span id="L1698" class="LineNr">1698 </span>    75/jump-if-!=  $next-word-or-expression:regular-word/disp8
 <span id="L1699" class="LineNr">1699 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] == ' ') goto error1</span>
 <span id="L1700" class="LineNr">1700 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xd/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12+1) to AL</span>
 <span id="L1701" class="LineNr">1701 </span>    3d/compare-eax-and  0x20/imm32/space
-<span id="L1702" class="LineNr">1702 </span>    74/jump-if-equal  $next-word-or-expression:error1/disp8
+<span id="L1702" class="LineNr">1702 </span>    74/jump-if-=  $next-word-or-expression:error1/disp8
 <span id="L1703" class="LineNr">1703 </span>    <span class="subxComment"># if (line-&gt;data[line-&gt;read + 1] != '(') goto regular word</span>
 <span id="L1704" class="LineNr">1704 </span>    3d/compare-eax-and  0x28/imm32/open-paren
-<span id="L1705" class="LineNr">1705 </span>    75/jump-if-not-equal  $next-word-or-expression:regular-word/disp8
+<span id="L1705" class="LineNr">1705 </span>    75/jump-if-!=  $next-word-or-expression:regular-word/disp8
 <span id="L1706" class="LineNr">1706 </span><span class="Constant">$next-word-or-expression:paren</span>:
 <span id="L1707" class="LineNr">1707 </span>    <span class="subxComment"># skip-until-close-paren(line)</span>
 <span id="L1708" class="LineNr">1708 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1490,7 +1490,7 @@ if ('onhashchange' in window) {
 <span id="L1717" class="LineNr">1717 </span>    8a/copy-byte                    1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx  <span class="Normal"> . </span>          0/r32/AL    0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *(esi+ecx+12) to AL</span>
 <span id="L1718" class="LineNr">1718 </span>    <span class="subxS1Comment"># . if (eax != ')') goto error2</span>
 <span id="L1719" class="LineNr">1719 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L1720" class="LineNr">1720 </span>    75/jump-if-not-equal  $next-word-or-expression:error2/disp8
+<span id="L1720" class="LineNr">1720 </span>    75/jump-if-!=  $next-word-or-expression:error2/disp8
 <span id="L1721" class="LineNr">1721 </span>    <span class="subxComment"># skip ')'</span>
 <span id="L1722" class="LineNr">1722 </span>    ff          0/subop/increment   1/mod/*+disp8   6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># increment *(esi+4)</span>
 <span id="L1723" class="LineNr">1723 </span>    <span class="subxComment"># fall through</span>
@@ -2042,7 +2042,7 @@ if ('onhashchange' in window) {
 <span id="L2269" class="LineNr">2269 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2270" class="LineNr">2270 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2271" class="LineNr">2271 </span>    3d/compare-eax-and  0x28/imm32/open-paren
-<span id="L2272" class="LineNr">2272 </span>    74/jump-if-equal  $parse-effective-address:compound-expression/disp8
+<span id="L2272" class="LineNr">2272 </span>    74/jump-if-=  $parse-effective-address:compound-expression/disp8
 <span id="L2273" class="LineNr">2273 </span><span class="Constant">$parse-effective-address:simple-register</span>:
 <span id="L2274" class="LineNr">2274 </span>    <span class="subxComment"># local-slice = next-token-from-slice(local-slice-&gt;start, local-slice-&gt;end, &quot;/&quot;)</span>
 <span id="L2275" class="LineNr">2275 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2108,13 +2108,13 @@ if ('onhashchange' in window) {
 <span id="L2335" class="LineNr">2335 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2336" class="LineNr">2336 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2337" class="LineNr">2337 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L2338" class="LineNr">2338 </span>    0f 84/jump-if-equal  $parse-effective-address:end/disp32
+<span id="L2338" class="LineNr">2338 </span>    0f 84/jump-if-=  $parse-effective-address:end/disp32
 <span id="L2339" class="LineNr">2339 </span>    <span class="subxComment"># if (*local-slice-&gt;start == '-') goto displacement</span>
 <span id="L2340" class="LineNr">2340 </span>    3d/compare-eax-and  0x2d/imm32/minus
-<span id="L2341" class="LineNr">2341 </span>    0f 84/jump-if-equal  $parse-effective-address:displacement/disp32
+<span id="L2341" class="LineNr">2341 </span>    0f 84/jump-if-=  $parse-effective-address:displacement/disp32
 <span id="L2342" class="LineNr">2342 </span>    <span class="subxComment"># if (*local-slice-&gt;start != '+') goto error1</span>
 <span id="L2343" class="LineNr">2343 </span>    3d/compare-eax-and  0x2b/imm32/plus
-<span id="L2344" class="LineNr">2344 </span>    0f 85/jump-if-not-equal  $parse-effective-address:error1/disp32
+<span id="L2344" class="LineNr">2344 </span>    0f 85/jump-if-!=  $parse-effective-address:error1/disp32
 <span id="L2345" class="LineNr">2345 </span><span class="Constant">$parse-effective-address:check-for-index</span>:
 <span id="L2346" class="LineNr">2346 </span>    <span class="subxComment"># ++local-slice-&gt;start to skip '+'</span>
 <span id="L2347" class="LineNr">2347 </span>    ff          0/subop/increment   0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># increment *esi</span>
@@ -2158,7 +2158,7 @@ if ('onhashchange' in window) {
 <span id="L2385" class="LineNr">2385 </span>    59/pop-to-ecx
 <span id="L2386" class="LineNr">2386 </span>    <span class="subxS1Comment"># . if (eax == 0) goto displacement</span>
 <span id="L2387" class="LineNr">2387 </span>    3d/compare-eax-and  0/imm32
-<span id="L2388" class="LineNr">2388 </span>    0f 84/jump-if-equal  $parse-effective-address:displacement/disp32
+<span id="L2388" class="LineNr">2388 </span>    0f 84/jump-if-=  $parse-effective-address:displacement/disp32
 <span id="L2389" class="LineNr">2389 </span><span class="Constant">$parse-effective-address:index</span>:
 <span id="L2390" class="LineNr">2390 </span>    <span class="subxComment"># read register into index</span>
 <span id="L2391" class="LineNr">2391 </span>    <span class="subxS1Comment"># . eax = next-register(local-slice)</span>
@@ -2185,11 +2185,11 @@ if ('onhashchange' in window) {
 <span id="L2412" class="LineNr">2412 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2413" class="LineNr">2413 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2414" class="LineNr">2414 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L2415" class="LineNr">2415 </span>    0f 84/jump-if-equal  $parse-effective-address:end/disp32
+<span id="L2415" class="LineNr">2415 </span>    0f 84/jump-if-=  $parse-effective-address:end/disp32
 <span id="L2416" class="LineNr">2416 </span><span class="Constant">$parse-effective-address:check-for-scale</span>:
 <span id="L2417" class="LineNr">2417 </span>    <span class="subxComment"># if (*local-slice-&gt;start != '&lt;') goto next check</span>
 <span id="L2418" class="LineNr">2418 </span>    3d/compare-eax-and  0x3c/imm32/less-than
-<span id="L2419" class="LineNr">2419 </span>    75/jump-if-not-equal  $parse-effective-address:check-for-displacement/disp8
+<span id="L2419" class="LineNr">2419 </span>    75/jump-if-!=  $parse-effective-address:check-for-displacement/disp8
 <span id="L2420" class="LineNr">2420 </span>    <span class="subxComment"># ++local-slice-&gt;start to skip '&lt;'</span>
 <span id="L2421" class="LineNr">2421 </span>    ff          0/subop/increment   0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># increment *esi</span>
 <span id="L2422" class="LineNr">2422 </span>    <span class="subxComment"># if (*local-slice-&gt;start != '&lt;') goto error2</span>
@@ -2197,7 +2197,7 @@ if ('onhashchange' in window) {
 <span id="L2424" class="LineNr">2424 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2425" class="LineNr">2425 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2426" class="LineNr">2426 </span>    3d/compare-eax-and  0x3c/imm32/less-than
-<span id="L2427" class="LineNr">2427 </span>    0f 85/jump-if-not-equal  $parse-effective-address:error2/disp32
+<span id="L2427" class="LineNr">2427 </span>    0f 85/jump-if-!=  $parse-effective-address:error2/disp32
 <span id="L2428" class="LineNr">2428 </span>    <span class="subxComment"># ++local-slice-&gt;start to skip '&lt;'</span>
 <span id="L2429" class="LineNr">2429 </span>    ff          0/subop/increment   0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># increment *esi</span>
 <span id="L2430" class="LineNr">2430 </span>    <span class="subxComment"># skip whitespace</span>
@@ -2237,13 +2237,13 @@ if ('onhashchange' in window) {
 <span id="L2464" class="LineNr">2464 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2465" class="LineNr">2465 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2466" class="LineNr">2466 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L2467" class="LineNr">2467 </span>    74/jump-if-equal  $parse-effective-address:end/disp8
+<span id="L2467" class="LineNr">2467 </span>    74/jump-if-=  $parse-effective-address:end/disp8
 <span id="L2468" class="LineNr">2468 </span><span class="Constant">$parse-effective-address:check-for-displacement</span>:
 <span id="L2469" class="LineNr">2469 </span>    <span class="subxComment"># if (*local-slice-&gt;start not in '+' '-') goto error3</span>
 <span id="L2470" class="LineNr">2470 </span>    3d/compare-eax-and  0x2b/imm32/plus
-<span id="L2471" class="LineNr">2471 </span>    74/jump-if-equal  $parse-effective-address:displacement/disp8
+<span id="L2471" class="LineNr">2471 </span>    74/jump-if-=  $parse-effective-address:displacement/disp8
 <span id="L2472" class="LineNr">2472 </span>    3d/compare-eax-and  0x2d/imm32/minus
-<span id="L2473" class="LineNr">2473 </span>    74/jump-if-equal  $parse-effective-address:displacement/disp8
+<span id="L2473" class="LineNr">2473 </span>    74/jump-if-=  $parse-effective-address:displacement/disp8
 <span id="L2474" class="LineNr">2474 </span>    e9/jump  $parse-effective-address:error3/disp32
 <span id="L2475" class="LineNr">2475 </span><span class="Constant">$parse-effective-address:displacement</span>:
 <span id="L2476" class="LineNr">2476 </span>    <span class="subxComment"># read integer into disp</span>
@@ -2271,7 +2271,7 @@ if ('onhashchange' in window) {
 <span id="L2498" class="LineNr">2498 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L2499" class="LineNr">2499 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L2500" class="LineNr">2500 </span>    3d/compare-eax-and  0x29/imm32/close-paren
-<span id="L2501" class="LineNr">2501 </span>    0f 85/jump-if-not-equal  $parse-effective-address:error4/disp32
+<span id="L2501" class="LineNr">2501 </span>    0f 85/jump-if-!=  $parse-effective-address:error4/disp32
 <span id="L2502" class="LineNr">2502 </span><span class="Constant">$parse-effective-address:end</span>:
 <span id="L2503" class="LineNr">2503 </span>    <span class="subxComment"># return base in eax</span>
 <span id="L2504" class="LineNr">2504 </span>    89/copy                         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          7/r32/edi  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy edi to eax</span>
@@ -2929,15 +2929,15 @@ if ('onhashchange' in window) {
 <span id="L3156" class="LineNr">3156 </span><span class="Constant">$emit-indirect-mode:check-for-ebp</span>:
 <span id="L3157" class="LineNr">3157 </span>    <span class="subxComment"># if (base == 5) goto emit-sib</span>
 <span id="L3158" class="LineNr">3158 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8       5/imm32           <span class="subxComment"># compare *(ebp+12)</span>
-<span id="L3159" class="LineNr">3159 </span>    74/jump-if-equal  $emit-indirect-mode:emit-sib/disp8
+<span id="L3159" class="LineNr">3159 </span>    74/jump-if-=  $emit-indirect-mode:emit-sib/disp8
 <span id="L3160" class="LineNr">3160 </span><span class="Constant">$emit-indirect-mode:check-for-esp</span>:
 <span id="L3161" class="LineNr">3161 </span>    <span class="subxComment"># if (base == 4) goto emit-sib</span>
 <span id="L3162" class="LineNr">3162 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0xc/disp8       4/imm32           <span class="subxComment"># compare *(ebp+12)</span>
-<span id="L3163" class="LineNr">3163 </span>    74/jump-if-equal  $emit-indirect-mode:emit-sib/disp8
+<span id="L3163" class="LineNr">3163 </span>    74/jump-if-=  $emit-indirect-mode:emit-sib/disp8
 <span id="L3164" class="LineNr">3164 </span><span class="Constant">$emit-indirect-mode:check-for-sib</span>:
 <span id="L3165" class="LineNr">3165 </span>    <span class="subxComment"># if (index == 4/none) goto next check</span>
 <span id="L3166" class="LineNr">3166 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x10/disp8      4/imm32           <span class="subxComment"># compare *(ebp+16)</span>
-<span id="L3167" class="LineNr">3167 </span>    0f 84/jump-if-equal  $emit-indirect-mode:check-for-disp/disp32
+<span id="L3167" class="LineNr">3167 </span>    0f 84/jump-if-=  $emit-indirect-mode:check-for-disp/disp32
 <span id="L3168" class="LineNr">3168 </span><span class="Constant">$emit-indirect-mode:emit-sib</span>:
 <span id="L3169" class="LineNr">3169 </span>    <span class="subxComment"># emit(out, &quot;2/mod/indirect 4/rm32/sib &quot; base &quot;/base &quot; index &quot;/index &quot; scale &quot;/scale &quot; disp &quot;/disp32&quot;)</span>
 <span id="L3170" class="LineNr">3170 </span>    <span class="subxS1Comment"># . write-buffered(out, &quot;2/mod/*+disp32 4/rm32/sib &quot;)</span>
@@ -3016,7 +3016,7 @@ if ('onhashchange' in window) {
 <span id="L3243" class="LineNr">3243 </span><span class="Constant">$emit-indirect-mode:check-for-disp</span>:
 <span id="L3244" class="LineNr">3244 </span>    <span class="subxComment"># if (disp == 0) goto next check</span>
 <span id="L3245" class="LineNr">3245 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0x18/disp8      0/imm32           <span class="subxComment"># compare *(ebp+24)</span>
-<span id="L3246" class="LineNr">3246 </span>    74/jump-if-equal  $emit-indirect-mode:emit-indirect/disp8
+<span id="L3246" class="LineNr">3246 </span>    74/jump-if-=  $emit-indirect-mode:emit-indirect/disp8
 <span id="L3247" class="LineNr">3247 </span><span class="Constant">$emit-indirect-mode:emit-disp</span>:
 <span id="L3248" class="LineNr">3248 </span>    <span class="subxComment"># emit(out, &quot;2/mod/*+disp32 &quot; base &quot;/rm32 &quot; disp &quot;/disp32&quot;)</span>
 <span id="L3249" class="LineNr">3249 </span>    <span class="subxS1Comment"># . write-buffered(out, &quot;2/mod/*+disp32 &quot;)</span>
@@ -3475,7 +3475,7 @@ if ('onhashchange' in window) {
 <span id="L3877" class="LineNr">3877 </span>    8a/copy-byte                    0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *eax to AL</span>
 <span id="L3878" class="LineNr">3878 </span>    81          4/subop/and         3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xff/imm32        <span class="subxComment"># bitwise and of eax</span>
 <span id="L3879" class="LineNr">3879 </span>    3d/compare-eax-and  0x28/imm32/open-paren
-<span id="L3880" class="LineNr">3880 </span>    74/jump-if-equal  $disp32-mode?:false/disp8
+<span id="L3880" class="LineNr">3880 </span>    74/jump-if-=  $disp32-mode?:false/disp8
 <span id="L3881" class="LineNr">3881 </span><span class="Constant">$disp32-mode?:check-for-register</span>:
 <span id="L3882" class="LineNr">3882 </span>    <span class="subxComment"># local-slice = next-token-from-slice(local-slice-&gt;start, local-slice-&gt;end, &quot;/&quot;)</span>
 <span id="L3883" class="LineNr">3883 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -3498,7 +3498,7 @@ if ('onhashchange' in window) {
 <span id="L3900" class="LineNr">3900 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0xc/imm32         <span class="subxComment"># add to esp</span>
 <span id="L3901" class="LineNr">3901 </span>    <span class="subxComment"># if (eax != 0) return false</span>
 <span id="L3902" class="LineNr">3902 </span>    3d/compare-eax-and  0/imm32
-<span id="L3903" class="LineNr">3903 </span>    75/jump-if-not-equal  $disp32-mode?:false/disp8
+<span id="L3903" class="LineNr">3903 </span>    75/jump-if-!=  $disp32-mode?:false/disp8
 <span id="L3904" class="LineNr">3904 </span>    <span class="subxComment"># return true</span>
 <span id="L3905" class="LineNr">3905 </span>    b8/copy-to-eax  1/imm32/true
 <span id="L3906" class="LineNr">3906 </span>    eb/jump  $disp32-mode?:end/disp8
@@ -3591,14 +3591,14 @@ if ('onhashchange' in window) {
 <span id="L3993" class="LineNr">3993 </span><span class="Constant">$next-hex-int:positive</span>:
 <span id="L3994" class="LineNr">3994 </span>    <span class="subxComment"># if (*curr == '+') ++curr</span>
 <span id="L3995" class="LineNr">3995 </span>    3d/compare-eax-and  0x2b/imm32/+
-<span id="L3996" class="LineNr">3996 </span>    75/jump-if-not-equal  $next-hex-int:negative/disp8
+<span id="L3996" class="LineNr">3996 </span>    75/jump-if-!=  $next-hex-int:negative/disp8
 <span id="L3997" class="LineNr">3997 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L3998" class="LineNr">3998 </span>    41/increment-ecx
 <span id="L3999" class="LineNr">3999 </span>    eb/jump  $next-hex-int:skip-whitespace/disp8
 <span id="L4000" class="LineNr">4000 </span><span class="Constant">$next-hex-int:negative</span>:
 <span id="L4001" class="LineNr">4001 </span>    <span class="subxComment"># else if (*curr == '-') ++curr, negate = true</span>
 <span id="L4002" class="LineNr">4002 </span>    3d/compare-eax-and  0x2d/imm32/-
-<span id="L4003" class="LineNr">4003 </span>    75/jump-if-not-equal  $next-hex-int:skip-whitespace/disp8
+<span id="L4003" class="LineNr">4003 </span>    75/jump-if-!=  $next-hex-int:skip-whitespace/disp8
 <span id="L4004" class="LineNr">4004 </span><span class="Constant">$next-hex-int:need-to-negate</span>:
 <span id="L4005" class="LineNr">4005 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L4006" class="LineNr">4006 </span>    41/increment-ecx
@@ -3625,24 +3625,24 @@ if ('onhashchange' in window) {
 <span id="L4027" class="LineNr">4027 </span>    <span class="subxS1Comment"># . if (*curr != '0') jump to loop</span>
 <span id="L4028" class="LineNr">4028 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4029" class="LineNr">4029 </span>    3d/compare-eax-and  0x30/imm32/0
-<span id="L4030" class="LineNr">4030 </span>    75/jump-if-not-equal  $next-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L4030" class="LineNr">4030 </span>    75/jump-if-!=  $next-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L4031" class="LineNr">4031 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L4032" class="LineNr">4032 </span>    41/increment-ecx
 <span id="L4033" class="LineNr">4033 </span><span class="Constant">$next-hex-int:initial-0x</span>:
 <span id="L4034" class="LineNr">4034 </span>    <span class="subxS1Comment"># . if (curr &gt;= in-&gt;end) return result</span>
 <span id="L4035" class="LineNr">4035 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L4036" class="LineNr">4036 </span>    73/jump-if-greater-or-equal-unsigned  $next-hex-int:end/disp8
+<span id="L4036" class="LineNr">4036 </span>    73/jump-if-addr&gt;=  $next-hex-int:end/disp8
 <span id="L4037" class="LineNr">4037 </span>    <span class="subxS1Comment"># . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again</span>
 <span id="L4038" class="LineNr">4038 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L4039" class="LineNr">4039 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4040" class="LineNr">4040 </span>    3d/compare-eax-and  0x78/imm32/x
-<span id="L4041" class="LineNr">4041 </span>    75/jump-if-not-equal  $next-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L4041" class="LineNr">4041 </span>    75/jump-if-!=  $next-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L4042" class="LineNr">4042 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L4043" class="LineNr">4043 </span>    41/increment-ecx
 <span id="L4044" class="LineNr">4044 </span><span class="Constant">$next-hex-int:loop</span>:
 <span id="L4045" class="LineNr">4045 </span>    <span class="subxComment"># if (curr &gt;= in-&gt;end) break</span>
 <span id="L4046" class="LineNr">4046 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L4047" class="LineNr">4047 </span>    73/jump-if-greater-or-equal-unsigned  $next-hex-int:<span class="Constant">break</span>/disp8
+<span id="L4047" class="LineNr">4047 </span>    73/jump-if-addr&gt;=  $next-hex-int:<span class="Constant">break</span>/disp8
 <span id="L4048" class="LineNr">4048 </span>    <span class="subxComment"># if (!is-hex-digit?(*curr)) break</span>
 <span id="L4049" class="LineNr">4049 </span>    <span class="subxS1Comment"># . eax = *curr</span>
 <span id="L4050" class="LineNr">4050 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
@@ -3655,7 +3655,7 @@ if ('onhashchange' in window) {
 <span id="L4057" class="LineNr">4057 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L4058" class="LineNr">4058 </span>    <span class="subxS1Comment"># . if (eax == false) break</span>
 <span id="L4059" class="LineNr">4059 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L4060" class="LineNr">4060 </span>    74/jump-if-equal  $next-hex-int:<span class="Constant">break</span>/disp8
+<span id="L4060" class="LineNr">4060 </span>    74/jump-if-=  $next-hex-int:<span class="Constant">break</span>/disp8
 <span id="L4061" class="LineNr">4061 </span>    <span class="subxComment"># eax = from-hex-char(*curr)</span>
 <span id="L4062" class="LineNr">4062 </span>    <span class="subxS2Comment"># . . copy arg to eax</span>
 <span id="L4063" class="LineNr">4063 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
@@ -3671,7 +3671,7 @@ if ('onhashchange' in window) {
 <span id="L4073" class="LineNr">4073 </span><span class="Constant">$next-hex-int:break</span>:
 <span id="L4074" class="LineNr">4074 </span>    <span class="subxComment"># if (negate?) result = -result</span>
 <span id="L4075" class="LineNr">4075 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare ebx</span>
-<span id="L4076" class="LineNr">4076 </span>    74/jump-if-equal  $next-hex-int:end/disp8
+<span id="L4076" class="LineNr">4076 </span>    74/jump-if-=  $next-hex-int:end/disp8
 <span id="L4077" class="LineNr">4077 </span><span class="Constant">$next-hex-int:negate</span>:
 <span id="L4078" class="LineNr">4078 </span>    f7          3/subop/negate      3/mod/direct    7/rm32/edi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># negate edi</span>
 <span id="L4079" class="LineNr">4079 </span><span class="Constant">$next-hex-int:end</span>:
@@ -4008,24 +4008,24 @@ if ('onhashchange' in window) {
 <span id="L4410" class="LineNr">4410 </span>    <span class="subxS1Comment"># . if (*curr != '0') jump to loop</span>
 <span id="L4411" class="LineNr">4411 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4412" class="LineNr">4412 </span>    3d/compare-eax-and  0x30/imm32/0
-<span id="L4413" class="LineNr">4413 </span>    75/jump-if-not-equal  $next-positive-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L4413" class="LineNr">4413 </span>    75/jump-if-!=  $next-positive-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L4414" class="LineNr">4414 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L4415" class="LineNr">4415 </span>    41/increment-ecx
 <span id="L4416" class="LineNr">4416 </span><span class="Constant">$next-positive-hex-int:initial-0x</span>:
 <span id="L4417" class="LineNr">4417 </span>    <span class="subxS1Comment"># . if (curr &gt;= in-&gt;end) return result</span>
 <span id="L4418" class="LineNr">4418 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L4419" class="LineNr">4419 </span>    73/jump-if-greater-or-equal-unsigned  $next-positive-hex-int:end/disp8
+<span id="L4419" class="LineNr">4419 </span>    73/jump-if-addr&gt;=  $next-positive-hex-int:end/disp8
 <span id="L4420" class="LineNr">4420 </span>    <span class="subxS1Comment"># . if (*curr != 'x') jump to loop  # the previous '0' is still valid so doesn't need to be checked again</span>
 <span id="L4421" class="LineNr">4421 </span>    31/xor                          3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># clear eax</span>
 <span id="L4422" class="LineNr">4422 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
 <span id="L4423" class="LineNr">4423 </span>    3d/compare-eax-and  0x78/imm32/x
-<span id="L4424" class="LineNr">4424 </span>    75/jump-if-not-equal  $next-positive-hex-int:<span class="Constant">loop</span>/disp8
+<span id="L4424" class="LineNr">4424 </span>    75/jump-if-!=  $next-positive-hex-int:<span class="Constant">loop</span>/disp8
 <span id="L4425" class="LineNr">4425 </span>    <span class="subxS1Comment"># . ++curr</span>
 <span id="L4426" class="LineNr">4426 </span>    41/increment-ecx
 <span id="L4427" class="LineNr">4427 </span><span class="Constant">$next-positive-hex-int:loop</span>:
 <span id="L4428" class="LineNr">4428 </span>    <span class="subxComment"># if (curr &gt;= in-&gt;end) break</span>
 <span id="L4429" class="LineNr">4429 </span>    39/compare                      3/mod/direct    1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare ecx with edx</span>
-<span id="L4430" class="LineNr">4430 </span>    73/jump-if-greater-or-equal-unsigned  $next-positive-hex-int:end/disp8
+<span id="L4430" class="LineNr">4430 </span>    73/jump-if-addr&gt;=  $next-positive-hex-int:end/disp8
 <span id="L4431" class="LineNr">4431 </span>    <span class="subxComment"># if (!is-hex-digit?(*curr)) break</span>
 <span id="L4432" class="LineNr">4432 </span>    <span class="subxS1Comment"># . eax = *curr</span>
 <span id="L4433" class="LineNr">4433 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
@@ -4038,7 +4038,7 @@ if ('onhashchange' in window) {
 <span id="L4440" class="LineNr">4440 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L4441" class="LineNr">4441 </span>    <span class="subxS1Comment"># . if (eax == false) break</span>
 <span id="L4442" class="LineNr">4442 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L4443" class="LineNr">4443 </span>    74/jump-if-equal  $next-positive-hex-int:end/disp8
+<span id="L4443" class="LineNr">4443 </span>    74/jump-if-=  $next-positive-hex-int:end/disp8
 <span id="L4444" class="LineNr">4444 </span>    <span class="subxComment"># eax = from-hex-char(*curr)</span>
 <span id="L4445" class="LineNr">4445 </span>    <span class="subxS2Comment"># . . copy arg to eax</span>
 <span id="L4446" class="LineNr">4446 </span>    8a/copy-byte                    0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to AL</span>
diff --git a/html/apps/survey.subx.html b/html/apps/survey.subx.html
index 6bad51ee..0c669fd5 100644
--- a/html/apps/survey.subx.html
+++ b/html/apps/survey.subx.html
@@ -127,7 +127,7 @@ if ('onhashchange' in window) {
 <span id="L64" class="LineNr">  64 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L65" class="LineNr">  65 </span>    <span class="subxComment"># if (argc &lt;= 1) goto interactive</span>
 <span id="L66" class="LineNr">  66 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L67" class="LineNr">  67 </span>    7e/jump-if-lesser-or-equal  $subx-survey-main:interactive/disp8
+<span id="L67" class="LineNr">  67 </span>    7e/jump-if-&lt;=  $subx-survey-main:interactive/disp8
 <span id="L68" class="LineNr">  68 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto interactive</span>
 <span id="L69" class="LineNr">  69 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L70" class="LineNr">  70 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -139,7 +139,7 @@ if ('onhashchange' in window) {
 <span id="L76" class="LineNr">  76 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L77" class="LineNr">  77 </span>    <span class="subxS1Comment"># . if (eax == false) goto interactive</span>
 <span id="L78" class="LineNr">  78 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L79" class="LineNr">  79 </span>    74/jump-if-equal  $subx-survey-main:interactive/disp8
+<span id="L79" class="LineNr">  79 </span>    74/jump-if-=  $subx-survey-main:interactive/disp8
 <span id="L80" class="LineNr">  80 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L81" class="LineNr">  81 </span>    e8/call  run-tests/disp32
 <span id="L82" class="LineNr">  82 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -540,7 +540,7 @@ if ('onhashchange' in window) {
 <span id="L709" class="LineNr"> 709 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L710" class="LineNr"> 710 </span>    8b/copy                         0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy *ecx to eax</span>
 <span id="L711" class="LineNr"> 711 </span>    3d/compare-eax-and  0/imm32
-<span id="L712" class="LineNr"> 712 </span>    0f 84/jump-if-equal  $compute-offsets:break-line-loop/disp32
+<span id="L712" class="LineNr"> 712 </span>    0f 84/jump-if-=  $compute-offsets:break-line-loop/disp32
 <span id="L713" class="Folded"> 713 </span><span class="Folded">+-- 33 lines: #?     # dump line -----------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L746" class="LineNr"> 746 </span><span class="Constant">$compute-offsets:word-loop</span>:
 <span id="L747" class="LineNr"> 747 </span>    <span class="subxComment"># edx = word-slice</span>
@@ -561,7 +561,7 @@ if ('onhashchange' in window) {
 <span id="L835" class="LineNr"> 835 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L836" class="LineNr"> 836 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L837" class="LineNr"> 837 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L838" class="LineNr"> 838 </span>    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
+<span id="L838" class="LineNr"> 838 </span>    0f 85/jump-if-!=  $compute-offsets:line-loop/disp32
 <span id="L839" class="LineNr"> 839 </span><span class="Constant">$compute-offsets:case-comment</span>:
 <span id="L840" class="LineNr"> 840 </span>    <span class="subxComment"># if slice-starts-with?(word-slice, &quot;#&quot;) continue</span>
 <span id="L841" class="LineNr"> 841 </span>    68/push  <span class="Constant">&quot;#&quot;</span>/imm32
@@ -571,7 +571,7 @@ if ('onhashchange' in window) {
 <span id="L845" class="LineNr"> 845 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L846" class="LineNr"> 846 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L847" class="LineNr"> 847 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L848" class="LineNr"> 848 </span>    0f 85/jump-if-not-equal  $compute-offsets:line-loop/disp32
+<span id="L848" class="LineNr"> 848 </span>    0f 85/jump-if-!=  $compute-offsets:line-loop/disp32
 <span id="L849" class="LineNr"> 849 </span><span class="Constant">$compute-offsets:case-segment-header</span>:
 <span id="L850" class="LineNr"> 850 </span>    <span class="subxComment"># if (!slice-equal?(word-slice/edx, &quot;==&quot;)) goto next case</span>
 <span id="L851" class="LineNr"> 851 </span>    <span class="subxS1Comment"># . eax = slice-equal?(word-slice/edx, &quot;==&quot;)</span>
@@ -582,10 +582,10 @@ if ('onhashchange' in window) {
 <span id="L856" class="LineNr"> 856 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L857" class="LineNr"> 857 </span>    <span class="subxS1Comment"># . if (eax == false) goto next case</span>
 <span id="L858" class="LineNr"> 858 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L859" class="LineNr"> 859 </span>    0f 84/jump-if-equal  $compute-offsets:case-label/disp32
+<span id="L859" class="LineNr"> 859 </span>    0f 84/jump-if-=  $compute-offsets:case-label/disp32
 <span id="L860" class="LineNr"> 860 </span>    <span class="subxComment"># if (curr-segment-name == 0) goto construct-next-segment</span>
 <span id="L861" class="LineNr"> 861 </span>    81          7/subop/compare     3/mod/direct    6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare esi</span>
-<span id="L862" class="LineNr"> 862 </span>    74/jump-if-equal  $compute-offsets:construct-next-segment/disp8
+<span id="L862" class="LineNr"> 862 </span>    74/jump-if-=  $compute-offsets:construct-next-segment/disp8
 <span id="L863" class="LineNr"> 863 </span>    <span class="subxComment"># seg/eax = get-or-insert(segments, curr-segment-name, row-size=16)</span>
 <span id="L864" class="LineNr"> 864 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L865" class="LineNr"> 865 </span>    68/push  0x10/imm32/row-size
@@ -642,7 +642,7 @@ if ('onhashchange' in window) {
 <span id="L960" class="LineNr"> 960 </span>    <span class="subxComment"># if empty?(curr-segment-name) abort</span>
 <span id="L961" class="LineNr"> 961 </span>    <span class="subxS1Comment"># . if (eax == 0) abort</span>
 <span id="L962" class="LineNr"> 962 </span>    3d/compare-eax-and  0/imm32
-<span id="L963" class="LineNr"> 963 </span>    0f 84/jump-if-equal  $compute-offsets:abort/disp32
+<span id="L963" class="LineNr"> 963 </span>    0f 84/jump-if-=  $compute-offsets:abort/disp32
 <span id="L964" class="LineNr"> 964 </span>    <span class="subxComment"># next-word(line, segment-tmp)</span>
 <span id="L965" class="LineNr"> 965 </span>    68/push  <a href='survey.subx.html#L621'>compute-offsets</a>:segment-tmp/imm32
 <span id="L966" class="LineNr"> 966 </span>    51/push-ecx
@@ -657,7 +657,7 @@ if ('onhashchange' in window) {
 <span id="L975" class="LineNr"> 975 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L976" class="LineNr"> 976 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
 <span id="L977" class="LineNr"> 977 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L978" class="LineNr"> 978 </span>    0f 85/jump-if-not-equal  $compute-offsets:abort/disp32
+<span id="L978" class="LineNr"> 978 </span>    0f 85/jump-if-!=  $compute-offsets:abort/disp32
 <span id="L979" class="LineNr"> 979 </span>    <span class="subxComment"># seg/ebx = get-or-insert(segments, curr-segment-name, row-size=16)</span>
 <span id="L980" class="LineNr"> 980 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L981" class="LineNr"> 981 </span>    68/push  0x10/imm32/row-size
@@ -706,7 +706,7 @@ if ('onhashchange' in window) {
 <span id="L1024" class="LineNr">1024 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L1025" class="LineNr">1025 </span>    <span class="subxS1Comment"># . if (eax == false) goto next case</span>
 <span id="L1026" class="LineNr">1026 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L1027" class="LineNr">1027 </span>    74/jump-if-equal  $compute-offsets:case-default/disp8
+<span id="L1027" class="LineNr">1027 </span>    74/jump-if-=  $compute-offsets:case-default/disp8
 <span id="L1028" class="LineNr">1028 </span>    <span class="subxComment"># strip trailing ':' from word-slice</span>
 <span id="L1029" class="LineNr">1029 </span>    ff          1/subop/decrement   1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># decrement *(edx+4)</span>
 <span id="L1030" class="LineNr">1030 </span>    <span class="subxComment"># x/eax = leaky-get-or-insert-slice(labels, word-slice, row-size=16)</span>
@@ -1045,7 +1045,7 @@ if ('onhashchange' in window) {
 <span id="L1428" class="LineNr">1428 </span><span class="Constant">$compute-addresses:segment-loop</span>:
 <span id="L1429" class="LineNr">1429 </span>    <span class="subxComment"># if (srow &gt;= max) break</span>
 <span id="L1430" class="LineNr">1430 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L1431" class="LineNr">1431 </span>    73/jump-if-greater-or-equal-unsigned  $compute-addresses:segment-break/disp8
+<span id="L1431" class="LineNr">1431 </span>    73/jump-if-addr&gt;=  $compute-addresses:segment-break/disp8
 <span id="L1432" class="LineNr">1432 </span>    <span class="subxComment"># srow-&gt;file-offset += starting-offset</span>
 <span id="L1433" class="LineNr">1433 </span>    01/add                          1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          7/r32/edi   8/disp8        <span class="Normal"> . </span>                <span class="subxComment"># add edi to *(eax+8)</span>
 <span id="L1434" class="LineNr">1434 </span>    <span class="subxComment"># clear last 12 bits of srow-&gt;address for p_align=0x1000</span>
@@ -1087,7 +1087,7 @@ if ('onhashchange' in window) {
 <span id="L1495" class="LineNr">1495 </span><span class="Constant">$compute-addresses:label-loop</span>:
 <span id="L1496" class="LineNr">1496 </span>    <span class="subxComment"># if (lrow &gt;= max) break</span>
 <span id="L1497" class="LineNr">1497 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L1498" class="LineNr">1498 </span>    0f 83/jump-if-greater-or-equal-unsigned  $compute-addresses:end/disp32
+<span id="L1498" class="LineNr">1498 </span>    0f 83/jump-if-addr&gt;=  $compute-addresses:end/disp32
 <span id="L1499" class="Folded">1499 </span><span class="Folded">+-- 26 lines: #?     # dump lrow-&gt;key ------------------------------------------------------------------------------------------------------------------------</span>
 <span id="L1525" class="LineNr">1525 </span>    <span class="subxComment"># seg-name/edx = lrow-&gt;segment-name</span>
 <span id="L1526" class="LineNr">1526 </span>    8b/copy                         1/mod/*+disp8   0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx   4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># copy *eax to edx</span>
@@ -1524,7 +1524,7 @@ if ('onhashchange' in window) {
 <span id="L2055" class="LineNr">2055 </span><span class="Constant">$emit-segments:check-for-end-of-input</span>:
 <span id="L2056" class="LineNr">2056 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L2057" class="LineNr">2057 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L2058" class="LineNr">2058 </span>    0f 84/jump-if-equal  $emit-segments:end/disp32
+<span id="L2058" class="LineNr">2058 </span>    0f 84/jump-if-=  $emit-segments:end/disp32
 <span id="L2059" class="LineNr">2059 </span>    <span class="subxComment"># offset-of-next-instruction += num-bytes(line)</span>
 <span id="L2060" class="LineNr">2060 </span>    <span class="subxS1Comment"># . eax = num-bytes(line)</span>
 <span id="L2061" class="LineNr">2061 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1556,7 +1556,7 @@ if ('onhashchange' in window) {
 <span id="L2119" class="LineNr">2119 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2120" class="LineNr">2120 </span>    <span class="subxS1Comment"># . if (eax != 0) break</span>
 <span id="L2121" class="LineNr">2121 </span>    3d/compare-eax-and  0/imm32
-<span id="L2122" class="LineNr">2122 </span>    0f 85/jump-if-not-equal  $emit-segments:next-line/disp32
+<span id="L2122" class="LineNr">2122 </span>    0f 85/jump-if-!=  $emit-segments:next-line/disp32
 <span id="L2123" class="LineNr">2123 </span><span class="Constant">$emit-segments:check-for-comment</span>:
 <span id="L2124" class="LineNr">2124 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L2125" class="LineNr">2125 </span>    <span class="subxS1Comment"># . start/esi = word-slice-&gt;start</span>
@@ -1566,7 +1566,7 @@ if ('onhashchange' in window) {
 <span id="L2129" class="LineNr">2129 </span>    8a/copy-byte                    0/mod/indirect  6/rm32/esi   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/AL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *esi to AL</span>
 <span id="L2130" class="LineNr">2130 </span>    <span class="subxS1Comment"># . if (eax == '#') break</span>
 <span id="L2131" class="LineNr">2131 </span>    3d/compare-eax-and  0x23/imm32/hash
-<span id="L2132" class="LineNr">2132 </span>    0f 84/jump-if-equal  $emit-segments:next-line/disp32
+<span id="L2132" class="LineNr">2132 </span>    0f 84/jump-if-=  $emit-segments:next-line/disp32
 <span id="L2133" class="LineNr">2133 </span><span class="Constant">$emit-segments:check-for-label</span>:
 <span id="L2134" class="LineNr">2134 </span>    <span class="subxComment"># if is-label?(word-slice) break</span>
 <span id="L2135" class="LineNr">2135 </span>    <span class="subxS1Comment"># . eax = is-label?(word-slice)</span>
@@ -1578,7 +1578,7 @@ if ('onhashchange' in window) {
 <span id="L2141" class="LineNr">2141 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2142" class="LineNr">2142 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L2143" class="LineNr">2143 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2144" class="LineNr">2144 </span>    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
+<span id="L2144" class="LineNr">2144 </span>    0f 85/jump-if-!=  $emit-segments:line-loop/disp32
 <span id="L2145" class="LineNr">2145 </span><span class="Constant">$emit-segments:check-for-segment-header</span>:
 <span id="L2146" class="LineNr">2146 </span>    <span class="subxComment"># if (slice-equal?(word-slice, &quot;==&quot;)) break</span>
 <span id="L2147" class="LineNr">2147 </span>    <span class="subxS1Comment"># . eax = slice-equal?(word-slice, &quot;==&quot;)</span>
@@ -1591,7 +1591,7 @@ if ('onhashchange' in window) {
 <span id="L2154" class="LineNr">2154 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2155" class="LineNr">2155 </span>    <span class="subxS1Comment"># . if (eax != false) break</span>
 <span id="L2156" class="LineNr">2156 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2157" class="LineNr">2157 </span>    0f 85/jump-if-not-equal  $emit-segments:line-loop/disp32
+<span id="L2157" class="LineNr">2157 </span>    0f 85/jump-if-!=  $emit-segments:line-loop/disp32
 <span id="L2158" class="LineNr">2158 </span><span class="Constant">$emit-segments:2-character</span>:
 <span id="L2159" class="LineNr">2159 </span>    <span class="subxComment"># if (length(word-slice) != 2) goto next check</span>
 <span id="L2160" class="LineNr">2160 </span>    <span class="subxS1Comment"># . eax = length(word-slice)</span>
@@ -1599,7 +1599,7 @@ if ('onhashchange' in window) {
 <span id="L2162" class="LineNr">2162 </span>    2b/subtract                     0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          0/r32/eax  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># subtract *edx from eax</span>
 <span id="L2163" class="LineNr">2163 </span>    <span class="subxS1Comment"># . if (eax != 2) goto next check</span>
 <span id="L2164" class="LineNr">2164 </span>    3d/compare-eax-and  2/imm32
-<span id="L2165" class="LineNr">2165 </span>    75/jump-if-not-equal  $emit-segments:check-metadata/disp8
+<span id="L2165" class="LineNr">2165 </span>    75/jump-if-!=  $emit-segments:check-metadata/disp8
 <span id="L2166" class="LineNr">2166 </span>    <span class="subxComment"># write-slice-buffered(out, word-slice)</span>
 <span id="L2167" class="LineNr">2167 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L2168" class="LineNr">2168 </span>    52/push-edx
@@ -1657,7 +1657,7 @@ if ('onhashchange' in window) {
 <span id="L2277" class="LineNr">2277 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2278" class="LineNr">2278 </span>    <span class="subxS1Comment"># . if (eax != false) goto code label checks</span>
 <span id="L2279" class="LineNr">2279 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2280" class="LineNr">2280 </span>    0f 85/jump-if-not-equal  $emit-segments:check-code-label-for-imm8/disp32
+<span id="L2280" class="LineNr">2280 </span>    0f 85/jump-if-!=  $emit-segments:check-code-label-for-imm8/disp32
 <span id="L2281" class="LineNr">2281 </span><span class="Constant">$emit-segments:check-global-variable-for-disp8</span>:
 <span id="L2282" class="LineNr">2282 </span>    <span class="subxComment"># if has-metadata?(word-slice, &quot;disp8&quot;) abort</span>
 <span id="L2283" class="LineNr">2283 </span>    <span class="subxS1Comment"># . eax = has-metadata?(word-slice, &quot;disp8&quot;)</span>
@@ -1670,7 +1670,7 @@ if ('onhashchange' in window) {
 <span id="L2290" class="LineNr">2290 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2291" class="LineNr">2291 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
 <span id="L2292" class="LineNr">2292 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2293" class="LineNr">2293 </span>    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
+<span id="L2293" class="LineNr">2293 </span>    0f 85/jump-if-!=  $emit-segments:global-variable-abort/disp32
 <span id="L2294" class="LineNr">2294 </span><span class="Constant">$emit-segments:check-global-variable-for-imm8</span>:
 <span id="L2295" class="LineNr">2295 </span>    <span class="subxComment"># if has-metadata?(word-slice, &quot;imm8&quot;) abort</span>
 <span id="L2296" class="LineNr">2296 </span>    <span class="subxS1Comment"># . eax = has-metadata?(word-slice, &quot;imm8&quot;)</span>
@@ -1683,7 +1683,7 @@ if ('onhashchange' in window) {
 <span id="L2303" class="LineNr">2303 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2304" class="LineNr">2304 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
 <span id="L2305" class="LineNr">2305 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2306" class="LineNr">2306 </span>    0f 85/jump-if-not-equal  $emit-segments:global-variable-abort/disp32
+<span id="L2306" class="LineNr">2306 </span>    0f 85/jump-if-!=  $emit-segments:global-variable-abort/disp32
 <span id="L2307" class="LineNr">2307 </span><span class="Constant">$emit-segments:emit-global-variable</span>:
 <span id="L2308" class="LineNr">2308 </span>    <span class="subxComment"># emit-hex(out, info-&gt;address, 4)</span>
 <span id="L2309" class="LineNr">2309 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1708,7 +1708,7 @@ if ('onhashchange' in window) {
 <span id="L2328" class="LineNr">2328 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2329" class="LineNr">2329 </span>    <span class="subxS1Comment"># . if (eax != false) abort</span>
 <span id="L2330" class="LineNr">2330 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2331" class="LineNr">2331 </span>    0f 85/jump-if-not-equal  $emit-segments:imm8-abort/disp32
+<span id="L2331" class="LineNr">2331 </span>    0f 85/jump-if-!=  $emit-segments:imm8-abort/disp32
 <span id="L2332" class="LineNr">2332 </span><span class="Constant">$emit-segments:check-code-label-for-imm32</span>:
 <span id="L2333" class="LineNr">2333 </span>    <span class="subxComment"># if (!has-metadata?(word-slice, &quot;imm32&quot;)) goto next check</span>
 <span id="L2334" class="LineNr">2334 </span>    <span class="subxS1Comment"># . eax = has-metadata?(edx, &quot;imm32&quot;)</span>
@@ -1721,7 +1721,7 @@ if ('onhashchange' in window) {
 <span id="L2341" class="LineNr">2341 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2342" class="LineNr">2342 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2343" class="LineNr">2343 </span>    3d/compare-eax-and  0/imm32
-<span id="L2344" class="LineNr">2344 </span>    74/jump-if-equal  $emit-segments:check-code-label-for-disp8/disp8
+<span id="L2344" class="LineNr">2344 </span>    74/jump-if-=  $emit-segments:check-code-label-for-disp8/disp8
 <span id="L2345" class="Folded">2345 </span><span class="Folded">+-- 33 lines: #?     # dump info-&gt;address --------------------------------------------------------------------------------------------------------------------</span>
 <span id="L2378" class="LineNr">2378 </span><span class="Constant">$emit-segments:emit-code-label-imm32</span>:
 <span id="L2379" class="LineNr">2379 </span>    <span class="subxComment"># emit-hex(out, info-&gt;address, 4)</span>
@@ -1747,7 +1747,7 @@ if ('onhashchange' in window) {
 <span id="L2399" class="LineNr">2399 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2400" class="LineNr">2400 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L2401" class="LineNr">2401 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2402" class="LineNr">2402 </span>    74/jump-if-equal  $emit-segments:check-code-label-for-disp32/disp8
+<span id="L2402" class="LineNr">2402 </span>    74/jump-if-=  $emit-segments:check-code-label-for-disp32/disp8
 <span id="L2403" class="LineNr">2403 </span><span class="Constant">$emit-segments:emit-code-label-disp8</span>:
 <span id="L2404" class="LineNr">2404 </span>    <span class="subxComment"># emit-hex(out, info-&gt;offset - offset-of-next-instruction, 1)</span>
 <span id="L2405" class="LineNr">2405 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -1774,7 +1774,7 @@ if ('onhashchange' in window) {
 <span id="L2426" class="LineNr">2426 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L2427" class="LineNr">2427 </span>    <span class="subxS1Comment"># . if (eax == false) abort</span>
 <span id="L2428" class="LineNr">2428 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L2429" class="LineNr">2429 </span>    0f 84/jump-if-equal  $emit-segments:abort/disp32
+<span id="L2429" class="LineNr">2429 </span>    0f 84/jump-if-=  $emit-segments:abort/disp32
 <span id="L2430" class="LineNr">2430 </span><span class="Constant">$emit-segments:emit-code-label-disp32</span>:
 <span id="L2431" class="LineNr">2431 </span>    <span class="subxComment"># emit-hex(out, info-&gt;offset - offset-of-next-instruction, 4)</span>
 <span id="L2432" class="LineNr">2432 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -2462,7 +2462,7 @@ if ('onhashchange' in window) {
 <span id="L3218" class="LineNr">3218 </span><span class="Constant">$emit-headers:loop</span>:
 <span id="L3219" class="LineNr">3219 </span>    <span class="subxComment"># if (curr-segment &gt;= max) break</span>
 <span id="L3220" class="LineNr">3220 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with ecx</span>
-<span id="L3221" class="LineNr">3221 </span>    0f 83/jump-if-greater-or-equal-unsigned  $emit-headers:end/disp32
+<span id="L3221" class="LineNr">3221 </span>    0f 83/jump-if-addr&gt;=  $emit-headers:end/disp32
 <span id="L3222" class="Folded">3222 </span><span class="Folded">+-- 63 lines: #?     # dump curr-segment-&gt;name ---------------------------------------------------------------------------------------------------------------</span>
 <span id="L3285" class="Folded">3285 </span><span class="Folded">+--  9 lines: #?     # write(2/stderr, &quot;emit-segment-header\n&quot;) ----------------------------------------------------------------------------------------------</span>
 <span id="L3294" class="LineNr">3294 </span>    <span class="subxComment"># emit-elf-program-header-entry(out, curr-segment)</span>
@@ -2607,7 +2607,7 @@ if ('onhashchange' in window) {
 <span id="L3433" class="LineNr">3433 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L3434" class="LineNr">3434 </span>    <span class="subxS1Comment"># . if (eax == false) goto next check</span>
 <span id="L3435" class="LineNr">3435 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L3436" class="LineNr">3436 </span>    74/jump-if-equal  $emit-elf-program-header-entry:data/disp8
+<span id="L3436" class="LineNr">3436 </span>    74/jump-if-=  $emit-elf-program-header-entry:data/disp8
 <span id="L3437" class="LineNr">3437 </span>    <span class="subxComment"># *$Elf_p_flags = r-x</span>
 <span id="L3438" class="LineNr">3438 </span>    c7          0/subop/copy        0/mod/indirect  5/rm32/.disp32           <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          $<span class="SpecialChar">Elf_p_flags</span>/disp32  5/imm32      <span class="subxComment"># copy to *$Elf_p_flags</span>
 <span id="L3439" class="LineNr">3439 </span>    eb/jump  $emit-elf-program-header-entry:really-emit/disp8
@@ -2665,7 +2665,7 @@ if ('onhashchange' in window) {
 <span id="L3491" class="LineNr">3491 </span>    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  2/index/edx  <span class="Normal"> . </span>          2/r32/edx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy esi+edx+12 to edx</span>
 <span id="L3492" class="LineNr">3492 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L3493" class="LineNr">3493 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with edx</span>
-<span id="L3494" class="LineNr">3494 </span>    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+<span id="L3494" class="LineNr">3494 </span>    73/jump-if-addr&gt;=  $stream-add4:abort/disp8
 <span id="L3495" class="LineNr">3495 </span>    <span class="subxComment"># *curr = key</span>
 <span id="L3496" class="LineNr">3496 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>                        1/r32/ecx   0xc/disp8      <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+12) to ecx</span>
 <span id="L3497" class="LineNr">3497 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
@@ -2673,7 +2673,7 @@ if ('onhashchange' in window) {
 <span id="L3499" class="LineNr">3499 </span>    05/add-to-eax  4/imm32
 <span id="L3500" class="LineNr">3500 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L3501" class="LineNr">3501 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with edx</span>
-<span id="L3502" class="LineNr">3502 </span>    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+<span id="L3502" class="LineNr">3502 </span>    73/jump-if-addr&gt;=  $stream-add4:abort/disp8
 <span id="L3503" class="LineNr">3503 </span>    <span class="subxComment"># *curr = val1</span>
 <span id="L3504" class="LineNr">3504 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>                        1/r32/ecx   0x10/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+16) to ecx</span>
 <span id="L3505" class="LineNr">3505 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
@@ -2681,7 +2681,7 @@ if ('onhashchange' in window) {
 <span id="L3507" class="LineNr">3507 </span>    05/add-to-eax  4/imm32
 <span id="L3508" class="LineNr">3508 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L3509" class="LineNr">3509 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with edx</span>
-<span id="L3510" class="LineNr">3510 </span>    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+<span id="L3510" class="LineNr">3510 </span>    73/jump-if-addr&gt;=  $stream-add4:abort/disp8
 <span id="L3511" class="LineNr">3511 </span>    <span class="subxComment"># *curr = val2</span>
 <span id="L3512" class="LineNr">3512 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>                        1/r32/ecx   0x14/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+20) to ecx</span>
 <span id="L3513" class="LineNr">3513 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
@@ -2689,7 +2689,7 @@ if ('onhashchange' in window) {
 <span id="L3515" class="LineNr">3515 </span>    05/add-to-eax  4/imm32
 <span id="L3516" class="LineNr">3516 </span>    <span class="subxComment"># if (curr &gt;= max) abort</span>
 <span id="L3517" class="LineNr">3517 </span>    39/compare                      3/mod/direct    0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          2/r32/edx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># compare eax with edx</span>
-<span id="L3518" class="LineNr">3518 </span>    73/jump-if-greater-or-equal-unsigned  $stream-add4:abort/disp8
+<span id="L3518" class="LineNr">3518 </span>    73/jump-if-addr&gt;=  $stream-add4:abort/disp8
 <span id="L3519" class="LineNr">3519 </span>    <span class="subxComment"># *curr = val3</span>
 <span id="L3520" class="LineNr">3520 </span>    8b/copy                         1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>                        1/r32/ecx   0x18/disp8     <span class="Normal"> . </span>                <span class="subxComment"># copy *(ebp+24) to ecx</span>
 <span id="L3521" class="LineNr">3521 </span>    89/copy                         0/mod/indirect  0/rm32/eax   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          1/r32/ecx  <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy ecx to *eax</span>
@@ -3236,7 +3236,7 @@ if ('onhashchange' in window) {
 <span id="L4251" class="LineNr">4251 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L4252" class="LineNr">4252 </span>    <span class="subxS1Comment"># . restore result now that ZF is set</span>
 <span id="L4253" class="LineNr">4253 </span>    58/pop-to-eax
-<span id="L4254" class="LineNr">4254 </span>    75/jump-if-not-equal  $num-bytes:end/disp8
+<span id="L4254" class="LineNr">4254 </span>    75/jump-if-!=  $num-bytes:end/disp8
 <span id="L4255" class="LineNr">4255 </span><span class="Constant">$num-bytes:check-for-comment</span>:
 <span id="L4256" class="LineNr">4256 </span>    <span class="subxComment"># if (slice-starts-with?(word-slice, &quot;#&quot;)) break</span>
 <span id="L4257" class="LineNr">4257 </span>    <span class="subxS1Comment"># . start/edx = word-slice-&gt;start</span>
@@ -3246,7 +3246,7 @@ if ('onhashchange' in window) {
 <span id="L4261" class="LineNr">4261 </span>    8a/copy-byte                    0/mod/indirect  2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL   <span class="Normal"> . </span>             <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *edx to BL</span>
 <span id="L4262" class="LineNr">4262 </span>    <span class="subxS1Comment"># . if (ebx == '#') break</span>
 <span id="L4263" class="LineNr">4263 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x23/imm32/hash   <span class="subxComment"># compare ebx</span>
-<span id="L4264" class="LineNr">4264 </span>    74/jump-if-equal  $num-bytes:end/disp8
+<span id="L4264" class="LineNr">4264 </span>    74/jump-if-=  $num-bytes:end/disp8
 <span id="L4265" class="LineNr">4265 </span><span class="Constant">$num-bytes:check-for-label</span>:
 <span id="L4266" class="LineNr">4266 </span>    <span class="subxComment"># if (slice-ends-with?(word-slice, &quot;:&quot;)) break</span>
 <span id="L4267" class="LineNr">4267 </span>    <span class="subxS1Comment"># . end/edx = word-slice-&gt;end</span>
@@ -3256,7 +3256,7 @@ if ('onhashchange' in window) {
 <span id="L4271" class="LineNr">4271 </span>    8a/copy-byte                    1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>          3/r32/BL    -1/disp8       <span class="Normal"> . </span>                <span class="subxComment"># copy byte at *ecx to BL</span>
 <span id="L4272" class="LineNr">4272 </span>    <span class="subxS1Comment"># . if (ebx == ':') break</span>
 <span id="L4273" class="LineNr">4273 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0x3a/imm32/colon  <span class="subxComment"># compare ebx</span>
-<span id="L4274" class="LineNr">4274 </span>    74/jump-if-equal  $num-bytes:end/disp8
+<span id="L4274" class="LineNr">4274 </span>    74/jump-if-=  $num-bytes:end/disp8
 <span id="L4275" class="LineNr">4275 </span><span class="Constant">$num-bytes:check-for-segment-header</span>:
 <span id="L4276" class="LineNr">4276 </span>    <span class="subxComment"># if (slice-equal?(word-slice, &quot;==&quot;)) break</span>
 <span id="L4277" class="LineNr">4277 </span>    <span class="subxS1Comment"># . push result</span>
@@ -3273,7 +3273,7 @@ if ('onhashchange' in window) {
 <span id="L4288" class="LineNr">4288 </span>    3d/compare-eax-and  0/imm32/false
 <span id="L4289" class="LineNr">4289 </span>    <span class="subxS1Comment"># . restore result now that ZF is set</span>
 <span id="L4290" class="LineNr">4290 </span>    58/pop-to-eax
-<span id="L4291" class="LineNr">4291 </span>    75/jump-if-not-equal  $num-bytes:end/disp8
+<span id="L4291" class="LineNr">4291 </span>    75/jump-if-!=  $num-bytes:end/disp8
 <span id="L4292" class="LineNr">4292 </span><span class="Constant">$num-bytes:loop-body</span>:
 <span id="L4293" class="LineNr">4293 </span>    <span class="subxComment"># result += compute-width-of-slice(word-slice)</span>
 <span id="L4294" class="LineNr">4294 </span>    <span class="subxS1Comment"># . copy result to edx</span>
diff --git a/html/apps/tests.subx.html b/html/apps/tests.subx.html
index ce28a332..cc20676e 100644
--- a/html/apps/tests.subx.html
+++ b/html/apps/tests.subx.html
@@ -93,7 +93,7 @@ if ('onhashchange' in window) {
 <span id="L33" class="LineNr"> 33 </span>    <span class="subxH1Comment"># - if argc &gt; 1 and argv[1] == &quot;test&quot;, then return run_tests()</span>
 <span id="L34" class="LineNr"> 34 </span>    <span class="subxComment"># if (argc &lt;= 1) goto run-main</span>
 <span id="L35" class="LineNr"> 35 </span>    81          7/subop/compare     1/mod/*+disp8   5/rm32/ebp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          0/disp8         1/imm32           <span class="subxComment"># compare *ebp</span>
-<span id="L36" class="LineNr"> 36 </span>    7e/jump-if-lesser-or-equal  $subx-tests-main:interactive/disp8
+<span id="L36" class="LineNr"> 36 </span>    7e/jump-if-&lt;=  $subx-tests-main:interactive/disp8
 <span id="L37" class="LineNr"> 37 </span>    <span class="subxComment"># if (!kernel-string-equal?(argv[1], &quot;test&quot;)) goto run-main</span>
 <span id="L38" class="LineNr"> 38 </span>    <span class="subxS1Comment"># . eax = kernel-string-equal?(argv[1], &quot;test&quot;)</span>
 <span id="L39" class="LineNr"> 39 </span>    <span class="subxS2Comment"># . . push args</span>
@@ -105,7 +105,7 @@ if ('onhashchange' in window) {
 <span id="L45" class="LineNr"> 45 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L46" class="LineNr"> 46 </span>    <span class="subxS1Comment"># . if (eax == false) goto run-main</span>
 <span id="L47" class="LineNr"> 47 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L48" class="LineNr"> 48 </span>    74/jump-if-equal  $subx-tests-main:interactive/disp8
+<span id="L48" class="LineNr"> 48 </span>    74/jump-if-=  $subx-tests-main:interactive/disp8
 <span id="L49" class="LineNr"> 49 </span>    <span class="subxComment"># run-tests()</span>
 <span id="L50" class="LineNr"> 50 </span>    e8/call  run-tests/disp32
 <span id="L51" class="LineNr"> 51 </span>    <span class="subxComment"># syscall(exit, *Num-test-failures)</span>
@@ -220,7 +220,7 @@ if ('onhashchange' in window) {
 <span id="L160" class="LineNr">160 </span><span class="Constant">$subx-gen-run-tests:check0</span>:
 <span id="L161" class="LineNr">161 </span>    <span class="subxComment"># if (line-&gt;write == 0) break</span>
 <span id="L162" class="LineNr">162 </span>    81          7/subop/compare     0/mod/indirect  1/rm32/ecx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32           <span class="subxComment"># compare *ecx</span>
-<span id="L163" class="LineNr">163 </span>    0f 84/jump-if-equal  $subx-gen-run-tests:<span class="Constant">break</span>/disp32
+<span id="L163" class="LineNr">163 </span>    0f 84/jump-if-=  $subx-gen-run-tests:<span class="Constant">break</span>/disp32
 <span id="L164" class="LineNr">164 </span>    <span class="subxComment"># next-word(line, word-slice)</span>
 <span id="L165" class="LineNr">165 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L166" class="LineNr">166 </span>    52/push-edx
@@ -240,7 +240,7 @@ if ('onhashchange' in window) {
 <span id="L180" class="LineNr">180 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              4/imm32           <span class="subxComment"># add to esp</span>
 <span id="L181" class="LineNr">181 </span>    <span class="subxS1Comment"># . if (eax == false) continue</span>
 <span id="L182" class="LineNr">182 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L183" class="LineNr">183 </span>    74/jump-if-equal  $subx-gen-run-tests:continue/disp8
+<span id="L183" class="LineNr">183 </span>    74/jump-if-=  $subx-gen-run-tests:continue/disp8
 <span id="L184" class="LineNr">184 </span><span class="Constant">$subx-gen-run-tests:check-label-prefix</span>:
 <span id="L185" class="LineNr">185 </span>    <span class="subxComment"># strip trailing ':' from word-slice</span>
 <span id="L186" class="LineNr">186 </span>    ff          1/subop/decrement   1/mod/*+disp8   2/rm32/edx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>          4/disp8        <span class="Normal"> . </span>                <span class="subxComment"># decrement *(edx+4)</span>
@@ -254,7 +254,7 @@ if ('onhashchange' in window) {
 <span id="L194" class="LineNr">194 </span>    81          0/subop/add         3/mod/direct    4/rm32/esp   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              8/imm32           <span class="subxComment"># add to esp</span>
 <span id="L195" class="LineNr">195 </span>    <span class="subxS1Comment"># . if (eax == false) break</span>
 <span id="L196" class="LineNr">196 </span>    3d/compare-eax-and  0/imm32/false
-<span id="L197" class="LineNr">197 </span>    74/jump-if-equal  $subx-gen-run-tests:continue/disp8
+<span id="L197" class="LineNr">197 </span>    74/jump-if-=  $subx-gen-run-tests:continue/disp8
 <span id="L198" class="LineNr">198 </span><span class="Constant">$subx-gen-run-tests:call-test-function</span>:
 <span id="L199" class="LineNr">199 </span>    <span class="subxComment"># tests-found? = true</span>
 <span id="L200" class="LineNr">200 </span>    bb/copy-to-ebx  1/imm32/true
@@ -303,7 +303,7 @@ if ('onhashchange' in window) {
 <span id="L243" class="LineNr">243 </span><span class="Constant">$subx-gen-run-tests:break</span>:
 <span id="L244" class="LineNr">244 </span>    <span class="subxComment"># if (!tests-found?) goto end</span>
 <span id="L245" class="LineNr">245 </span>    81          7/subop/compare     3/mod/direct    3/rm32/ebx   <span class="Normal"> . </span>         <span class="Normal"> . </span>           <span class="Normal"> . </span>         <span class="Normal"> . </span>         <span class="Normal"> . </span>              0/imm32/false     <span class="subxComment"># compare ebx</span>
-<span id="L246" class="LineNr">246 </span>    74/jump-if-equal  $subx-gen-run-tests:end/disp8
+<span id="L246" class="LineNr">246 </span>    74/jump-if-=  $subx-gen-run-tests:end/disp8
 <span id="L247" class="LineNr">247 </span>    <span class="subxComment"># write(new-code-segment, &quot;  c3/return\n&quot;)</span>
 <span id="L248" class="LineNr">248 </span>    <span class="subxS2Comment"># . . push args</span>
 <span id="L249" class="LineNr">249 </span>    68/push  <span class="Constant">&quot;  c3/return\n&quot;</span>/imm32
diff --git a/mu-init-test.subx b/mu-init-test.subx
index 977147fa..f51999c8 100644
--- a/mu-init-test.subx
+++ b/mu-init-test.subx
@@ -16,11 +16,11 @@ main:  # args : (address array kernel-string) -> result/ebx : int
     {
       # if (argc <= 1) break
       81 7/subop/compare *esi 1/imm32
-      7e/jump-if-lesser-or-equal break/disp8
+      7e/jump-if-<= break/disp8
       # if (argv[1] != "test") break
       (kernel-string-equal? *(esi+8) "test")  # => eax
       3d/compare-eax-and 0/imm32
-      74/jump-if-equal break/disp8
+      74/jump-if-= break/disp8
       #
       (run-tests)
       # return *Num-test-failures
diff --git a/tools/update_html b/tools/update_html
index 7efddfe7..34a52eea 100755
--- a/tools/update_html
+++ b/tools/update_html
@@ -38,13 +38,6 @@ convert_html() {
   mv -i $1.html html/`dirname $1`
 }
 
-ctags -x *.cc  |grep -v '^. '  > /tmp/tags  # don't hyperlink every 'i' to the integer register variant
-for f in *.cc
-do
-  test $# -gt 0  &&  test $1 != $f  &&  continue
-  process $f
-done
-
 ctags -x *.subx  > /tmp/tags
 for f in *.subx
 do
@@ -61,13 +54,4 @@ do
   process $f
 done
 
-for f in apps/*.mu
-do
-  test $# -gt 0  &&  test $1 != $f  &&  continue
-  ( cd apps
-    ctags -x ../*.subx `basename $f` > /tmp/tags
-  )
-  process $f
-done
-
 rm /tmp/tags