Duncan wrote:
The history of the term "enable" in computer usage, I believe traces to
its use for computer hardware. Consider the old serial protocols as used
in telephone modems and the like. Being binary logic, each signal line
had two states, 0/off, typically at ground-reference voltage, and 1/on,
typically at 5 volt reference relative to ground. The following
description should be generally accurate, altho I never mapped the
specifics for any particular protocol or pin-out into
permanent brain-memory, only absorbing enough to understand the principles
of how it worked.
OK, time to date myself. In hardware (yes, even pre-computer hardware),
one of
the lowest design elements is a gate (could be transistors, could be
relays, etc).
With a gate you can open or close it. In digital logic, the gate can be
in two states,
all the way open or all the way close. When open, then things are
allowed to pass
thru. When closed they are not. The logic signal for controlling the
gate is normally
referred to as the enable. If the gate is enabled, then things can flow
thru it.
Notice that the term is used to describe a logic function. It is
possible to have
active-high or active-low enables. So the value necessary to enable the
gate is
implementation dependent. For example, the gate could be enabled on: 1,
0, +5V,
0V, +12V, -12V, +20psi, -10C, whatever.
Back to software, normally a zero is used to represent deasserted, a
non-zero represents
asserted. Then we like to semantically assign boolean states such as
on/off, true/false
to asserted/deasserted. It is best not to think of booleans as having
numerical values,
but the base 2 numbering system's set of digits is {0,1}, so some
software will use
base 10's 0 and 1 digits for booleans (I have seen 0xffff used for true
in a C compiler).
Now getting back to the original discussion. It's clearer to state:
"the enable is asserted"
than "the enable is true" or "the enable is high" or "the enable is on"
or "the enable is 1".
But common mis-usage has them all equivalent.
Have fun,
Roy
--
[email protected] mailing list