Operands and parameters
simm17- 17-bit signed bundle target displacement
Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.
PTO-BLOCK-BSTART-FPBSTART.FP RETBSTART.FP COND, <label>BSTART.FP INDBSTART.FP DIRECT, <label>BSTART.FP FALL| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
simm17 | 17 | signed | 17-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 |
|---|---|---|
| Constant | 31:0 | 32'b00000000000000000111000100000001 |
{
"reg": [
{
"bits": 32,
"name": "32'b00000000000000000111000100000001"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.FP RET
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm17 | 31:15 | variable |
| Constant | 14:0 | 15'b011000100000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b011000100000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.FP COND, <label>
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| Constant | 31:0 | 32'b00000000000000000101000100000001 |
{
"reg": [
{
"bits": 32,
"name": "32'b00000000000000000101000100000001"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.FP IND
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm17 | 31:15 | variable |
| Constant | 14:0 | 15'b010000100000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b010000100000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.FP DIRECT, <label>
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm17 | 31:15 | variable |
| Constant | 14:0 | 15'b001000100000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b001000100000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.FP FALL
simm17Decode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_BSTART_FP(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_fp_32_0c671a644214) || (operation == CommandOperation_bstart_fp_32_58ad7954fb49) || (operation == CommandOperation_bstart_fp_32_7978795a29a1) || (operation == CommandOperation_bstart_fp_32_d00a708a81f0) || (operation == CommandOperation_bstart_fp_32_face4f238d84);end;readonly func InstructionContractHandler_BSTART_FP() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART_FP() => BundleKindbegin return BundleKind_Floating;end;
pure func InstructionContractStartsBundle_BSTART_FP() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["BSTART.FP RET","BSTART.FP COND, <label>","BSTART.FP IND","BSTART.FP DIRECT, <label>","BSTART.FP FALL"],"block":[],"catalog_indices":[17,18,19,20,21],"catalog_records":[{"asm":"BSTART.FP RET","constraints":[],"encoding":[{"index":0,"mask":"0xffffffff","match":"0x00007101","width_bits":32}],"encoding_kind":"L32","fields":[],"form_id":"bstart_fp_32_0c671a644214","length_bits":32,"mnemonic":"BSTART.FP","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"},{"asm":"BSTART.FP COND, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00003101","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"simm17","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":17}],"signedness":"signed","width":17}],"form_id":"bstart_fp_32_58ad7954fb49","length_bits":32,"mnemonic":"BSTART.FP","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"},{"asm":"BSTART.FP IND","constraints":[],"encoding":[{"index":0,"mask":"0xffffffff","match":"0x00005101","width_bits":32}],"encoding_kind":"L32","fields":[],"form_id":"bstart_fp_32_7978795a29a1","length_bits":32,"mnemonic":"BSTART.FP","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"},{"asm":"BSTART.FP DIRECT, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00002101","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"simm17","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":17}],"signedness":"signed","width":17}],"form_id":"bstart_fp_32_d00a708a81f0","length_bits":32,"mnemonic":"BSTART.FP","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"},{"asm":"BSTART.FP FALL","constraints":[{"field":"simm17","operator":"one-of","values":[0]}],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00001101","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"simm17","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":17}],"signedness":"signed","width":17}],"form_id":"bstart_fp_32_face4f238d84","length_bits":32,"mnemonic":"BSTART.FP","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.FP retires any active predecessor block, then opens one FP block whose header commands execute sequentially until BSTOP or the next BSTART selects the BARG continuation.","COND publishes a candidate BPCN but SETC may update TAKEN before commit; IND requires and snapshots a retiring Standard or Floating BARG.BPCN, while RET snapshots architectural ra before predecessor retirement."],"canonical_assembly":["BSTART.FP RET","BSTART.FP COND, <label>","BSTART.FP IND","BSTART.FP DIRECT, <label>","BSTART.FP FALL"],"defaults":["BSTART.FP FALL encodes simm17=0; nonzero values in that family are extension-reserved."],"encoding_class":"standalone-encoded","examples":["BSTART.FP FALL","BSTART.FP DIRECT, target","BSTART.FP COND, target","BSTART.FP IND","BSTART.FP RET"],"exceptions":["A nonzero FALL simm17, deleted bare CALL/ICALL encoding, reserved BrType, odd target, or unsupported form raises before predecessor retirement or new BARG effects.","IND without an active retiring Standard or Floating BARG raises Fault_BundleControl before effects.","If predecessor commit fails, the old block and continuation remain authoritative and no FP block is installed."],"field_contracts":{},"field_zero_meanings":{"simm17":"Encoded zero supplies a zero displacement or zero immediate value."},"legality":["Exactly FALL, DIRECT, COND, IND, and RET are accepted.","The FALL form accepts only simm17=0; every nonzero FALL payload is extension-reserved.","Bare CALL and ICALL forms are deleted."],"memory_effects":["none"],"operands":[{"field":"simm17","role":"17-bit signed bundle target displacement"}],"ordering":["All target, descriptor, and form checks precede predecessor retirement. New BARG state is installed only after successful retirement."],"standalone_opcode":true,"state_effects":["On success BPC records the BSTART address; BARG.BlockType becomes FP; BARG.TYPE records FALL, DIRECT, COND, IND, or RET; BARG.BPCN records the candidate target; and BARG.TAKEN is false only for COND until SETC resolves it.","Header execution continues at the sequential PC. BSTOP or the next BSTART commits the candidate continuation selected by BARG."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-FP","mnemonic":"BSTART.FP","summary":"Closes the current bundle, initializes the next bundle descriptor, and selects its transfer and execution kind.","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-BSTART-FP-CONTROL-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.FP MUST accept only FALL(0), DIRECT, COND, IND, and RET, MUST// initialize one FP BARG after successful predecessor retirement, and MUST// reject nonzero Fixup payloads and deleted bare call forms before effects.// NDF-END: PTO-BSTART-FP-CONTROL-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_FP(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_fp_32_0c671a644214) || (operation == CommandOperation_bstart_fp_32_58ad7954fb49) || (operation == CommandOperation_bstart_fp_32_7978795a29a1) || (operation == CommandOperation_bstart_fp_32_d00a708a81f0) || (operation == CommandOperation_bstart_fp_32_face4f238d84);end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BSTART_FP() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART_FP() => BundleKindbegin return BundleKind_Floating;end;
pure func InstructionContractStartsBundle_BSTART_FP() => booleanbegin return TRUE;end;// DOC-END: operation
BSTART.FP is a 32-bit block-start command for the FP form. It establishes the pending block identity and selectors; the completed block, not the start command alone, owns body execution and result commitment.
Header commands execute sequentially after the start, while BSTOP or the next BSTART is the boundary that validates and retires the completed block. The current owner gives this exact composition checklist:
BSTART.FP retires any active predecessor block, then opens one FP block whose header commands execute sequentially until BSTOP or the next BSTART selects the BARG continuation.
COND publishes a candidate BPCN but SETC may update TAKEN before commit; IND requires and snapshots a retiring Standard or Floating BARG.BPCN, while RET snapshots architectural ra before predecessor retirement.After any active predecessor is retired successfully, the command initializes the new pending BARG or operation descriptor and continues header execution at the sequential PC. No block destination or memory result becomes visible merely because the start decoded.
simm17 supplies the encoded offset or addend; its exact assigned domain remains in the generated contract below.The start transition is all-or-nothing with predecessor retirement for applicability and target checks. After the start succeeds, the later completion boundary validates the full composition before any body result can commit.
Reserved selectors, invalid targets, malformed completed composition, or failed predecessor retirement are rejected before new-block or body effects.
This worked example is illustrative; it illustrates the current owner without replacing it.
BSTART.FP RETAssume predecessor retirement and target checks succeed. BSTART.FP RET opens the pending BSTART.FP form; subsequent header/body commands remain provisional until BSTOP or the next BSTART validates the complete composition.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
BSTART.FP MUST accept only FALL(0), DIRECT, COND, IND, and RET, MUST initialize one FP BARG after successful predecessor retirement, and MUST reject nonzero Fixup payloads and deleted bare call forms before effects.
PTO-BSTART-FP-CONTROL-001asl/block/execution/BSTART.FP.asl1d631451a1f87d3c3af76098884051691a1aa9f7c9719f75fb37f6f6244d3530963d47b7c3a03b0f0449f8dfe4ffc39a9a518fc1882b430ee3b1b142cc0f0ed113 matching entries
PTO-AVS-BLOCK-BSTART-FP-DECODE-001tests/asl/block/execution/BSTART.FP/block-decode-bstart-fp-canonical-001.asl2c02e993a26d3562a6c1502fc2764fb790931a77d193eb084ab38efdea814c7bPTO-AVS-BLOCK-BSTART-FP-DELETED-001tests/asl/block/execution/BSTART.FP/block-fault-bstart-fp-deleted-001.asl316cf4a36355516a996f71827accedcf8d7134e17dc1147355cb7ea214a0bdbePTO-AVS-BLOCK-BSTART-FP-STATE-001tests/asl/block/execution/BSTART.FP/block-state-bstart-fp-barg-commit-001.aslda5ce2503581806466e57f7080021f950b37b4bc2b932b0aad92bac4fe0cc90aPTO-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-0055…
ADR-0055docs/status/decisions/0055-complete-bundle-bior-schema-and-defaults.mdd84224ee1980cb16a6c4efb6ce3c5c2649d5db27002e7e6429850da189a2cdffLoading 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": [
"execution"
],
"documentation": "docs/block/execution/BSTART.FP.md",
"id": "PTO-BLOCK-BSTART-FP",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.FP",
"ndf_clause": "PTO-INST-BLOCK-BSTART-FP"
},
"mnemonic": "BSTART.FP",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0077"
],
"semantic_tests": [
"PTO-AVS-BLOCK-BSTART-FP-DELETED-001",
"PTO-AVS-BLOCK-BSTART-FP-STATE-001"
],
"source": "asl/block/execution/BSTART.FP.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-FP-DECODE-001",
"PTO-AVS-BLOCK-BSTART-FP-DELETED-001",
"PTO-AVS-BLOCK-BSTART-FP-STATE-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd868121d631451a1f87d3c3af76098884051691a1aa9f7c9719f75fb37f6f6244d3530a8faf99a688d410722a625cea36443f30fc18c9c763509eb6ae4c39f2e77f8ddasl/block/execution/BSTART.FP.aslasl/block/execution/BSTART.FP.aslasl/block/execution/BSTART.FP.asl