Operands and parameters
simm12- 12-bit signed bundle target displacement
Starts a compressed standard block with a PC-relative direct or conditional candidate target.
PTO-BLOCK-C-BSTARTC.BSTART COND, labelC.BSTART DIRECT, label| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
simm12 | 12 | signed | 12-bit signed bundle target displacement | Encoded zero supplies a zero displacement or zero immediate value. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm12 | 15:4 | variable |
| Constant | 3:0 | 4'b0100 |
{
"reg": [
{
"bits": 4,
"name": "4'b0100"
},
{
"bits": 12,
"name": "simm12"
}
],
"config": {
"bits": 16,
"fontsize": 13,
"hspace": 640,
"lanes": 1,
"offset": 0
}
}C.BSTART COND, label
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm12 | 15:4 | variable |
| Constant | 3:0 | 4'b0010 |
{
"reg": [
{
"bits": 4,
"name": "4'b0010"
},
{
"bits": 12,
"name": "simm12"
}
],
"config": {
"bits": 16,
"fontsize": 13,
"hspace": 640,
"lanes": 1,
"offset": 0
}
}C.BSTART DIRECT, label
simm12Decode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_C_BSTART(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_c_bstart_16_c4e238a9227a) || (operation == CommandOperation_c_bstart_16_f833d2a4753c);end;pure func InstructionContractTarget_C_BSTART( instruction_pc: Word, displacement: bits(12)) => Wordbegin return instruction_pc + LSL(SignExtend{PTO_XLEN}(displacement), 1);end;
readonly func InstructionContractHandler_C_BSTART() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["C.BSTART COND, label","C.BSTART DIRECT, label"],"block":[],"catalog_indices":[54,55],"catalog_records":[{"asm":"C.BSTART COND, label","constraints":[],"encoding":[{"index":0,"mask":"0x000f","match":"0x0004","width_bits":16}],"encoding_kind":"C16","fields":[{"name":"simm12","pieces":[{"instruction_lsb":4,"value_lsb":0,"width":12}],"signedness":"signed","width":12}],"form_id":"c_bstart_16_c4e238a9227a","length_bits":16,"mnemonic":"C.BSTART","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts a compressed standard block with a PC-relative direct or conditional candidate target.","status":"accepted"},{"asm":"C.BSTART DIRECT, label","constraints":[],"encoding":[{"index":0,"mask":"0x000f","match":"0x0002","width_bits":16}],"encoding_kind":"C16","fields":[{"name":"simm12","pieces":[{"instruction_lsb":4,"value_lsb":0,"width":12}],"signedness":"signed","width":12}],"form_id":"c_bstart_16_f833d2a4753c","length_bits":16,"mnemonic":"C.BSTART","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts a compressed standard block with a PC-relative direct or conditional candidate target.","status":"accepted"}],"classification":["encoding"],"contract":{"block_composition":["After any active predecessor block commits successfully, C.BSTART opens one Standard block. Header commands execute sequentially until BSTOP or the next BSTART commits the new BARG continuation."],"canonical_assembly":["C.BSTART COND, label","C.BSTART DIRECT, label"],"defaults":["simm12 is always encoded. Encoded zero computes the candidate target P and is not omission.","The conditional form initializes BARG.TAKEN to false; the direct form initializes it to true."],"encoding_class":"standalone-encoded","examples":["C.BSTART DIRECT, label","C.BSTART COND, label"],"exceptions":["An odd computed candidate target raises Fault_InstructionPC before predecessor retirement or new BARG effects.","If predecessor commit fails, the retiring block remains authoritative and no Standard BARG is installed."],"field_contracts":{},"field_zero_meanings":{"simm12":"Encoded zero supplies a zero displacement or zero immediate value."},"legality":["Exactly the low-nibble forms 0x2 (DIRECT) and 0x4 (COND) are assigned to C.BSTART.","simm12 accepts every signed 12-bit value and computes P + (SignExtend(simm12) << 1)."],"memory_effects":["none"],"operands":[{"field":"simm12","role":"12-bit signed bundle target displacement"}],"ordering":["Decode, target calculation, and target alignment checks precede predecessor retirement. New BARG state is installed only after successful retirement."],"standalone_opcode":true,"state_effects":["Installs BARG.BPC=P, BlockType=STD, BPCN=the computed candidate target, and TYPE=DIRECT or COND.","DIRECT installs TAKEN=1; COND installs TAKEN=0 until an applicable SETC operation resolves it. The candidate continuation is selected only at BSTOP or the next BSTART."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-C-BSTART","mnemonic":"C.BSTART","summary":"Starts a compressed standard block with a PC-relative direct or conditional candidate target.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-C-BSTART-CONTROL-001// ndf: kind=contract level=L1 layer=block status=accepted// C.BSTART MUST open one standard block with either a direct or conditional// transfer. Its signed displacement MUST be shifted left by one and added to// the C.BSTART address before the retiring block is committed.// NDF-END: PTO-C-BSTART-CONTROL-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_C_BSTART(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_c_bstart_16_c4e238a9227a) || (operation == CommandOperation_c_bstart_16_f833d2a4753c);end;// DOC-END: decode// DOC-BEGIN: operationpure func InstructionContractTarget_C_BSTART( instruction_pc: Word, displacement: bits(12)) => Wordbegin return instruction_pc + LSL(SignExtend{PTO_XLEN}(displacement), 1);end;
readonly func InstructionContractHandler_C_BSTART() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
C.BSTART opens an active Block descriptor; the body supplies the attributes and bindings required before completion.
C.BSTART must appear as the starter of its Block. Later attributes, dimensions, and bindings accumulate in the active descriptor until BSTOP or the next accepted BSTART completion boundary.
The accepted carrier uses the C16 encoding class and resolves every displayed field before the command reads bindings or changes state.
At completion, the descriptor runs its selected Block operation only after all schema and state preflight succeeds.
simm12 — 12-bit signed bundle target displacement.BSTOP or the next BSTART completion boundary.Starting the Block records the selected carrier and leaves operation execution deferred until the completion boundary.
After complete preflight and computation, every enabled output publishes as the owner-defined atomic group; successful mathematical sources remain available unless the contract explicitly consumes them.
Fixed bits, reserved values, selector domains, and required Block placement are checked before architectural effects.
The current owner reports invalid schema, state, address, or continuation conditions through Fault_InstructionPC; no prose on this page creates an additional fault rule.
Complete schema, binding, readiness, alias, capacity, and allocation preflight precedes source snapshots and every destination publication.
This example demonstrates placement and carrier flow only; exact behavior remains in the current ASL and instruction contract.
C.BSTART DIRECT, labelThe starter establishes the descriptor first; the following carriers fill its declared schema, and the final completion boundary triggers validation and operation execution.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
C.BSTART MUST open one standard block with either a direct or conditional transfer. Its signed displacement MUST be shifted left by one and added to the C.BSTART address before the retiring block is committed.
PTO-C-BSTART-CONTROL-001asl/block/encoding/C.BSTART.asl4600633e766837dfc7880ed8d7b7e2daddaa3ea5b2e8f9d632501b9a7ca5f47e516d69cbdde6bcf0b68b8880ed9d34a14bdcc5b4636929841db6c3c636cd8af411 matching entries
PTO-AVS-BLOCK-C-BSTART-DECODE-001tests/asl/block/encoding/C.BSTART/block-decode-c-bstart-canonical-001.asl9531795e72fad5fd579572d02b4b2f11fd88b1bef758c5d92ed1f17dc9596c1ePTO-AVS-BLOCK-C-BSTART-TARGET-001tests/asl/block/encoding/C.BSTART/block-exec-c-bstart-target-001.asl59ee59e9346b813a63ae376933cc0c1074cba3d9c37fe25949411bf6ab8c34c5PTO-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-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0052…
ADR-0052docs/status/decisions/0052-direct-tile-and-bundle-catalog-closure.md5fdb38bf480e37affe5075f93b35a57d32803018c986bfe05160f188a19ccaf6Loading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0077…
ADR-0077docs/status/decisions/0077-block-start-and-extension-reservations.md20e19c71c2c967447a115e353f5e3673fc14276dabbcf9a96922f54507536973{
"classification": [
"encoding"
],
"documentation": "docs/block/encoding/C.BSTART.md",
"id": "PTO-BLOCK-C-BSTART",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "C.BSTART",
"ndf_clause": "PTO-INST-BLOCK-C-BSTART"
},
"mnemonic": "C.BSTART",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0059",
"ADR-0077"
],
"semantic_tests": [
"PTO-AVS-BLOCK-C-BSTART-TARGET-001"
],
"source": "asl/block/encoding/C.BSTART.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-C-BSTART-DECODE-001",
"PTO-AVS-BLOCK-C-BSTART-TARGET-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd868124600633e766837dfc7880ed8d7b7e2daddaa3ea5b2e8f9d632501b9a7ca5f47e0834a3f9dbaa701494fc7047db14e1200f69b9d49630b5f6058d8b9ea82bf384asl/block/encoding/C.BSTART.aslasl/block/encoding/C.BSTART.aslasl/block/encoding/C.BSTART.asl