Line 96... |
Line 96... |
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
false, the RSP instruction will reset the stack pointer to
|
false, the RSP instruction will reset the stack pointer to
|
"Stack_Start_Addr" by default. If true, the RSP instruction will
|
"Stack_Start_Addr" by default. If true, the RSP instruction will
|
either allow the stack pointer to be loaded from R1:R0 or copied to R1:R0
|
either allow the stack pointer to be loaded from R1:R0 or copied to R1:R0
|
depending on the status of the PSR_GP4 flag.</td>
|
depending on the status of the PSR_GP4 (PSR_S) flag.</td>
|
</tr>
|
</tr>
|
<tr height=80 style='height:60.0pt'>
|
<tr height=80 style='height:60.0pt'>
|
<td height=80 class=xl108 style='height:60.0pt;border-top:none'>Enable_Auto_Increment</td>
|
<td height=80 class=xl108 style='height:60.0pt;border-top:none'>Enable_Auto_Increment</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl109 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl109 style='border-top:none;border-left:none'>FALSE</td>
|
Line 111... |
Line 111... |
For example, LDX R5 (or LDX R4++) will result in R0 getting the data stored
|
For example, LDX R5 (or LDX R4++) will result in R0 getting the data stored
|
at the address specified by R5:R4. Afterwards, the register pair R5:R4 will
|
at the address specified by R5:R4. Afterwards, the register pair R5:R4 will
|
be incremented by 1. If false, specifying either register in a register pair
|
be incremented by 1. If false, specifying either register in a register pair
|
will result in normal behavior.</td>
|
will result in normal behavior.</td>
|
</tr>
|
</tr>
|
<tr height=40 style='height:30.0pt'>
|
<tr height=60 style='height:45.0pt'>
|
<td height=40 class=xl73 style='height:30.0pt;border-top:none'>BRK_Implements_WAI</td>
|
<td height=60 class=xl73 style='height:45.0pt;border-top:none'>BRK_Implements_WAI</td>
|
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
true, the BRK instruction will cause the processor to halt as if an INT
|
true, the BRK instruction will cause the processor to halt as if an INT
|
instruction was executed, but without triggering an interrupt. This is useful
|
instruction was executed, but without triggering an interrupt. This is useful
|
for pausing the CPU until an interrupt occurs. If false, the BRK instruction
|
for pausing the CPU until an interrupt occurs. If false, the BRK instruction
|
simply causes the CPU to execute 5 NOP cycles.</td>
|
flushes the pipeline and executes an extended (5-clock) NOP cycle.</td>
|
</tr>
|
</tr>
|
<tr height=20 style='height:15.0pt'>
|
<tr height=20 style='height:15.0pt'>
|
<td height=20 class=xl108 style='height:15.0pt;border-top:none'>Enable_NMI</td>
|
<td height=20 class=xl108 style='height:15.0pt;border-top:none'>Enable_NMI</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl109 style='border-top:none;border-left:none'>TRUE</td>
|
<td class=xl109 style='border-top:none;border-left:none'>TRUE</td>
|
Line 135... |
Line 135... |
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Prohibits
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Prohibits
|
interrupts from initiating an ISR if the I-bit is set, making ISRs
|
interrupts from initiating an ISR if the I-bit is set, making ISRs
|
sequential. This potentially blocks interrupt priority by allowing a lower
|
sequential. This potentially blocks interrupt priority by allowing a lower
|
level interrupt to block a higher level interrupt. This can be fixed by
|
level interrupt to block a higher level interrupt. This can be worked around
|
clearing the I-bit in interruptable ISRs.</td>
|
by clearing the I-bit in known interruptable ISRs.</td>
|
</tr>
|
</tr>
|
<tr height=40 style='height:30.0pt'>
|
<tr height=40 style='height:30.0pt'>
|
<td height=40 class=xl108 style='height:30.0pt;border-top:none'>RTI_Ignores_GP_Flags</td>
|
<td height=40 class=xl108 style='height:30.0pt;border-top:none'>RTI_Ignores_GP_Flags</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl109 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl109 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl110 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
<td class=xl110 width=893 style='border-top:none;border-left:none;width:670pt'>If
|
set, preserves the general purpose flags GP_PSR4 to GP_PSR7 on ISR exit,
|
set, preserves the general purpose flags GP_PSR4 (PSR_S) to GP_PSR7 on ISR
|
allowing them to be persistently set by interrupts. The lower four flag bits
|
exit, allowing them to be persistently set by interrupts. The lower four flag
|
are always restored.</td>
|
bits are always restored.</td>
|
</tr>
|
</tr>
|
<tr height=40 style='height:30.0pt'>
|
<tr height=40 style='height:30.0pt'>
|
<td height=40 class=xl73 style='height:30.0pt;border-top:none'>Supervisor_Mode</td>
|
<td height=40 class=xl73 style='height:30.0pt;border-top:none'>Supervisor_Mode</td>
|
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
<td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
|
Line 180... |
Line 180... |
<tr height=20 style='height:15.0pt'>
|
<tr height=20 style='height:15.0pt'>
|
<td height=20 class=xl73 style='height:15.0pt;border-top:none'>Default_Interrupt_Mask</td>
|
<td height=20 class=xl73 style='height:15.0pt;border-top:none'>Default_Interrupt_Mask</td>
|
<td class=xl73 style='border-top:none;border-left:none'>8-bit Data</td>
|
<td class=xl73 style='border-top:none;border-left:none'>8-bit Data</td>
|
<td class=xl74 style='border-top:none;border-left:none'>x"FF"</td>
|
<td class=xl74 style='border-top:none;border-left:none'>x"FF"</td>
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Sets
|
<td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Sets
|
the initial interrupt mask (note that bit 0 is ignored, as this is the NMI)</td>
|
the initial interrupt mask (note that bit 0 is ignored if Enable_NMI is set
|
|
TRUE)</td>
|
</tr>
|
</tr>
|
<tr height=20 style='height:15.0pt'>
|
<tr height=20 style='height:15.0pt'>
|
<td height=20 class=xl108 style='height:15.0pt;border-top:none'>Clock_Frequency</td>
|
<td height=20 class=xl108 style='height:15.0pt;border-top:none'>Clock_Frequency</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Real</td>
|
<td class=xl108 style='border-top:none;border-left:none'>Real</td>
|
<td class=xl109 style='border-top:none;border-left:none'>-</td>
|
<td class=xl109 style='border-top:none;border-left:none'>-</td>
|