13784RE: [cosmacelf] Re: Book Review: Programmer's Guide to the 1802
- May 2, 2013Looking forward to the book being available. Well it be searchable?
> To: firstname.lastname@example.org
> From: tom@...
> Date: Wed, 1 May 2013 11:54:02 +0000
> Subject: [cosmacelf] Re: Book Review: Programmer's Guide to the 1802
> Thanks for the detailed review of my book. You are correct that my assembler is not a full-blown product, but more of a translator that I wrote for my own use (long before I wrote the book) after growing tired of hand encoding machine code instructions. It works, but my Cosmac VIP being cramped for memory, it has zero frills! PS: I'm going to create a pdf of the book and offer it on my web site soon. -- ts
> --- In email@example.com, William Donnelly <william@...> wrote:
> > I did a quick-read of my "Programmer's Guide to the 1802
> > (with an Assembler for Your Machine)" by Tom Swan.
> > 156+ pages. (Preface, etc.) Published 1981 by Hayden Book Co.
> > First edition. (was it ever re-printed after first-run? probably not)
> > The book is a nice introduction to programming for beginning programmers
> > with a specific, extended focus on and for beginning 1802 programmers.
> > That is pretty much the extent of the book. Though it is fairly complete in
> > what it covers, and is more than adequate for the beginner, and possibly
> > beginning intermediate, 1802 programmer.
> > The author used a "4k Cosmac VIP" for programming. There are a few B&W
> > photos,
> > of the VIP and what I assume is its internal board, and several graphics.
> > The main section/chapter "Fundamentals of Assembly Language" would be better
> > titled "Fundamentals of Machine Language" imo. Although there are those
> > who use
> > the two terms interchangeably. I am of the opinion that Assembly
> > Language specifically
> > uses a fairly complete Assembler to program, using a source code file,
> > and a resulting
> > assembled program and/or object file that needs a linker to create the
> > final program,
> > and Machine Language deals more with "low-level" opcode and mnemonic
> > instructions
> > and such. The chapter is fairly complete, with specific focus on the
> > 1802 instruction set
> > and microprocessor functionality. (DMA, etc.) There are occasional
> > references to the
> > 1861 video display chip here and there.
> > The 1802 instruction set is covered for each instruction. Most of this
> > looks like
> > it was taken from the MPM-201x CDP1802 Users Manual, including timing
> > diagrams,
> > internal architecture, etc. There may be additional commentary beyond
> > that of the
> > manual in some of the instructions covered.
> > The simple "assembler" is actually PART of a Monitor, that only performs
> > "assembly"
> > of the single line user input of a single opcode and disassembly of the
> > resulting code.
> > (for 'user verification') Therefore the admitted minimal operation of
> > "does not support
> > the use of labels, macros, or mathematical expressions". (mostly because
> > it's not really
> > a true/full "Assembler") It is written in 1802 code, so there is
> > something, or much, to be
> > learned by studying that code. There is only an "assembly-like" program
> > listing, no hex dump for entry.
> > The user stores up to 32 bytes of input into the input/output buffer,
> > calls the
> > ASMBLR routine, and it "assembles" the single line mnemonic into an opcode,
> > stores the result in memory via register RA, and then calls its internal
> > "Disassembler" (DISASM)
> > routine to store the disassembled opcode into the I/O buffer. (this
> > increments RA to the
> > next location) If an error occurs, RA is not changed. "All possible
> > errors are not recognized
> > by ASMBLR, although most common ones will be caught." (for example, LDN
> > R0 is accepted
> > (00h) and disassembles into IDL)
> > It is up to the user to provide the Input, Output and Control routines
> > to use the Dis/Assembler.
> > The author mentions the "operating system", so he must / might be
> > referring to
> > something the Cosmac VIP had already with its ROM 'monitor' or whatever
> > it had. (?)
> > There is very little information about the VIP. (effectively none)
> > To perform something more like a real Assembler would act would require
> > the user
> > to load the source text of the code line by line and send it to the
> > ASMBLR routine,
> > possibly using the returned output to create a 'list file'. The DISASM
> > routine may be
> > called separately for something akin to a monitor 'list' command, but in
> > a loop,
> > once for each instruction.
> > There is "A Mini Library" of several routines included as the last chapter.
> > These are usable, and somewhat educational (for study/learning), as well.
> > The intermediate or advanced programmer, especially 1802 programmer,
> > needs a more advanced book. (that, afaik, is not available) I would have
> > to think
> > about what an "advanced book" might have that is not in this book.
> > Maybe this is all that is really needed for the 1802, and if you are
> > past the beginner
> > programmer level, then there is little more to offer. Perhaps some
> > advanced programming
> > 'tricks', a good in-depth explanation of the 1861 programming and usage,
> > some more,
> > more-advanced "library" routines so you don't have to reinvent the
> > wheel, explanation
> > of the use of a good, actual Assembler (included?), an in-depth
> > explanation of CHIP-8
> > and how to write programs with it, possibly something like the CDP1802
> > manuals contain,
> > some of the code and concepts of which are more complex and extended
> > than what is
> > included in this book. (I think)
> > And, since the 1802 is a "hobbyist" microprocessor, more information on
> > interfacing
> > circuits to it, using its I/O, and DMA, etc., or even building a
> > computer with it, although
> > that might be a book unto itself. (Lee Hart already did most of that
> > with the Membership Card
> > manual, and similarly the Elf2K manual)
> > But the market for anything like this/these is so vertical, that it
> > would have to be done for
> > the love of the hobby, possibly "props" / 'community notoriety', etc.
> > Part of the 'problem'
> > is that many/most 1802 microcomputers have very limited user and data
> > interfaces, except
> > for the Elf2K, and possibly a few others. So the 'toy' aspect kind of
> > gets in the way.
> > It's been quite awhile since I've looked at or read a microprocessor or
> > microcontroller
> > programming book, especially one that is for "advanced programmers". I
> > suppose if I
> > looked at one of those it would remind me, inspire me, give me ideas,
> > and point me in
> > the direction of what could be done similarly for the 1802 in that respect.
> > Anyway, as I mentioned elsewhere, I recently paid $50 for my copy of
> > this book.
> > It's an ex-library copy in pretty good shape. Is that even "legal"?
> > Probably only if the
> > library sold it, which they do sometimes do. Hopefully people aren't
> > stealing these from
> > libraries and selling them because they are so high-priced now. All
> > references to whatever
> > library it was have been 'destroyed'. So I guess I'm probably not going
> > to gaol for
> > 'receiving stolen property', or anything like that. The $50 price tag
> > was worth it for
> > the collectability aspects. It will most-likely only be sold when I die.
> > And I could go at
> > any time, so people might want to get on my waiting list. ;o) (or you
> > could take a chance
> > that you're in my will -- you probably shouldn't get your hopes up, though)
> > -- Bill
> Visit the COSMAC ELF website at http://www.cosmacelf.comYahoo! Groups Links
> <*> To visit your group on the web, go to:
> <*> Your email settings:
> Individual Email | Traditional
> <*> To change settings online go to:
> (Yahoo! ID required)
> <*> To change settings via email:
> <*> To unsubscribe from this group, send an email to:
> <*> Your use of Yahoo! Groups is subject to:
- << Previous post in topic Next post in topic >>