Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Alan Meyer Newsgroups: comp.os.linux.misc Subject: Re: ant spray Date: Mon, 06 Jun 2011 16:43:29 -0400 Organization: A noiseless patient Spider Lines: 35 Message-ID: <4DED3BF1.9090501@yahoo.com> References: <34f7b530-8ccb-4771-b4fd-2cc240decccc@bl1g2000vbb.googlegroups.com> <9q-dndAIC41YAXrQnZ2dnUVZ_sSdnZ2d@posted.localnet> <1372.206T40T6273221@kltpzyxm.invalid> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: mx04.eternal-september.org; posting-host="cXfoUdE2tOmL54C/tFXK/Q"; logging-data="13186"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18OlYNKEfwefStxOZqKOPI5" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 In-Reply-To: <1372.206T40T6273221@kltpzyxm.invalid> Cancel-Lock: sha1:5o8te8sPJsr14ueUtlMlVca6kIE= Xref: x330-a1.tempe.blueboxinc.net comp.os.linux.misc:1352 On 6/3/2011 2:27 PM, Charlie Gibbs wrote: >... > I remember the chicken-and-egg problem when I built a development > system for my cassette-based IMSAI, starting from a simple monitor > in ROM. Should I first write an editor to edit source code for > an assembler, or should I first write an assembler to assemble > an editor? I think I wound up toggling in code for a rudimentary > assembler through the front panel switches - patching in place > heavily as I debugged it - and then toggled in code into another > area of memory that would let me type the equivalent source code > for the assembler and write it to tape so I could assemble it with > the assembler that was still sitting in memory. Then I used that > little cat command surrogate to type in source code for an editor. > It was fun to get them both working. > I faced a similar problem in 1977 (IIRC) on my TRS-80 Model II. I bought an assembler on cassette tape, wrote my first program using the built in ROM BASIC editor and wrote it to tape. Then I read in the assembler, it read in the program and assembled it, and then wrote the assembled binary to tape. I then read the binary back in, overwriting the assembler, and ran it. Nothing happened that I could discern. Obviously there was a bug. Now what? I needed a debugger. I wrote the debugger in a combination of BASIC (about 90%) and machine language stored in BASIC string variables, then used that to debug my program. Relocation was not an option so I had to assemble my program to load in the space after the BASIC debugger. It was a great learning experience but not something I'm keen to repeat. Alan