struct SequenceFlags {
flag_values: u64,
flag_changes: u64,
}
Expand description
Flags represent requests to run for instruction sequences (today one might describe these as threads). Some sequences are special:
Sequence Number | Description |
---|---|
0 | Sequence which is run to start the computer (e.g. when “CODABO” or “START OVER” is pressed). |
41-75 | hardware devices |
76 | Not for physical devices. |
77 | Not for physical devices. |
The flag for sequences 76 and 77 may only be raised/lowered by program control.
The Lincoln Laboratory book “MIT Lincoln Laboratory: Technology in Support of National Security” states (on page 462) that The Xerox Alto also used sequences for I/O. See also https://en.wikipedia.org/wiki/Xerox_Alto#Architecture
Fields§
§flag_values: u64
§flag_changes: u64
Implementations§
Source§impl SequenceFlags
impl SequenceFlags
fn new() -> SequenceFlags
fn lower_all(&mut self)
fn flagbit(flag: &SequenceNumber) -> u64
fn lower(&mut self, flag: &SequenceNumber)
fn raise(&mut self, flag: &SequenceNumber)
fn current_flag_state(&self, flag: &SequenceNumber) -> bool
Sourcefn highest_priority_raised_flag(&self) -> Option<SequenceNumber>
fn highest_priority_raised_flag(&self) -> Option<SequenceNumber>
Return the index of the highest-priority (lowest-numbered) flag. If no flag is raised (the machine is in “Limbo”), return None.
fn drain_flag_changes(&mut self) -> Vec<SequenceNumber> ⓘ
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SequenceFlags
impl RefUnwindSafe for SequenceFlags
impl Send for SequenceFlags
impl Sync for SequenceFlags
impl Unpin for SequenceFlags
impl UnwindSafe for SequenceFlags
Blanket Implementations§
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<Src> TryFrom<Src> for Src
impl<Src> TryFrom<Src> for Src
§impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
§impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
§fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.
§impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
impl<Src, Dst> ValueInto<Dst> for Srcwhere
Dst: ValueFrom<Src>,
§fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>
Convert the subject into an exactly equivalent representation.