13778Re: Book Review: Programmer's Guide to the 1802
- May 1 4:54 AMThanks 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 firstname.lastname@example.org, 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
> 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
> 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
> 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
> 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
> 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
> 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
- << Previous post in topic Next post in topic >>