Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!cornell!batcomputer!braner From: braner@batcomputer.tn.cornell.edu (braner) Newsgroups: comp.sys.atari.st Subject: Re: A simple disk cache Message-ID: <1931@batcomputer.tn.cornell.edu> Date: Sat, 3-Jan-87 20:31:47 EST Article-I.D.: batcompu.1931 Posted: Sat Jan 3 20:31:47 1987 Date-Received: Sun, 4-Jan-87 05:35:28 EST References: <1928@batcomputer.tn.cornell.edu> Reply-To: braner@batcomputer.UUCP (braner) Organization: Theory Center, Cornell University, Ithaca NY Lines: 41 Summary: A much shorter (AL) version [] Even though the Megamax C compiler is famous for producing small (compiled) programs, it doesn't even come close to what's possible with the total control of an assembler. As an experiment, I took the original code of SCACHE (which was mostly in assembly-language anyway), added installation code also in AL, and assembled with A-Seka. This version is 23% as long as the former: the cache code is the same but all the C garbage is gone... Could somebody explain WHAT is all that extra stuff the compiler added, and how to get rid of it? Also: I used an old version of A-Seka. It has MANY bugs, e.g. it doesn't handle tabs (in the source code) right, and it produces an unusable .prg if the code is COMPLETELY relocatable (i.e. ALL the addresses are relative) - you have to have at least one absolute reference so that A-Seka will produce a valid relocation table. Does anybody know if the latest version of A-Seka has improved substantially? It is a compact (about 20K) assembler/linker/tracer/debugger (with 2 text editors built-in), and is VERY fast. It could be wonderful if finished up. - Moshe Braner ~~~~~~~~~~~~~~~~~~~~~~~ cut here ~~~~~~~~~~~~~~~~~~~~~~ begin 644 SCACHE.PRG M8!H```'4`````````````````````````````$AY```!EC\\`"9.3ER/2'D` M``&X/SP`"4Y!7(]"@%*`#(```PU`;0#_]D)G+SP``#,`/SP`,4Y!(`@(```` M9AH@"0@```!F$C`\`!\BV"+8(M@BV%'(__9.=3`\`?\2V%'(__Q.=4-!0T@` M````/B\`#@Q'``)M""!Y````:D[0)GD```1^/P=.DU2/1_D```%^/"\`#&<$ M2H!G$"!+2D=G!-#\``Q"F$*80I@$1@`&:\8Z+P`*VD8,10`+;KI*1V<(!D4` M#`9&``Q*;P`$9B9!^0```98P!N%`XT#0P")O``9*,V@`9PYA`/].4D:\16WP M0H!.=3X%GD8P+P`*/T<`"I!'T6\`##`&0C,(`%)`L$5F]D'Y```!>B"?2'D` M``$F8`#_5"\Y```!>DJ`9D@\+P`,!$8`!CHO``K:1CXO``YG"`9%``P&1@`, M1_D```%^(&\`!D/Y```!EC`&X4#C0-+`2?-H``C4``!A`/[*4D:\16WN0H!. M=0`````````````````````````````````````B?```!'8@42`H__@,@$-! M0TAG#$'Y````;B%1__PBB$YU#0H*"41I