This is because the second move instruction reads 4 bytes and the first one reads only 2 bytes starting at address pointed to by the value stored at address $40.My question is: when I read a word value from a filled register, is the higher order byte the one which is read (starting at the first byte at bit 31) or is the lower order byte the one that is read (starting at bit 15)? Alternately, would D2 contain #4 or #8?

I understand that putting data into a register results in filling from the lowest order byte, but does reading from the register do the same? i.e. reading a word from the 32 bit register (which has bits throughout) takes the lower order word in the register?

Aside: Here is another interesting thought about the exception table- I find, when reading my disassembly, that the exception table is re-defined throughout the code.

Exception vectors are described in EASy68K help. Go to Help/Simulator Operation/Exceptions.

Thank you for the tip, Professor. I looked at the page you referred to in the help file, but I don't see any information about the user-defined vectors from $100..$3FF. In fact, there's only information on some of the Motorola-defined vectors from below $C0. I also used the help file's search to look for info on exceptions and interrupts, but I can't find anything about these user-defined vectors. Am I missing something?

In my attempt at disassembly, I find that some of the user defined vectors are referenced to interrupts for processor specific functions. For instance, when a function is setting up interrupts for serial communication it references the 64th vector, the first user defined vector, and the address that that vector points to contains actions for what to do with serial data.

Who is online

Users browsing this forum: Bing [Bot] and 6 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum