Operands and parameters
RegDst- Reg5 destination: discard, R1..R23, push U, or push T
SSR_ID- system-register identifier
HL.SSRGET reads the complete encoded system-register address.
PTO-SCALAR-HL-SSRGEThl.ssrget SSR_ID, ->{t, u, Rd}| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
RegDst | 5 | encoding-defined | Reg5 destination: discard, R1..R23, push U, or push T | Encoded zero names the architectural zero GPR. |
SSR_ID | 24 | encoding-defined | system-register identifier | Encoded zero selects value zero of the system-register identifier. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| SSR_ID | 47:36 | variable |
| Constant | 35:28 | 8'b00000000 |
| RegDst | 27:23 | variable |
| Constant | 22:16 | 7'b0111011 |
| SSR_ID | 15:4 | variable |
| Constant | 3:0 | 4'b1110 |
{
"reg": [
{
"bits": 4,
"name": "4'b1110"
},
{
"bits": 12,
"name": "SSR_ID"
},
{
"bits": 7,
"name": "7'b0111011"
},
{
"bits": 5,
"name": "RegDst"
},
{
"bits": 8,
"name": "8'b00000000"
},
{
"bits": 12,
"name": "SSR_ID"
}
],
"config": {
"bits": 48,
"fontsize": 13,
"hspace": 900,
"lanes": 2,
"offset": 0
}
}hl.ssrget SSR_ID, ->{t, u, Rd}
RegDstSSR_IDThis Operation comes directly from the instruction owner; the page does not rewrite its behavior.
readonly func InstructionContractOperation_HL_SSRGET() => ScalarOperationbegin return ScalarOperation_HL_SSRGET;end;readonly func InstructionContractHandler_HL_SSRGET() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteSystemRegisterGet;end;
pure func InstructionContractRequiresSystemBlock_HL_SSRGET() => booleanbegin return TRUE;end;
pure func InstructionContractSystemTransferKind_HL_SSRGET() => bits(2)begin return '00';end;
pure func InstructionContractSystemAddressWidth_HL_SSRGET() => integer {5,12,24}begin return 24;end;
pure func InstructionContractPushesTemporaryT_HL_SSRGET() => booleanbegin return FALSE;end;// PTO-INSTRUCTION: {"assembly":["hl.ssrget SSR_ID, ->{t, u, Rd}"],"block":[],"catalog_indices":[283],"catalog_records":[{"asm":"hl.ssrget SSR_ID, ->{t, u, Rd}","constraints":[],"encoding":[{"index":0,"mask":"0x000ff07f000f","match":"0x0000003b000e","width_bits":48}],"encoding_kind":"HL48","fields":[{"name":"RegDst","pieces":[{"instruction_lsb":23,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"SSR_ID","pieces":[{"instruction_lsb":36,"value_lsb":0,"width":12},{"instruction_lsb":4,"value_lsb":12,"width":12}],"signedness":"encoding-defined","width":24}],"form_id":"hl_ssrget_48_fde37e58a3c4","length_bits":48,"mnemonic":"HL.SSRGET","semantic_family":"SYS","semantic_group":"SYS","semantic_handler":"ExecuteSystemRegisterGet","semantic_summary":"HL.SSRGET reads the complete encoded system-register address.","status":"accepted"}],"classification":["sys"],"contract":{"block_composition":["HL.SSRGET executes as one scalar operation in the body of an active SYS block."],"canonical_assembly":["hl.ssrget SSR_ID, ->{t, u, Rd}"],"defaults":["Every displayed operand is encoded explicitly. Encoded zero is an assigned value and never denotes omission."],"encoding_class":"standalone-encoded","examples":["hl.ssrget SSR_ID, ->{t, u, Rd}"],"exceptions":["Invalid block placement raises Illegal Block Exception before encoded-field legality or effects.","A reserved encoding or rejected access raises Illegal Instruction before destination, queue, system-state, or TPC effects."],"field_contracts":{},"field_zero_meanings":{"RegDst":"Encoded zero names the architectural zero GPR.","SSR_ID":"Encoded zero selects value zero of the system-register identifier."},"legality":["Every fixed bit and explicit field constraint is checked before operation semantics.","The complete encoded address is checked against its RO, WO, RW, unknown-address, and current-ACR access rules before effects."],"memory_effects":["none"],"operands":[{"field":"RegDst","role":"Reg5 destination: discard, R1..R23, push U, or push T"},{"field":"SSR_ID","role":"system-register identifier"}],"ordering":["Check block placement and encoded legality before source reads or architectural effects.","Snapshot every scalar source before the selected system effect, then advance TPC only after success."],"standalone_opcode":true,"state_effects":["Read the complete XLEN system-register value and publish it through the common Reg5 destination mapping.","A rejected read preserves the destination and queue state except for ordinary trap entry."]},"depends_on":["PTO-SCALAR-MODEL-SYS-REGISTERS"],"id":"PTO-SCALAR-HL-SSRGET","mnemonic":"HL.SSRGET","summary":"HL.SSRGET reads the complete encoded system-register address.","surface":"scalar"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-HL-SSRGET-DECISION-BINDING-001// ndf: kind=contract level=L1 layer=scalar status=accepted// HL.SSRGET MUST implement the mnemonic-local canonical assembly, encoded// legality, defaults, state and memory effects, ordering, and fault boundaries// declared in this owner. The operation region below is the executable binding// for every accepted decision that names this mnemonic.// NDF-END: PTO-HL-SSRGET-DECISION-BINDING-001// DOC-BEGIN: decodereadonly func InstructionContractOperation_HL_SSRGET() => ScalarOperationbegin return ScalarOperation_HL_SSRGET;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_HL_SSRGET() => ScalarSemanticHandlerbegin return ScalarHandler_ExecuteSystemRegisterGet;end;
pure func InstructionContractRequiresSystemBlock_HL_SSRGET() => booleanbegin return TRUE;end;
pure func InstructionContractSystemTransferKind_HL_SSRGET() => bits(2)begin return '00';end;
pure func InstructionContractSystemAddressWidth_HL_SSRGET() => integer {5,12,24}begin return 24;end;
pure func InstructionContractPushesTemporaryT_HL_SSRGET() => booleanbegin return FALSE;end;// DOC-END: operation
HL.SSRGET reads an assigned system-register address and publishes the complete XLEN value.
The ASL DOC region selects ScalarHandler_ExecuteSystemRegisterGet. Placement and encoded legality are checked before sources or system state can change.
The instruction occupies one scalar operation position in the body of an active SYS block.
RegDst carries the Reg5 destination: discard, R1..R23, push U, or push T; SSR_ID carries the system-register identifier.
Encoded zero is an assigned field value, never an omitted operand.
After address and access preflight, the complete XLEN system-register value is published through the common Reg5 destination mapping.
A rejected read does not modify the selected destination or temporary-queue order beyond ordinary trap entry.
The complete address is checked for assigned access class and current-ACR permission before destination or queue effects.
Invalid SYS-block placement is rejected before field checks. Reserved encodings or denied access produce no destination, queue, system-state, or TPC effect beyond the ordinary trap envelope.
This spelling example is illustrative; exact legality and effects remain in the generated contract below.
Start with hl.ssrget SSR_ID, ->{t, u, Rd} and trace its encoded fields through preflight before following the selected system effect.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
HL.SSRGET MUST implement the mnemonic-local canonical assembly, encoded legality, defaults, state and memory effects, ordering, and fault boundaries declared in this owner. The operation region below is the executable binding for every accepted decision that names this mnemonic.
PTO-HL-SSRGET-DECISION-BINDING-001asl/scalar/sys/HL.SSRGET.asl132de06a47fc94316eaecf73b8aaad961e4806175a72e9dcc68bb7351703a46d4d6a18814a8f8cde8bea49b4e79814cf21c5423f619f7f24e0432293eed7116319 matching entries
PTO-AVS-SCALAR-HL-SSRGET-DECODE-001tests/asl/scalar/sys/HL.SSRGET/scalar-decode-hl-ssrget-canonical-001.asl7937deaeb1949d4031882009a07ad972a5f79ac95fc656def13d1cbc43eb7d85PTO-AVS-SYS-HL-SSRGET-ACCESS-001tests/asl/scalar/sys/HL.SSRGET/scalar-fault-hl-ssrget-access-001.asl27b408c998e054d25ed2a1cbea464f874e82398214a379b38101f79e1b4d2602PTO-AVS-SYS-HL-SSRGET-DISCARD-001tests/asl/scalar/sys/HL.SSRGET/scalar-exec-hl-ssrget-discard-001.asleea62027721b1cd7b0e80947de5e64e8624f49f9fe4db6786aaef421dfe776a9PTO-AVS-SYS-HL-SSRGET-EXEC-001tests/asl/scalar/sys/HL.SSRGET/scalar-exec-hl-ssrget-direct-001.asl03867cd02bd32c9065a8db0280a180b7decd1f928e3a1e98fa58791337416737PTO-AVS-SYS-HL-SSRGET-PLACE-001tests/asl/scalar/sys/HL.SSRGET/scalar-fault-hl-ssrget-place-001.asled4563e7815633a844d239ab416c5ef72b3361b1b44d78551bbe69c2cca93ec0PTO-AVS-SYS-HL-SSRGET-RING-001tests/asl/scalar/sys/HL.SSRGET/scalar-fault-hl-ssrget-ring-001.asl6c07e55c4ee52d2797fcff99b6bab211640b8f8706348bb4af438248c707c1e9PTO-AVS-SYS-HL-SSRGET-TDST-001tests/asl/scalar/sys/HL.SSRGET/scalar-exec-hl-ssrget-tdst-001.asl57f4cf7e73eb39693a5b65db9b4749d204dc5103804d49c9fb4f1a9814414167PTO-AVS-SYS-HL-SSRGET-UDST-001tests/asl/scalar/sys/HL.SSRGET/scalar-exec-hl-ssrget-udst-001.aslbcbe2521fc3fd9106dff53835d34518f094f950695ea14c2525a83a21737c6a7PTO-AVS-SYS-HL-SSRGET-UNKNOWN-001tests/asl/scalar/sys/HL.SSRGET/scalar-fault-hl-ssrget-unknown-001.aslf0caa54738db86874fb171f9ab3e3998a0ebddfe08c432d485b687fe0f4c00bdPTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0003…
ADR-0003docs/status/decisions/0003-pto-owned-system-register-names.mdc6a5379776c3b29c25f0896bc56f84d8f5c15832bbba0859b822aa99a65e342dLoading ADR-0018…
ADR-0018docs/status/decisions/0018-pto-v0-trap-disposition.mdce33454ffd2a595425ebece5954c9990ea2b9c4890008ad700599f767d7b9716Loading ADR-0031…
ADR-0031docs/status/decisions/0031-scalar-sys-totality-and-profile-boundaries.md5680b3516be6c28a1ccb198c99f5efb66317c65330f6d87434173024d2795a7dLoading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0084…
ADR-0084docs/status/decisions/0084-scalar-system-and-queue-operations.mde068992fa81e2c4ac46e492391a2f784141d68e041bf0b9e0586c37217d1e08c{
"classification": [
"sys"
],
"documentation": "docs/scalar/sys/HL.SSRGET.md",
"id": "PTO-SCALAR-HL-SSRGET",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "HL.SSRGET",
"ndf_clause": "PTO-INST-SCALAR-HL-SSRGET"
},
"mnemonic": "HL.SSRGET",
"readiness_subjects": [
"ADR-0003",
"ADR-0018",
"ADR-0031",
"ADR-0059",
"ADR-0084"
],
"semantic_tests": [
"PTO-AVS-SYS-HL-SSRGET-ACCESS-001",
"PTO-AVS-SYS-HL-SSRGET-DISCARD-001",
"PTO-AVS-SYS-HL-SSRGET-EXEC-001",
"PTO-AVS-SYS-HL-SSRGET-PLACE-001",
"PTO-AVS-SYS-HL-SSRGET-RING-001",
"PTO-AVS-SYS-HL-SSRGET-TDST-001",
"PTO-AVS-SYS-HL-SSRGET-UDST-001",
"PTO-AVS-SYS-HL-SSRGET-UNKNOWN-001"
],
"source": "asl/scalar/sys/HL.SSRGET.asl",
"surface": "scalar",
"tests": [
"PTO-AVS-SCALAR-HL-SSRGET-DECODE-001",
"PTO-AVS-SYS-HL-SSRGET-ACCESS-001",
"PTO-AVS-SYS-HL-SSRGET-DISCARD-001",
"PTO-AVS-SYS-HL-SSRGET-EXEC-001",
"PTO-AVS-SYS-HL-SSRGET-PLACE-001",
"PTO-AVS-SYS-HL-SSRGET-RING-001",
"PTO-AVS-SYS-HL-SSRGET-TDST-001",
"PTO-AVS-SYS-HL-SSRGET-UDST-001",
"PTO-AVS-SYS-HL-SSRGET-UNKNOWN-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812132de06a47fc94316eaecf73b8aaad961e4806175a72e9dcc68bb7351703a46d56de8d7e9e8dcb5bf324bf88a03015af8314ddbb4c26787b86a45e8db1e88711asl/scalar/sys/HL.SSRGET.aslasl/scalar/sys/HL.SSRGET.aslasl/scalar/sys/HL.SSRGET.asl