From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Russ Cox" To: 9fans@cse.psu.edu Subject: Re: [9fans] delay and aamloop MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20020127192032.87D9B19988@mail.cse.psu.edu> Date: Sun, 27 Jan 2002 14:20:30 -0500 Topicbox-Message-UUID: 46de961c-eaca-11e9-9e20-41e7f4b1d025 AAM is "ascii adjust AX after multiply", which may well have been on the 80186. It fools with AX but that's about it. You didn't actually replace AAM, you replaced the entire call to delay(), which does some other stuff first. I bet if you replace AAM with some other hopefully-single-cycle instruction, like XOR AX, AX, you'll still get the memory changing behavior, which will clear AAM's good name. However, it could be that the Medium structure has somehow gotten in the way of the stack, and calling delay is just enough to overwrite the name. In floppyinitdev try adding print("floppy name %s=%lux\n", mp->name, mp->name); and in floppyrevive: print("floppyrevive stack at &dp=%lux\n", &dp); and see if the two numbers are dangerously close. Russ