Fix bug in web +!.
This commit is contained in:
@ -41,7 +41,7 @@
|
||||
X("2/", TWOSLASH, tos = tos >> 1) \
|
||||
X("4*", FOURSTAR, tos = tos << 2) \
|
||||
X("4/", FOURSLASH, tos = tos >> 2) \
|
||||
X("+!", PLUSSTORE, *(cell_t *) tos += *sp--; DROP) \
|
||||
X("+!", PLUSSTORE, *((cell_t *) tos) += *sp--; DROP) \
|
||||
X("cell+", CELLPLUS, tos += sizeof(cell_t)) \
|
||||
Y(cells, tos *= sizeof(cell_t)) \
|
||||
X("cell/", CELLSLASH, DUP; tos = sizeof(cell_t); DUP; *sp = 1; SSMOD_FUNC; NIP) \
|
||||
|
||||
@ -43,6 +43,8 @@ cases = ReplaceAll(cases, 'tos *= sizeof(cell_t)', 'tos = (tos * 4)|0');
|
||||
cases = ReplaceAll(cases, 'tos += *sp--', 'tos = (tos + *sp)|0; --sp');
|
||||
cases = ReplaceAll(cases, 'tos = (*sp--) - tos', 'tos = (*sp - tos)|0; --sp');
|
||||
cases = ReplaceAll(cases, 'tos *= *sp--', 'tos = imul(tos, *sp); --sp');
|
||||
cases = ReplaceAll(cases, '*((cell_t *) tos) += *sp--',
|
||||
'i32[tos>>2] = ((i32[tos>>2]|0) + (i32[sp>>2]|0))|0; --sp');
|
||||
cases = ReplaceAll(cases, ' -tos', ' (-tos)|0');
|
||||
cases = ReplaceAll(cases, '++tos', 'tos = (tos + 1)|0');
|
||||
cases = ReplaceAll(cases, '--tos', 'tos = (tos - 1)|0');
|
||||
|
||||
Reference in New Issue
Block a user