Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!spool.mu.edu!munnari.oz.au!bunyip.cc.uq.oz.au!brolga!uqcspe!cs.uq.oz.au!warwick From: warwick@cs.uq.oz.au (Warwick Allison) Newsgroups: comp.sys.atari.st Subject: Re: This week's program Message-ID: <2087@uqcspe.cs.uq.oz.au> Date: 24 Jun 91 02:02:35 GMT References: <1991Jun22.003927.19972@menudo.uh.edu> Sender: news@cs.uq.oz.au Reply-To: warwick@cs.uq.oz.au Lines: 44 >This week's program will copy a file that has a bad sector(s) somewhere in the >file. This archive includes docs and the program. Sounds useful. >100% assembly ^ Oh. In that case, I will not use it. Why does an IO program need to use assembly? I think the most required attribute for an IO program would be: Correctness (ie. Stuff-up-my-files-and-I'll-kill-you) While the least required attribute would be: Efficiency Since the program will spend 99% of it's time waiting for the disk anyway. Using the assembly instruction move.IO #"A:file","B:file" which, as you know, copies two files in one clock cycle, then waits for the disk to catch up, would only speed up the process by 1%. Don't get me wrong, I use assembly a lot. But only for speed critical routines that have obvious correctness (eg. Sprite works / Sprite doesn't work). Ciao, Warwick. -- _-_|\ warwick@cs.uq.oz.au / * <-- Computer Science Department, \_.-._/ University of Queensland, v Brisbane, AUSTRALIA.