Fw: More ???s

Bruce Plecan nacelp at bright.net
Sat May 29 20:24:55 GMT 1999


I get no such file or directory.
Bruce

| HTH's:
| I'll mostly be speaking from the operation of the mc6803,
| apparently whats in the '747.
| A cheat sheet can be found at:
|         ftp://ftp.comlab.ox.ac.uk/pub/Cards/6803
| Bruce Plecan wrote:
| > 9500 would mean to start something new, by jumping to a subroutine?.
| > The value at L01E6  "load to accumulator A"  means to place it at a
location
| > for further use.
| Two accumulators; A & B, 8 bits (byte) each. These are a temporary
| register (like memory), locationed in the u-proc.
| Can also do a LDD, which is a load accum A&B as a 16 bit (2 byte)
| value. The 'loads' can come from a ram location, or, a rom/eprom
| location.
| There is also reg X, an indeX register. 16 bits, can be used for
| indexing into memory, such as tables. Or, as fast temp storage.
| > Now when it says to compare to memory what is that?.....
| > Branch set carry?.
| > Add memory to A.
| adda #0x9C: Add the immediate value of 0x9c, to the value of
| reg A, and place the result back into reg A. Set Carry flag,
| if result was larger than the register (8 bits/1 byte), the
| max of 0xFF (hex) or 255 decimal.
| > Knowing what is stored at  L01E6, ie a timing value would be a clue
about
| > what is being looked at?.
| > | 9500    L9500:  jsr     LD776        Jump to subroutine
| Jump to Sub-Routine, like a common table loop up routine, and
| return to here when it's done. Usally will leave 'return' values
| in registers, as the result of whatever the routine does.
| > | 9503            ldaa    L01E6            Load Accumulator A
| > | 9506            cmpa    #0x28           Compare A to memory
| A compare is a subtraction with the result thrown away. Again, the
| carry flag is used to shown that a 'borrow' took place. Sub the
| immed val of 0x28 from the val in reg A, set the proper flags,
| and be done.
I > | 9508            bcs     L950C            Branch if carry set
| Do the branch if: the value in A, was smaller then 0x29. Carry flag set.
| There's a bunch of flags set after each operation. For a 'cmpa', the
| following
| are set by the result of the compare.
| carry, zero, overflow, negative.
| These flags can then be used to branch to a different path through the
| code.
| > | 950A            adda    #0x9C          Add memory to A
| > | 950C    L950C:  rts                       Return from Subroutine
| Ah, the compliment to 'jsr', returns to one of these.
| > Grumpier
| > | 950D    L950D:  lds     #0x02FF  Load Stack Pointer
| BobR.





More information about the Gmecm mailing list