Question about 65816

rbaltissen_at_wxs.nl
Date: 1998-07-08 20:07:44

Hallo allemaal,

This one is for the 65816-experts amongst us: questions about programming 
the 65816:

1-    The datasheets say the BRK and COP instruction are 2 bytes long when
      in native mode. Correct?

2-    (Only if answer for 1 = yes) When I look further the only thing
      related to this second byte is a byte, called Signature, which is
      read. The only thing I can imagine of this is that this byte can be
      used for programmers to find out which BRK or COP has caused the SW-
      interrupt. correct?

3-    (Only if answer for 1 = yes) Used in the emulation mode, the BRK
      instruction only must be 1 byte long. But still PC seems to be
      increased with 2 after the instruction:

Datasheet:
  Cycle No
 E=0        E=1         address     data        description
  1          1           PC-2        X          Opcode
  2          2           PC-1        X          Signature
  3                        S        PB          write PB to Stack, dec SP
  4          3             S        PCH         write PCH to Stack, dec SP
  5          4             S        PCL         write PCL to Stack, dec SP
  6          5             S         P          write P to Stack
  7          6            VL        (VL)        read vector low, PB := $00
  8          7            VH        (VH)        read vector high


      I expected to find in the datasheets something like this:

  Cycle No    E=0         E=1
 E=0   E=1  address     address     data        description
  1      1    PC-2        PC-1       X          Opcode
  2           PC-1                   X          Signature
  3            S                    PB          write PB to Stack, dec SP
  4      2     S           S        PCH         write PCH to Stack, dec SP
  5      3     S           S        PCL         write PCL to Stack, dec SP
  6      4     S           S         P          write P to Stack
  7      5    VL          VL        (VL)        read vector low, PB := $00
  8      6    VH          VH        (VH)        read vector high

E  = Emulationbit


      Missing in the above diagrams: 

      Cycle:      VDA   VPA         Meaning:
        1          1     1          Fetch opcode
        2          0     1          Valid program Address, may be used for
                                    program Cache control
       3..8        1     0          Valid data address


      I don't know what is meant with "valid program address...." but I
      have the feeling that a possible misunderstanding of the above
      diagrams has to do with this line. Then still the 2 bytes and/or PC-2
      are not explained.

      Who has an answer, please?


4-    JML = JuMp Long ($..) but the datasheet says it is "absolute
      indirect". This means it has to be used like this:

            JML  ($1234)

      causing the 65816 to fetch the three bytes from the address
      $1234..$1236. Correct?

Thanks.

Groetjes, Ruud




-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.