Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!gnh-applesauce.cts.com!flee From: flee@gnh-applesauce.cts.com (FRANK LEE) Newsgroups: comp.sys.apple2 Subject: Re: Multitasking on a II Message-ID: Date: 27 Dec 90 10:26:15 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 14 X-Unparsable-Date: Wed Dec 26 90 at 22:25:43 (EDT) All 65x02 instructions are uninterruptible. Say it takes 3 cycles to execute a BEQ. If during the first cycle I pull an INT (IRQ,NMI,RESET), the cpu IGNORES the interrrupt until AFTER the BEQ has finished executing. The philosophy behind this design feature was to prevent accidentally "flashing" random memory locations if a mem-modifying instruction was executed. This also leads to some of the poorest interrupt latencies in the known market. An interrupt can be ignored, at worst, up to 7 cycles. Why not just use the SEI instruction to block interrupts before executing your critical code? INET: flee@gnh-applesauce.cts.com UUCP: crash!pnet01!gnh-applesauce!flee ARPA: crash!pnet01!gnh-applesauce!flee@nosc.mil