The @store operation (as well as @inc_chk and @dec_chk, I think) is
misassembled if the second operand is a variable. The following code
should illustrate the problem: Apply this patch:
About Patches
Issue C62109
Second operand of @store
Submitted by: Daniel Schepler
Appeared in: Compiler 6.21 or before
Fixed in: Compiler 6.30
Problem
[ Main a b;
@store a 23;
@store b a; ! Misassembled to @store b 1
@print_num b;
@new_line;
];
Solution
--- asm.c~ Wed Apr 28 13:14:08 1999
+++ asm.c Wed Oct 10 21:06:04 2001
@@ -1541,7 +1541,7 @@
else
{ put_token_back();
AI.operand[AI.operand_count++] = parse_operand();
- if ((indirect_addressed)
+ if ((indirect_addressed) && (AI.operand_count == 1)
&& (AI.operand[AI.operand_count-1].type == VARIABLE_OT))
{ AI.operand[AI.operand_count-1].type = SHORT_CONSTANT_OT;
AI.operand[AI.operand_count-1].marker = VARIABLE_MV;
Last updated 17 April 2013.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Roger Firth.