Operands and parameters
SrcL- left absolute GPR source
SrcZero- explicit zero-valued source selector
simm12- 12-bit signed immediate or displacement
JR - Jump to the scalar-register target.
PTO-SCALAR-JRjr SrcL, label| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
SrcL | 5 | encoding-defined | left absolute GPR source | Encoded zero names the architectural zero GPR. |
SrcZero | 5 | encoding-defined | explicit zero-valued source selector | Encoded zero selects value zero of the explicit zero-valued source selector. |
simm12 | 12 | signed | 12-bit signed immediate or displacement | Encoded zero supplies numeric zero for the 12-bit signed immediate or displacement. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm12 | 31:25 | variable |
| SrcZero | 24:20 | variable |
| SrcL | 19:15 | variable |
| Constant | 14:12 | 3'b110 |
| simm12 | 11:7 | variable |
| Constant | 6:0 | 7'b0100111 |
{
"reg": [
{
"bits": 7,
"name": "7'b0100111"
},
{
"bits": 5,
"name": "simm12"
},
{
"bits": 3,
"name": "3'b110"
},
{
"bits": 5,
"name": "SrcL"
},
{
"bits": 5,
"name": "SrcZero"
},
{
"bits": 7,
"name": "simm12"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}jr SrcL, label
SrcLSrcZerosimm12This Operation comes directly from the instruction owner; the page does not rewrite its behavior.
readonly func InstructionContractOperation_JR() => ScalarOperationbegin return ScalarOperation_JR;end;readonly func InstructionContractHandler_JR() => ScalarSemanticHandlerbegin return ScalarHandler_JumpRegister;end;
pure func InstructionContractRequiresEvenTarget_JR() => booleanbegin return TRUE;end;
pure func InstructionContractTarget_JR( register_value: Word, halfword_offset: Word) => Wordbegin return register_value + LSL(halfword_offset, 1);end;// PTO-INSTRUCTION: {"assembly":["jr SrcL, label"],"block":[],"catalog_indices":[307],"catalog_records":[{"asm":"jr SrcL, label","constraints":[],"encoding":[{"index":0,"mask":"0x0000707f","match":"0x00006027","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"SrcL","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"SrcZero","pieces":[{"instruction_lsb":20,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"simm12","pieces":[{"instruction_lsb":25,"value_lsb":0,"width":7},{"instruction_lsb":7,"value_lsb":7,"width":5}],"signedness":"signed","width":12}],"form_id":"jr_32_c4128e843b05","length_bits":32,"mnemonic":"JR","semantic_family":"BRU","semantic_group":"BRU","semantic_handler":"JumpRegister","semantic_summary":"JR - Jump to the scalar-register target.","status":"accepted"}],"classification":["bru"],"contract":{"block_composition":["none"],"canonical_assembly":["jr SrcL, label"],"defaults":["The selected assembly form determines which fields are present; every present field carries its encoded value and no encoded zero means omission."],"encoding_class":"standalone-encoded","examples":["jr SrcL, label"],"exceptions":["Reserved field encodings raise Fault_IllegalInstruction before effects; handler-specific arithmetic, memory, control-flow, system-register, and privilege faults follow the embedded normative ASL operation."],"field_contracts":{},"field_zero_meanings":{"SrcL":"Encoded zero names the architectural zero GPR.","SrcZero":"Encoded zero selects value zero of the explicit zero-valued source selector.","simm12":"Encoded zero supplies numeric zero for the 12-bit signed immediate or displacement."},"legality":["Every value in each unconstrained encoded field is assigned; constrained complements are reserved and reject before effects."],"memory_effects":["none"],"operands":[{"field":"SrcL","role":"left absolute GPR source"},{"field":"SrcZero","role":"explicit zero-valued source selector"},{"field":"simm12","role":"12-bit signed immediate or displacement"}],"ordering":["none"],"standalone_opcode":true,"state_effects":["JR - Jump to the scalar-register target.","After decode and legality checks, execute the normative JumpRegister ASL handler; no other architectural state is modified."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-SCALAR-JR","mnemonic":"JR","summary":"JR - Jump to the scalar-register target.","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-JR-DECISION-BINDING-001// ndf: kind=contract level=L1 layer=scalar status=accepted// JR 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-JR-DECISION-BINDING-001// DOC-BEGIN: decodereadonly func InstructionContractOperation_JR() => ScalarOperationbegin return ScalarOperation_JR;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_JR() => ScalarSemanticHandlerbegin return ScalarHandler_JumpRegister;end;
pure func InstructionContractRequiresEvenTarget_JR() => booleanbegin return TRUE;end;
pure func InstructionContractTarget_JR( register_value: Word, halfword_offset: Word) => Wordbegin return register_value + LSL(halfword_offset, 1);end;// DOC-END: operation
JR transfers control to a register-based target plus a signed halfword displacement.
The scalar source is snapshotted, the signed immediate is shifted left by 1, and the values are added to form the target.
The target must be even. An odd target raises Fault_InstructionPC without installing that target.
SrcL supplies the left scalar source.SrcZero is the explicit zero-valued selector required by this encoding.simm12 supplies a signed encoded immediate.The accepted target replaces the control-flow PC as one architectural transition.
The jump has no scalar destination and does not access memory or reservation state.
Encoding and source availability are checked before target formation; target alignment is checked before the PC update.
This example illustrates the current owner and does not create a second semantic definition.
jr SrcL, label forms and validates the target described above before replacing the PC.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
JR 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-JR-DECISION-BINDING-001asl/scalar/bru/JR.asl37132582757b9bc513c330568c633cd4b990c91b9e03abc99cfc1dc15c39ccd7b88a55bb6acf7ba5fd2b820f7c2ed190209617c3ec784787112e3463f3d7d41212 matching entries
PTO-AVS-BRU-JR-ALIAS-001tests/asl/scalar/bru/JR/scalar-exec-jr-alias-001.asl2fcd2b2ae087bfa6ee342161a2df62adee761f639bb81f00a646b418d96d7d46PTO-AVS-BRU-JR-BOUND-001tests/asl/scalar/bru/JR/scalar-bound-jr-fields-001.asld0bd9249c526b75ebfcb52b94cb1ebc20f5049d0e3ca35c378467552b3c3d612PTO-AVS-BRU-JR-EXEC-001tests/asl/scalar/bru/JR/scalar-exec-jr-direct-001.aslfa9d8a18c4fef12808f16da777dc82161f525ed1517bbc431e494bb16094e3f8PTO-AVS-SCALAR-JR-DECODE-001tests/asl/scalar/bru/JR/scalar-decode-jr-canonical-001.asl65197a74b9f2c8ff215d0b0ceda26b5374fe5e9752a62c8cff01e1fbe64893a7PTO-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-0027…
ADR-0027docs/status/decisions/0027-scalar-bru-totality-and-target-legality.md9289112d250e31f4222dcd27d20bda791be7a1b57764af7ed9b187e767b7acedLoading 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": [
"bru"
],
"documentation": "docs/scalar/bru/JR.md",
"id": "PTO-SCALAR-JR",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "JR",
"ndf_clause": "PTO-INST-SCALAR-JR"
},
"mnemonic": "JR",
"readiness_subjects": [
"ADR-0027",
"ADR-0059",
"ADR-0084"
],
"semantic_tests": [
"PTO-AVS-BRU-JR-ALIAS-001",
"PTO-AVS-BRU-JR-BOUND-001",
"PTO-AVS-BRU-JR-EXEC-001"
],
"source": "asl/scalar/bru/JR.asl",
"surface": "scalar",
"tests": [
"PTO-AVS-BRU-JR-ALIAS-001",
"PTO-AVS-BRU-JR-BOUND-001",
"PTO-AVS-BRU-JR-EXEC-001",
"PTO-AVS-SCALAR-JR-DECODE-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd8681237132582757b9bc513c330568c633cd4b990c91b9e03abc99cfc1dc15c39ccd71108ad3828889cf8e19882d351f6ab1461c60634916c266ea35ba47f1f2ff9b4asl/scalar/bru/JR.aslasl/scalar/bru/JR.aslasl/scalar/bru/JR.asl