|
<< Click to Display Table of Contents >> Navigation: ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 8 - PAL and Privileged Boundary > 8.12 PAL Register Matrix |
This reference matrix documents the register read (R) and write (W) patterns for each PAL call and privileged instruction. Registers are R0–R31 (integer). Only registers with explicit read or write dependencies are marked. PAL shadow registers substitute for R8–R14 and R25 during PAL mode execution.
The matrix is organized by PAL function name. Key patterns:
•MFPR_* functions — write R0 (W) with the IPR value read. These are HW_MFPR wrappers for specific IPRs.
•MTPR_* functions — read R16 (R) as the value to write into the IPR. These are HW_MTPR wrappers for specific IPRs.
•CSERVE — writes R0 (W, return value), reads R16 and R17 (R, arguments)
•AMASK / AMOVRM / AMOVRR — write R0 (W), read R16/R17 (R, arguments)
•RD_PS / READ_UNQ — write R0 (W, return value)
•WR_PS / WRITE_UNQ / WRVPTPTR — read R16 (R, value to write)
•Functions with no register marking (BPT, BUGCHK, CALLSYS, HALT, etc.) — operate on implicit state only (PC, PS, IPRs)
The full matrix includes approximately 80 PAL functions spanning: privileged IPR access (MFPR_*/MTPR_* for ASN, ASTEN, ASTSR, CC, DTB_*, ESP, FEN, IER, IPL, ISR, KSP, MCES, PCBB, PRBR, PTBR, SCBB, SISR, SSP, SYSPTBR, TBCHK, USP, VPTB, WHAMI, and more), system operations (HALT, RESTART, DRAINA, SWPCTX, IMB), mode transitions (CHMK, CHMS, CHME, CHMU), and console/debug services (CSERVE, BPT, BUGCHK, GENTRAP).
See Also: PalBoxLib/PalBoxBase.h (175 execute methods); Alpha AXP Architecture Reference Manual – PAL Calls chapter.