diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-16 18:31:12 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-16 18:31:12 -0800 |
commit | 6070c23e5e1c60d3bb169e43bddfa59b1d322427 (patch) | |
tree | 9a70e378c33c15e4779cf94abda8f37c35a5d1da /100array-equal.subx | |
parent | 5a6601aba973ba1d1ef30b7b64438c25623b89c5 (diff) | |
download | mu-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.
Diffstat (limited to '100array-equal.subx')
-rw-r--r-- | 100array-equal.subx | 14 |
1 files changed, 7 insertions, 7 deletions
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 |