diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-08-22 14:35:44 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-08-22 14:35:44 -0700 |
commit | 15b9880136b6b4754a6e6498c81932e553246d9f (patch) | |
tree | 2ad3b055a2383ffbd980193310e0775b1d0c170c /121new-stream.subx | |
parent | db894e7968808512392c46d62b2bee68b891db04 (diff) | |
download | mu-15b9880136b6b4754a6e6498c81932e553246d9f.tar.gz |
6727 - bugfix in a multiply instruction
Also more error-detection for this case all across the toolchain.
Diffstat (limited to '121new-stream.subx')
-rw-r--r-- | 121new-stream.subx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/121new-stream.subx b/121new-stream.subx index e781ecd6..41d1c31b 100644 --- a/121new-stream.subx +++ b/121new-stream.subx @@ -17,7 +17,7 @@ new-stream: # ad: (addr allocation-descriptor), length: int, elemsize: int, out 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 0/r32/eax 0x10/disp8 . # copy *(ebp+16) to eax # . eax *= length 31/xor 3/mod/direct 2/rm32/edx . . . 2/r32/edx . . # clear edx - f7 4/subop/multiply 1/mod/*+disp8 5/rm32/ebp . . 0xc/disp8 . # multiply *(ebp+12) into eax + f7 4/subop/multiply 1/mod/*+disp8 5/rm32/ebp . . 0xc/disp8 . # multiply *(ebp+12) into edx:eax # . if overflow abort 81 7/subop/compare 3/mod/direct 2/rm32/edx . . . . . 0/imm32 # compare edx 75/jump-if-!= $new-stream:abort/disp8 |