MC68HC11 and the HCSim11 simulator

Hey everyone, new here.

I am currently doing an assignment to write a program in assembly for the MC68HC11 microcontroller using the HCSim11 simulator. The program must make use of the IRQ request line. On Strobe A rising edge, a count from 0 to a set maximum (the maximum is set by switches PC0 - PC4) will begin and display the numbers on the LCD screen.

Now, I know pretty much how to do this. I had the program working and all, but I made some changes according to the assignment guidelines and now I get an error. The program waits for an interrupt, and when I switch strobe A on, i get a warning:

"The PC is placed on an address outside the list window. The disassembler window is made active so you can still trace the program counter."

I have retraced steps, followed examples and I cannot figure out how to fix this, let alone what it means. Any help would be great, seeing as people in my course, including instructors, are not offering any. Googleing has been fruitless.
 

chroot

Staff Emeritus
Science Advisor
Gold Member
10,166
34
It means the program counter (PC) has been changed to a location that's outside the boundaries of your memory. In other words, you jumped to a memory location that doesn't exist.

Chances are, you set up some kind of an interrupt vector, and that vector is incorrect.

- Warren
 
I have set up an IRQ and RESET vectors, $FFF2 and $FFFE respectively,as per the assignment details. Yet, when the interrupt is set, I still get the error. Can I submit my code and someone could maybe tell me what's wrong?
 

chroot

Staff Emeritus
Science Advisor
Gold Member
10,166
34
$FFF2 and $FFFE are memory addresses? If so, what are the contents of those memory addresses? Jumps to other addresses?

- Warren
 
The assignment specifications request that we assign interrupt and RESET vector addresses (among others including LCDDATA and Port controls) thusly:


IRQ EQU $FFF2 IRQ vector
RESET EQU $FFFF RESET vector
 
Last edited:

chroot

Staff Emeritus
Science Advisor
Gold Member
10,166
34
Again...

What is contained in those memory addresses, $FFF2 and $FFFE?

- Warren
 
In my code? I can't really remember, I'm not at home, but just stuff like LDAA commands or CLRA. The memory map says that those addresses are for ROM so it shouldn't matter, should it?
 

chroot

Staff Emeritus
Science Advisor
Gold Member
10,166
34
Well, when your interrupt request is activated, the microcontroller jumps to whatever address is stored in $FFF2-3. You should probably know what's in those memory locations, so you know where the jump is going.

- Warren
 

Related Threads for: MC68HC11 and the HCSim11 simulator

Replies
1
Views
5K
  • Posted
Replies
10
Views
932
  • Posted
Replies
15
Views
3K
Replies
4
Views
1K
Replies
2
Views
5K
Replies
1
Views
799
  • Posted
Replies
3
Views
3K
Replies
8
Views
702

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top