Skip to main content

PTO-ARCH-STATE-NUMERIC-STATUS

PTO-ARCH-STATE-NUMERIC-STATUS

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-STATE-NUMERIC-STATUS","surface":"arch","classification":["state","numeric-status"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]}// NDF-BEGIN: PTO-NUMERIC-STATUS-STICKY-001// ndf: kind=contract level=L1 layer=architecture status=accepted// Numeric execution flags MUST map to CORE_STATE[36:32] as NV, DZ, OF, UF,// and NX, and a successful numeric operation MUST OR its produced flags into// the existing sticky status without clearing an earlier flag.// NDF-END: PTO-NUMERIC-STATUS-STICKY-001// DOC-BEGIN: statereadonly func NumericStatusFlags() => bits(5)begin    return _SystemRegisters.core_state[36:32];end;
func RecordNumericStatusFlags(flags: bits(5))begin    _SystemRegisters.core_state[36:32] = NumericStatusFlags() OR flags;end;// DOC-END: state

Architecture behavior

purpose scope

Purpose and scope

This unit owns the five architecture-visible numeric status flags and the sticky update applied after a successful numeric operation.

concepts state

Flag layout

NumericStatusFlags reads CORE_STATE[36:32]. From bit 36 down to bit 32, the five flags are NV, DZ, OF, UF, and NX.

rules interactions

Sticky update rule

RecordNumericStatusFlags ORs the supplied five-bit value with the current status and writes the result back to CORE_STATE[36:32].

A successful numeric operation can therefore set a flag but cannot clear a flag that was already set by an earlier operation.

boundaries

Architectural boundaries

This owner defines the status layout and accumulation operation. It does not decide which numeric operation produces NV, DZ, OF, UF, or NX; that decision belongs to the numeric operation's current ASL owner and profile hook where applicable.

example usage

illustrative sticky-flag example

If the current five-bit status is 10000 and a later successful operation supplies 00001, the recorded value becomes 10001. Supplying 00000 afterward leaves 10001 unchanged.

NDF clauses

Bodies come from owning ASL. Dragging or buttons change only this page-session view order.

    1. surfaceARCH
    2. ownerPTO-ARCH-STATE-NUMERIC-STATUS
    3. categoryNUMERIC-STATUS-STICKY
    4. case001

    Normative contract

    contract · L1 · accepted

    Numeric execution flags MUST map to CORE_STATE[36:32] as NV, DZ, OF, UF, and NX, and a successful numeric operation MUST OR its produced flags into the existing sticky status without clearing an earlier flag.

    Sources and references
    Complete stable ID
    PTO-NUMERIC-STATUS-STICKY-001
    Source path
    asl/arch/state/numeric-status.asl
    Affected units
    PTO-ARCH-STATE-NUMERIC-STATUS
    Source SHA-256
    3d3fe1709c7e2903bca96d50e9671a6a484c442ff08ce4a8340168cdb38ac6d9
    Clause SHA-256
    726594cdc2b4175fe94b32f63471549fab32de6dcf2cf0272ecf2845684ffb77
    Open exact canonical source ↗

Evidence index

8 matching entries

Executable evidence2
  • numeric status accumulates sticky architectural flags
    1. surfaceARCH
    2. ownerPTO-ARCH-STATE-NUMERIC-STATUS
    3. categorySTATE-TRANSITION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-NUMERIC-STATUS-001
    Path
    tests/asl/arch/state/numeric-status/arch-state-numeric-status-001.asl
    Kind / role
    state-transition
    Requirements
    PTO-NUMERIC-STATUS-STICKY-001
    Pass condition
    new flags are ORed into CORE_STATE without clearing an existing flag
    SHA-256
    73c82a0e416a7635964e18f0b52a0330df6edcb3292f9eb65937b9ace7d9948d
    Open exact source ↗ for PTO-AVS-ARCH-NUMERIC-STATUS-001
  • PTO-ARCH-STATE-NUMERIC-STATUS compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-STATE-NUMERIC-STATUS
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-STATE-NUMERIC-STATUS-STATIC-001
    Path
    tests/asl/arch/state/numeric-status/arch-static-numeric-status-contract-001.asl
    Kind / role
    static-invariant
    Requirements
    PTO-NUMERIC-STATUS-STICKY-001
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    98f5b7e8fe831e27ddfd019b142755a3675e04ff9fe7224a881f3f5d28eca221
    Open exact source ↗ for PTO-AVS-ARCH-STATE-NUMERIC-STATUS-STATIC-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST
