Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!unsvax!jimi!howlin!maniac From: maniac@howlin.cs.unlv.edu (Eric J. Schwertfeger) Newsgroups: comp.sys.amiga.tech Subject: Re: Assembler Programming - Costs versus Benefits Message-ID: <1990Dec1.184559.22509@unlv.edu> Date: 1 Dec 90 18:45:59 GMT References: <1990Nov25.040121.10773@zorch.SF-Bay.ORG> <1990Nov25.233007.19698@cs.umu.se> <7139@sugar.hackercorp.com> <1990Nov27.004859.16630@cs.umu.se> <7150@sugar.hackercorp.com> <7160@sugar.hackercorp.com> Sender: news@unlv.edu (News User) Reply-To: maniac@jimi.cs.unlv.edu (Eric J. Schwertfeger) Organization: Too many Lines: 42 > Ah, then explain why Atari ST programs don't run on a 68020. Four reasons I've seen 68000 programs not run on higher processors. The ST may have one of these problems 1) Software timing loops run faster. On the Amiga, we have hardware timers to handle that. I don't know if the ST does 2) Since the 68000 only had 24-bit addressing, some 68000 OS's used the Upper 8 bits of the longword to store tag data. The Mac OS does this, but doesn't use the upper 8 bits to address memory, which is why you still can't get much memory into the older Mac II's. Minix does it too (so I've been told). 3) The Exception frame is different for the different models of 680x0. The Amiga OS handles the different frames. I'd assume the Mac does this. Which means that if you throw out the Amiga OS, you need to write your own exeption handlers, and if you're lazy, you won't bother writing code to handle the different frames. Again, I don't know if the ST OS handles the different frames at all. 4) The move.w SR, is the ONE instruction that changed from the 68000 to the higher family members. I've never seen a legitimate use for this instruction outside of the OS, and even if you do need it, there's a functionally identical OS call you can use. Unless of course, you're throwing out the OS. I don't know if the ST OS uses that instruction. Eric J. Schwertfeger, maniac@jimi.cs.unlv.edu