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 firstname.lastname@example.org.
Archive generated by hypermail 2.1.1.