Decision history1
  • Scalar numeric flag state and producer ownership · accepted
    1. decision recordADR
    2. case0038

    Decision record

    Loading ADR-0038…

    Sources and references
    Complete stable ID
    ADR-0038
    Path
    docs/status/decisions/0038-scalar-numeric-flag-state-and-ownership.md
    Affected units
    PTO-ARCH-STATE-NUMERIC-STATUS, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-SCALAR-FABS, PTO-SCALAR-FADD, PTO-SCALAR-FCVT, PTO-SCALAR-FCVTA, PTO-SCALAR-FCVTM, PTO-SCALAR-FCVTN, PTO-SCALAR-FCVTP, PTO-SCALAR-FCVTZ, PTO-SCALAR-FDIV, PTO-SCALAR-FEQ, PTO-SCALAR-FEQS, PTO-SCALAR-FEXP, PTO-SCALAR-FGE, PTO-SCALAR-FGES, PTO-SCALAR-FLT, PTO-SCALAR-FLTS, PTO-SCALAR-FMADD, PTO-SCALAR-FMAX, PTO-SCALAR-FMIN, PTO-SCALAR-FMSUB, PTO-SCALAR-FMUL, PTO-SCALAR-FNE, PTO-SCALAR-FNES, PTO-SCALAR-FNMADD, PTO-SCALAR-FNMSUB, PTO-SCALAR-FRECIP, PTO-SCALAR-FSQRT, PTO-SCALAR-FSUB, PTO-SCALAR-SCVTF, PTO-SCALAR-UCVTF
    Affected NDF
    PTO-FABS-DECISION-BINDING-001, PTO-FCVTA-DECISION-BINDING-001, PTO-FCVTM-DECISION-BINDING-001, PTO-FCVTN-DECISION-BINDING-001, PTO-FCVTP-DECISION-BINDING-001, PTO-FCVTZ-DECISION-BINDING-001, PTO-FMAX-DECISION-BINDING-001, PTO-FMIN-DECISION-BINDING-001, PTO-FNE-DECISION-BINDING-001, PTO-FNES-DECISION-BINDING-001, PTO-NUMERIC-STATUS-STICKY-001, PTO-SCVTF-DECISION-BINDING-001, PTO-UCVTF-DECISION-BINDING-001
    SHA-256
    eac15c3bee955bb92833482b9af8b9f149fe17c13138e6f2b22f0ed1cf40fc07
    Open exact decision source ↗ for ADR-0038

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-STATE-NUMERIC-STATUS
surface
arch
classification
[
  "state",
  "numeric-status"
]
depends_on
[
  "PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"
]
Open generated traceability record
{
  "classification": [
    "state",
    "numeric-status"
  ],
  "documentation": "docs/arch/state/numeric-status.md",
  "id": "PTO-ARCH-STATE-NUMERIC-STATUS",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0038"
  ],
  "semantic_tests": [
    "PTO-AVS-ARCH-NUMERIC-STATUS-001"
  ],
  "source": "asl/arch/state/numeric-status.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-NUMERIC-STATUS-001",
    "PTO-AVS-ARCH-STATE-NUMERIC-STATUS-STATIC-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
3d3fe1709c7e2903bca96d50e9671a6a484c442ff08ce4a8340168cdb38ac6d9
Generated documentation
docs/arch/state/numeric-status.md · embedded in this page
Documentation SHA-256
b7b88e800b8fb42ff16164137d45c59c6ecc5cc83143ea0370199d6a06514b49

Exact owners