Operands and parameters
BrType- encoded transfer kind: FALL, IND, or RET
Starts a compressed FP block with fallthrough, indirect, or return transfer; every other BrType rejects before effects.
PTO-BLOCK-C-BSTART-FPC.BSTART.FP FALLC.BSTART.FP INDC.BSTART.FP RET| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
BrType | 3 | encoding-defined | encoded transfer kind: FALL, IND, or RET | Encoded zero is reserved and rejected. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| Constant | 15:14 | 2'b00 |
| BrType | 13:11 | variable |
| Constant | 10:0 | 11'b00010000000 |
{
"reg": [
{
"bits": 11,
"name": "11'b00010000000"
},
{
"bits": 3,
"name": "BrType"
},
{
"bits": 2,
"name": "2'b00"
}
],
"config": {
"bits": 16,
"fontsize": 13,
"hspace": 640,
"lanes": 1,
"offset": 0
}
}C.BSTART.FP {FALL, IND, RET}
BrTypeDecode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_C_BSTART_FP(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_c_bstart_fp_16_9dcef7e3a85b);end;pure func InstructionContractBranchTypeLegal_C_BSTART_FP( branch_type: bits(3)) => booleanbegin return branch_type == '001' || branch_type == '101' || branch_type == '111';end;
pure func InstructionContractTransfer_C_BSTART_FP( branch_type: bits(3)) => BundleTransferbegin assert InstructionContractBranchTypeLegal_C_BSTART_FP(branch_type); if branch_type == '001' then return BundleTransfer_Fallthrough; elsif branch_type == '101' then return BundleTransfer_Indirect; else return BundleTransfer_Return; end;end;
readonly func InstructionContractHandler_C_BSTART_FP() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["C.BSTART.FP {FALL, IND, RET}"],"block":[],"catalog_indices":[56],"catalog_records":[{"asm":"C.BSTART.FP {FALL, IND, RET}","constraints":[{"field":"BrType","operator":"one-of","values":[1,5,7]}],"encoding":[{"index":0,"mask":"0xc7ff","match":"0x0080","width_bits":16}],"encoding_kind":"C16","fields":[{"name":"BrType","pieces":[{"instruction_lsb":11,"value_lsb":0,"width":3}],"signedness":"encoding-defined","width":3}],"form_id":"c_bstart_fp_16_9dcef7e3a85b","length_bits":16,"mnemonic":"C.BSTART.FP","semantic_family":"BBD","semantic_group":"C.BSTART","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts a compressed FP block with fallthrough, indirect, or return transfer; every other BrType rejects before effects.","status":"accepted"}],"classification":["encoding"],"contract":{"block_composition":["After any active predecessor block commits successfully, C.BSTART.FP opens one Floating block. FALL and RET may start without a predecessor; IND requires an active retiring Standard or Floating BARG."],"canonical_assembly":["C.BSTART.FP FALL","C.BSTART.FP IND","C.BSTART.FP RET"],"defaults":["BrType is always encoded; it has no omitted or default form."],"encoding_class":"standalone-encoded","examples":["C.BSTART.FP FALL","C.BSTART.FP IND","C.BSTART.FP RET"],"exceptions":["BrType codes 0, 2, 3, 4, and 6 do not decode as standalone C.BSTART.FP and raise Fault_IllegalInstruction before effects.","IND without an active retiring Standard or Floating BARG raises Fault_BundleControl before effects. An odd snapshotted BARG.BPCN or return address raises Fault_InstructionPC before predecessor retirement.","If predecessor commit fails, the retiring block remains authoritative and no Floating BARG is installed."],"field_contracts":{},"field_zero_meanings":{"BrType":"Encoded zero is reserved and rejected."},"legality":["c_bstart_fp_16_9dcef7e3a85b.BrType accepts exactly 1 (FALL), 5 (IND), or 7 (RET); code 6 is only the embedded low halfword of fused BSTART.ICALL and is illegal as a standalone 16-bit instruction."],"memory_effects":["none"],"operands":[{"field":"BrType","role":"encoded transfer kind: FALL, IND, or RET"}],"ordering":["Decode and transfer legality precede source selection. IND snapshots retiring BARG.BPCN and RET snapshots architectural ra before predecessor retirement.","Target alignment is checked before retirement; the new Floating BARG is installed only after successful retirement."],"standalone_opcode":true,"state_effects":["FALL installs a non-selecting sequential Floating BARG. IND installs the snapshotted retiring BARG.BPCN; RET installs the snapshotted architectural return address.","The installed candidate continuation remains pending until BSTOP or the next BSTART commits the new block."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-C-BSTART-FP","mnemonic":"C.BSTART.FP","summary":"Starts a compressed FP block with fallthrough, indirect, or return transfer; every other BrType rejects before effects.","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-FP-CONTROL-001// ndf: kind=contract level=L1 layer=block status=accepted// C.BSTART.FP MUST accept exactly FALL, IND, and RET. IND MUST snapshot the// retiring standard-or-floating BARG.BPCN before commit. Every BrType that is// not assigned to another standalone mnemonic MUST raise// Fault_IllegalInstruction before effects.// NDF-END: PTO-C-BSTART-FP-CONTROL-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_C_BSTART_FP(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_c_bstart_fp_16_9dcef7e3a85b);end;// DOC-END: decode// DOC-BEGIN: operationpure func InstructionContractBranchTypeLegal_C_BSTART_FP( branch_type: bits(3)) => booleanbegin return branch_type == '001' || branch_type == '101' || branch_type == '111';end;
pure func InstructionContractTransfer_C_BSTART_FP( branch_type: bits(3)) => BundleTransferbegin assert InstructionContractBranchTypeLegal_C_BSTART_FP(branch_type); if branch_type == '001' then return BundleTransfer_Fallthrough; elsif branch_type == '101' then return BundleTransfer_Indirect; else return BundleTransfer_Return; end;end;
readonly func InstructionContractHandler_C_BSTART_FP() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
C.BSTART.FP opens an active Block descriptor; the body supplies the attributes and bindings required before completion.
C.BSTART.FP 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.
BrType — encoded transfer kind: FALL, IND, or RET.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_BundleControl, Fault_IllegalInstruction, 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.FP FALLThe 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.FP MUST accept exactly FALL, IND, and RET. IND MUST snapshot the retiring standard-or-floating BARG.BPCN before commit. Every BrType that is not assigned to another standalone mnemonic MUST raise Fault_IllegalInstruction before effects.
PTO-C-BSTART-FP-CONTROL-001asl/block/encoding/C.BSTART.FP.asla8c99fdf61be0addbcd7ee8d9bc51ce5957632ca91a963b48d97de68956ff7c37ebe31c6e2c123659c7bc496be272b728bd17000caa66ad7781efa3394546cf513 matching entries
PTO-AVS-BLOCK-C-BSTART-FP-BRTYPE-001tests/asl/block/encoding/C.BSTART.FP/block-exec-c-bstart-fp-brtype-001.asld58747f9403d705705330b6a81aab37f0d297814dfaf8f900d7e51cab25883b2PTO-AVS-BLOCK-C-BSTART-FP-DECODE-001tests/asl/block/encoding/C.BSTART.FP/block-decode-c-bstart-fp-canonical-001.asl3eda714c96848343499a855c2996598ea5e474e6395da72d79ac867455311a7bPTO-AVS-BLOCK-C-BSTART-FP-IND-SOURCE-001tests/asl/block/encoding/C.BSTART.FP/block-fault-c-bstart-fp-ind-source-001.asl60d2eb961393971762c96ea803e3ca054b78b0b3f8863a4252d020a334ede994PTO-AVS-BLOCK-C-BSTART-FP-RSVD-001tests/asl/block/encoding/C.BSTART.FP/block-fault-c-bstart-fp-reserved-001.asl9bdbe703f0a64cb2d50542ee71c3e2caf37ea04afeb680c8fff3c22c3b8ef5aaPTO-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.FP.md",
"id": "PTO-BLOCK-C-BSTART-FP",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "C.BSTART.FP",
"ndf_clause": "PTO-INST-BLOCK-C-BSTART-FP"
},
"mnemonic": "C.BSTART.FP",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0059",
"ADR-0077"
],
"semantic_tests": [
"PTO-AVS-BLOCK-C-BSTART-FP-BRTYPE-001",
"PTO-AVS-BLOCK-C-BSTART-FP-IND-SOURCE-001",
"PTO-AVS-BLOCK-C-BSTART-FP-RSVD-001"
],
"source": "asl/block/encoding/C.BSTART.FP.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-C-BSTART-FP-BRTYPE-001",
"PTO-AVS-BLOCK-C-BSTART-FP-DECODE-001",
"PTO-AVS-BLOCK-C-BSTART-FP-IND-SOURCE-001",
"PTO-AVS-BLOCK-C-BSTART-FP-RSVD-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812a8c99fdf61be0addbcd7ee8d9bc51ce5957632ca91a963b48d97de68956ff7c3c6fe069081f616ca9c655691f55c8b416cb3313ee4ad38934c05110ff7ebb3a6asl/block/encoding/C.BSTART.FP.aslasl/block/encoding/C.BSTART.FP.aslasl/block/encoding/C.BSTART.FP.asl