Operands and parameters
RegSrc0- absolute GPR containing destination byte address
RegSrc1- absolute GPR whose low eight bits are replicated
RegSrc2- absolute GPR containing complete unsigned byte length
Fills a bounded byte range from three absolute GPR operands after complete access preflight.
PTO-BLOCK-MSETMSET [Destination, FillByte, LengthBytes]| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
RegSrc0 | 5 | encoding-defined | absolute GPR containing destination byte address | Encoded zero supplies destination address zero. |
RegSrc1 | 5 | encoding-defined | absolute GPR whose low eight bits are replicated | Encoded zero supplies fill byte zero. |
RegSrc2 | 5 | encoding-defined | absolute GPR containing complete unsigned byte length | Encoded zero supplies zero length. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| RegSrc2 | 31:27 | variable |
| Constant | 26:25 | 2'b00 |
| RegSrc1 | 24:20 | variable |
| RegSrc0 | 19:15 | variable |
| Constant | 14:0 | 15'b001000000110001 |
{
"reg": [
{
"bits": 15,
"name": "15'b001000000110001"
},
{
"bits": 5,
"name": "RegSrc0"
},
{
"bits": 5,
"name": "RegSrc1"
},
{
"bits": 2,
"name": "2'b00"
},
{
"bits": 5,
"name": "RegSrc2"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}MSET [RegSrc0=Destination, RegSrc1=FillByte, RegSrc2=LengthBytes]
RegSrc0RegSrc1RegSrc2Decode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_MSET(operation: CommandOperation) => booleanbegin return operation == CommandOperation_mset_32_0b932f291932;end;
pure func InstructionContractAbsoluteGPRSelectorLegal_MSET( selector: Reg5Selector) => booleanbegin return selector <= 23;end;readonly func InstructionContractHandler_MSET() => CommandSemanticHandlerbegin return CommandHandler_ExecuteMemorySet;end;
pure func InstructionContractMemoryStepRestartable_MSET() => booleanbegin return TRUE;end;
pure func InstructionContractWritesMemory_MSET() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["MSET [RegSrc0=Destination, RegSrc1=FillByte, RegSrc2=LengthBytes]"],"block":[],"catalog_indices":[70],"catalog_records":[{"asm":"MSET [RegSrc0=Destination, RegSrc1=FillByte, RegSrc2=LengthBytes]","constraints":[{"field":"RegSrc0","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]},{"field":"RegSrc1","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]},{"field":"RegSrc2","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}],"encoding":[{"index":0,"mask":"0x06007fff","match":"0x00001031","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"RegSrc0","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"RegSrc1","pieces":[{"instruction_lsb":20,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"RegSrc2","pieces":[{"instruction_lsb":27,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5}],"form_id":"mset_32_0b932f291932","length_bits":32,"mnemonic":"MSET","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteMemorySet","semantic_summary":"Fills zero through 63 bytes with the low byte of an absolute GPR after complete access preflight.","status":"accepted"}],"classification":["lifecycle"],"contract":{"block_composition":["MSET is a standalone template instruction and does not consume a BSTART/BSTOP body."],"canonical_assembly":["MSET [Destination, FillByte, LengthBytes]"],"defaults":["All three absolute GPR fields are encoded and required; encoded zero reads the architectural zero GPR.","LengthBytes is the complete unsigned XLEN value. Zero is a successful zero-length command; values 1 through 63 fill that many bytes."],"encoding_class":"standalone-encoded","examples":["MSET [a0, a1, a2]","MSET [zero, zero, zero]"],"exceptions":["Selectors 24 through 31 in any source field raise Fault_IllegalInstruction before register, memory, reservation, last-command, or TPC effects.","LengthBytes greater than 63 raises Fault_IllegalInstruction before memory or last-command effects.","A destination access fault is reported before the first store and leaves the complete range unchanged."],"field_contracts":{},"field_zero_meanings":{"RegSrc0":"Encoded zero supplies destination address zero.","RegSrc1":"Encoded zero supplies fill byte zero.","RegSrc2":"Encoded zero supplies zero length."},"legality":["RegSrc0, RegSrc1, and RegSrc2 each accept only absolute GPR codes 0 through 23; 24 through 31 are reserved.","The complete unsigned LengthBytes value must be at most 63; it is never truncated to a smaller surrogate.","Every byte address is naturally aligned and the full destination range must pass write access preflight before effects."],"memory_effects":["For nonzero length, probe the complete destination byte range before the first store, then write FillByte[7:0] to every byte in increasing address order.","A successful nonzero fill invalidates an overlapping local load-reservation granule; zero length performs no memory or reservation access."],"operands":[{"field":"RegSrc0","role":"absolute GPR containing destination byte address"},{"field":"RegSrc1","role":"absolute GPR whose low eight bits are replicated"},{"field":"RegSrc2","role":"absolute GPR containing complete unsigned byte length"}],"ordering":["Snapshot all three GPR values before access validation and memory effects.","Successful completion records the command state and then advances TPC by four bytes."],"standalone_opcode":true,"state_effects":["After successful zero or nonzero completion, set _LastMemoryCommandAddress to Destination and _LastMemoryCommandSize to LengthBytes.","On every fault, preserve memory, reservation state, last-command state, and TPC."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-MSET","mnemonic":"MSET","summary":"Fills a bounded byte range from three absolute GPR operands after complete access preflight.","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-BLOCK-MSET-FILL-001// ndf: kind=contract level=L1 layer=block status=accepted// MSET MUST read only absolute GPR codes 0..23. It MUST reject a complete// XLEN length above 63 before effects. For an accepted nonzero length it MUST// preflight the complete range and replicate RegSrc1[7:0] to every byte.// NDF-END: PTO-BLOCK-MSET-FILL-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_MSET(operation: CommandOperation) => booleanbegin return operation == CommandOperation_mset_32_0b932f291932;end;
pure func InstructionContractAbsoluteGPRSelectorLegal_MSET( selector: Reg5Selector) => booleanbegin return selector <= 23;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_MSET() => CommandSemanticHandlerbegin return CommandHandler_ExecuteMemorySet;end;
pure func InstructionContractMemoryStepRestartable_MSET() => booleanbegin return TRUE;end;
pure func InstructionContractWritesMemory_MSET() => booleanbegin return TRUE;end;// DOC-END: operation
MSET is a standalone all-or-nothing memory command: it preflights the complete destination range before filling, and any fault requires a full reissue with no retained partial progress.
MSET executes as a standalone 32-bit command and does not require placement inside a BSTART/BSTOP body.
The accepted carrier uses the L32 encoding class and resolves every displayed field before the command reads bindings or changes state.
The command snapshots destination, fill byte, and complete 0..63 length, then preflights the complete destination range before the first store.
RegSrc0 — absolute GPR containing destination byte address; RegSrc1 — absolute GPR whose low eight bits are replicated; RegSrc2 — absolute GPR containing complete unsigned byte length.All three GPR values are snapshotted before range validation or memory effects.
After full-range preflight, bytes fill in increasing address order; success invalidates an overlapping reservation, records command state, and retires once without saved progress.
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_IllegalInstruction; no prose on this page creates an additional fault rule.
A Fault_DataPage during preflight leaves the complete range, reservation, last-command state, and TPC unchanged; recovery performs a full reissue.
This example demonstrates placement and carrier flow only; exact behavior remains in the current ASL and instruction contract.
MSET [a0, a1, a2]The shown accepted spelling resolves its fields from the current carrier, snapshots required sources, and then follows the owner-defined state and ordering transition.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
MSET MUST read only absolute GPR codes 0..23. It MUST reject a complete XLEN length above 63 before effects. For an accepted nonzero length it MUST preflight the complete range and replicate RegSrc1[7:0] to every byte.
PTO-BLOCK-MSET-FILL-001asl/block/lifecycle/MSET.asl8fc1dadfcd532ac0a62238247620e79fa26f370bebafac12d6e9b7b81561b1cf3f20a4b43ff1d9f9a7a81b3efed44d550cff1ea5366997ff8312dc88b5dbda4314 matching entries
PTO-AVS-BLOCK-MSET-DATAPAGE-002tests/asl/block/lifecycle/MSET/block-fault-mset-datapage-002.asld0a6d3abf920d9b4c80a6d699eb3e6580e09ccbd49462c8f1779eeabe11962e9PTO-AVS-BLOCK-MSET-DECODE-001tests/asl/block/lifecycle/MSET/block-decode-mset-canonical-001.asl9684b1189710db556e24181bae94b20cd9606077e112b3c5d01631c13200ec7fPTO-AVS-BLOCK-MSET-FILL-001tests/asl/block/lifecycle/MSET/block-exec-mset-fill-001.asl51b801069c9663c00c60ad488edf0e462b652ebcfa5f4fc4206999053213afe7PTO-AVS-BLOCK-MSET-GPR-001tests/asl/block/lifecycle/MSET/block-fault-mset-gpr-001.aslb2c13752c9eb302ef6746756ba1d98baec6f2dca9823bfb02dbe97cba99f0a42PTO-AVS-BLOCK-MSET-RESERVATION-003tests/asl/block/lifecycle/MSET/block-exec-mset-reservation-003.asl4e960c18be316e55dcf2646c75bd8f9377c4c5445b197be7f2f0ef2a64ba7b2ePTO-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-0084…
ADR-0084docs/status/decisions/0084-scalar-system-and-queue-operations.mde068992fa81e2c4ac46e492391a2f784141d68e041bf0b9e0586c37217d1e08c{
"classification": [
"lifecycle"
],
"documentation": "docs/block/lifecycle/MSET.md",
"id": "PTO-BLOCK-MSET",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "MSET",
"ndf_clause": "PTO-INST-BLOCK-MSET"
},
"mnemonic": "MSET",
"readiness_subjects": [
"ADR-0032",
"ADR-0052",
"ADR-0059",
"ADR-0084"
],
"semantic_tests": [
"PTO-AVS-BLOCK-MSET-DATAPAGE-002",
"PTO-AVS-BLOCK-MSET-FILL-001",
"PTO-AVS-BLOCK-MSET-GPR-001",
"PTO-AVS-BLOCK-MSET-RESERVATION-003"
],
"source": "asl/block/lifecycle/MSET.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-MSET-DATAPAGE-002",
"PTO-AVS-BLOCK-MSET-DECODE-001",
"PTO-AVS-BLOCK-MSET-FILL-001",
"PTO-AVS-BLOCK-MSET-GPR-001",
"PTO-AVS-BLOCK-MSET-RESERVATION-003"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd868128fc1dadfcd532ac0a62238247620e79fa26f370bebafac12d6e9b7b81561b1cf7a1cf1b9e8118f7bda249d41d52dcc8fb4620bb8a0847a61eabf948b4c1a8d75asl/block/lifecycle/MSET.aslasl/block/lifecycle/MSET.aslasl/block/lifecycle/MSET.asl