操作数与参数
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-STDBSTART.STD COND, <label>BSTART.STD FALLBSTART.STD RETBSTART.STD INDBSTART.STD DIRECT, <label>| 字段 | 位宽 | 有符号性 | 架构角色 | 编码零 |
|---|---|---|---|---|
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 |
|---|---|---|
| simm17 | 31:15 | variable |
| Constant | 14:0 | 15'b011000000000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b011000000000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.STD COND, <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'b001000000000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b001000000000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.STD FALL
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| Constant | 31:0 | 32'b00000000000000000111000000000001 |
{
"reg": [
{
"bits": 32,
"name": "32'b00000000000000000111000000000001"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.STD RET
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| Constant | 31:0 | 32'b00000000000000000101000000000001 |
{
"reg": [
{
"bits": 32,
"name": "32'b00000000000000000101000000000001"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.STD 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'b010000000000001 |
{
"reg": [
{
"bits": 15,
"name": "15'b010000000000001"
},
{
"bits": 17,
"name": "simm17"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.STD DIRECT, <label>
simm17Decode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART_STD(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_std_32_1ef99c4cedcb) || (operation == CommandOperation_bstart_std_32_441ad677fffe) || (operation == CommandOperation_bstart_std_32_816dfa76cc4a) || (operation == CommandOperation_bstart_std_32_986b7ee2cf6a) || (operation == CommandOperation_bstart_std_32_c1de85e06878);end;readonly func InstructionContractHandler_BSTART_STD() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART_STD() => BundleKindbegin return BundleKind_Standard;end;
pure func InstructionContractStartsBundle_BSTART_STD() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["BSTART.STD COND, <label>","BSTART.STD FALL","BSTART.STD RET","BSTART.STD IND","BSTART.STD DIRECT, <label>"],"block":[],"catalog_indices":[27,28,29,30,31],"catalog_records":[{"asm":"BSTART.STD COND, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00003001","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_std_32_1ef99c4cedcb","length_bits":32,"mnemonic":"BSTART.STD","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.STD FALL","constraints":[{"field":"simm17","operator":"one-of","values":[0]}],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00001001","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_std_32_441ad677fffe","length_bits":32,"mnemonic":"BSTART.STD","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.STD RET","constraints":[],"encoding":[{"index":0,"mask":"0xffffffff","match":"0x00007001","width_bits":32}],"encoding_kind":"L32","fields":[],"form_id":"bstart_std_32_816dfa76cc4a","length_bits":32,"mnemonic":"BSTART.STD","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.STD IND","constraints":[],"encoding":[{"index":0,"mask":"0xffffffff","match":"0x00005001","width_bits":32}],"encoding_kind":"L32","fields":[],"form_id":"bstart_std_32_986b7ee2cf6a","length_bits":32,"mnemonic":"BSTART.STD","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.STD DIRECT, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x00007fff","match":"0x00002001","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_std_32_c1de85e06878","length_bits":32,"mnemonic":"BSTART.STD","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.STD retires any active predecessor block, then opens one standard 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.STD COND, <label>","BSTART.STD FALL","BSTART.STD RET","BSTART.STD IND","BSTART.STD DIRECT, <label>"],"defaults":["BSTART.STD FALL encodes simm17=0; nonzero values in that family are extension-reserved."],"encoding_class":"standalone-encoded","examples":["BSTART.STD FALL","BSTART.STD DIRECT, target","BSTART.STD COND, target","BSTART.STD IND","BSTART.STD 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 standard 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 STD; 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-STD","mnemonic":"BSTART.STD","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-STD-CONTROL-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.STD MUST accept only FALL(0), DIRECT, COND, IND, and RET, MUST// initialize one STD BARG after successful predecessor retirement, and MUST// reject nonzero Fixup payloads and deleted bare call forms before effects.// NDF-END: PTO-BSTART-STD-CONTROL-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_STD(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_std_32_1ef99c4cedcb) || (operation == CommandOperation_bstart_std_32_441ad677fffe) || (operation == CommandOperation_bstart_std_32_816dfa76cc4a) || (operation == CommandOperation_bstart_std_32_986b7ee2cf6a) || (operation == CommandOperation_bstart_std_32_c1de85e06878);end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BSTART_STD() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART_STD() => BundleKindbegin return BundleKind_Standard;end;
pure func InstructionContractStartsBundle_BSTART_STD() => booleanbegin return TRUE;end;// DOC-END: operation
BSTART.STD 是 STD 形式的 32 位 Block 起始命令。它建立待处理 Block 的身份和选择参数;真正执行 Block body 并提交结果的是完成后的整个 Block,而不是起始命令本身。
起始命令之后的 header 命令按顺序执行;BSTOP 或下一条 BSTART 是验证并退休完整 Block 的边界。当前所有者给出以下确切组成检查表:
BSTART.STD retires any active predecessor block, then opens one standard 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.任何有效前序 Block 成功退休后,该命令初始化新的待处理 BARG 或操作描述符,并从顺序 PC 继续执行 header。仅仅成功解码起始命令,不会让 Block 目的结果或内存结果变得可见。
simm17 提供编码偏移或加数;其确切分配域仍以下方生成契约为准。对适用性和目标检查而言,起始状态转换与前序 Block 退休是全有或全无的。起始命令成功后,后续完成边界会在任何 body 结果提交前验证完整组成。
保留选择器、无效目标、完成后的组成错误或前序退休失败,都会在新 Block 或 body 影响之前被拒绝。
以下为示例性示例,仅用于说明当前所有者,不替代其定义。
BSTART.STD COND, <label>假设前序 Block 退休和目标检查成功,BSTART.STD COND, <label> 会打开待处理的 BSTART.STD 形式;后续 header/body 命令仍是暂定状态,直到 BSTOP 或下一条 BSTART 验证完整组成。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART.STD MUST accept only FALL(0), DIRECT, COND, IND, and RET, MUST initialize one STD BARG after successful predecessor retirement, and MUST reject nonzero Fixup payloads and deleted bare call forms before effects.
PTO-BSTART-STD-CONTROL-001asl/block/execution/BSTART.STD.asl2b8f84056fbd9918cd87c037f18ac880af22acba0f07853f2828bd6f6e8e7c8b68e9654b3211e9954faadf5e133473ba29b7bb363ec0b69926b9c31f128d580813 matching entries
PTO-AVS-BLOCK-BSTART-STD-DECODE-001tests/asl/block/execution/BSTART.STD/block-decode-bstart-std-canonical-001.asl5558946e8e44fe726cf1c31f57e9cf11715672e36e7f4dab287001c5bb23650ePTO-AVS-BLOCK-BSTART-STD-DELETED-001tests/asl/block/execution/BSTART.STD/block-fault-bstart-std-deleted-001.aslf6a0a13dc4e009f05440b7665be4f278bce96c288bb3c5daa413fbf7f5010ab4PTO-AVS-BLOCK-BSTART-STD-STATE-001tests/asl/block/execution/BSTART.STD/block-state-bstart-std-barg-commit-001.asl8a6f1c2a1b321a8265a4022c56c6e90cab437f95c2c180c1ccdcf2d7b73cafb6PTO-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.STD.md",
"id": "PTO-BLOCK-BSTART-STD",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.STD",
"ndf_clause": "PTO-INST-BLOCK-BSTART-STD"
},
"mnemonic": "BSTART.STD",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0077"
],
"semantic_tests": [
"PTO-AVS-BLOCK-BSTART-STD-DELETED-001",
"PTO-AVS-BLOCK-BSTART-STD-STATE-001"
],
"source": "asl/block/execution/BSTART.STD.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-STD-DECODE-001",
"PTO-AVS-BLOCK-BSTART-STD-DELETED-001",
"PTO-AVS-BLOCK-BSTART-STD-STATE-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd868122b8f84056fbd9918cd87c037f18ac880af22acba0f07853f2828bd6f6e8e7c8b79e70d14f8ec514b58518563d13fffc6cedfd6b0a2c5ba337865e4c52549e519asl/block/execution/BSTART.STD.aslasl/block/execution/BSTART.STD.aslasl/block/execution/BSTART.STD.asl