{
"block_composition": [
"Header command after BSTART and before the first body instruction. A block may contain zero to four effective B.IOS instructions, ordered according to the selected operation schema."
],
"canonical_assembly": [
"B.IOS S<SharedTileID>, mask=<PE_MASK> | B.IOS mask=<PE_MASK>, ->S<SharedTileID><SizeCode>"
],
"defaults": [
"S0 is an ordinary absolute Shared-register name. SizeCode=0 selects the source form; SizeCode=1..12 selects a destination capacity of 128 B, 256 B, 512 B, 1 KiB, 2 KiB, 4 KiB, 8 KiB, 16 KiB, 32 KiB, 64 KiB, 128 KiB, or 256 KiB for the complete Core-wide Shared object. Codes 13..15 are reserved.",
"PEMode is a three-bit encoding expanded by the common profile decoder to the fixed four-PE semantic mask: 000 none, 001 PE0, 010 PE1, 011 PE2, 100 PE3, 101 PE0+PE1, 110 PE0+PE1+PE2, and 111 all four PEs.",
"PEMode=000 decodes to no participating PE and is a strict no-op before placement, duplicate, schema, allocation, descriptor, memory, and downstream fault checks."
],
"encoding_class": "standalone-encoded",
"examples": [
"B.IOS S1, mask=0011",
"B.IOS mask=1111, ->S63<0001>"
],
"exceptions": [
"Reserved instruction bits, SizeCode 13..15, and malformed field combinations raise Fault_IllegalInstruction before architectural effects.",
"A participating B.IOS outside an active header, a duplicate SharedTileID, or a fifth effective binding raises Illegal Block Exception before changing the stream.",
"A mismatched effective decoded PE mask, incompatible destination descriptor, mask expansion, or operation-schema role mismatch raises Fault_TileLegality before Shared state changes.",
"PEMode=000 is a strict no-op and cannot raise a downstream schema, duplicate, allocation, descriptor, or memory fault."
],
"field_contracts": {},
"field_zero_meanings": {
"SharedTileID": "Encoded zero names S0; it does not mean absence.",
"SizeCode": "Encoded zero selects a Shared source and never allocates.",
"PEMode": "Encoded zero decodes to mask 0000 and makes B.IOS a strict no-op."
},
"legality": [
"All SharedTileID codes 0..63 are assigned absolute Core-private Shared-register names S0..S63.",
"SizeCode code 0 is the source role; destination codes 1..12 encode 128 B, 256 B, 512 B, 1 KiB, 2 KiB, 4 KiB, 8 KiB, 16 KiB, 32 KiB, 64 KiB, 128 KiB, and 256 KiB for the complete Core-wide Shared object. Codes 13..15 are reserved.",
"The three-bit PEMode field accepts all eight encodings and the common profile decoder expands them exactly to the fixed four-PE semantic mask table. PEMode=000 is the strict no-effect source-bearing encoding.",
"A participating B.IOS is legal only after BSTART and before the block body. At most four effective Shared bindings are accepted in encoded order.",
"Two effective bindings in one block may not name the same Sx. The selected operation schema determines each ordered Shared operand role and must agree with SizeCode source/destination encoding."
],
"memory_effects": [
"none"
],
"operands": [
{
"field": "SharedTileID",
"role": "absolute Core-private Shared register S0 through S63, visible to all four PEs of that core"
},
{
"field": "SizeCode",
"role": "role and capacity: 0 source; 1..12 destination with 128 B..256 KiB for the complete Core-wide Shared object"
},
{
"field": "PEMode",
"role": "three-bit encoded participation mode expanded by the common decoder to a four-PE semantic mask"
}
],
"ordering": [
"Effective B.IOS bindings form one encoded-order stream of at most four operands. The selected operation consumes the stream in schema order.",
"The architecture imposes no ordering between conflicting PE accesses to Shared payload offsets; software avoids conflicts or establishes separate synchronization."
],
"standalone_opcode": true,
"state_effects": [
"The common PE-mode decoder expands PEMode once to the semantic four-PE mask used by every effective Shared binding.",
"A zero decoded mask is a strict no-op. A source binding is read-only and never changes its Shared descriptor, allocation mask, initialized mask, or payload.",
"A successful singleton destination publishes the complete Shared parent; a multi-PE destination uses B.ASSEMBLE with explicit non-overlapping ranges and atomic LAST publication."
]
}