The discussion about logical representations may be summarised
as follows.
Where a logical value needs to be stored, or maintained as an
intemediate in an involved expression:
1. The 1/0 model has many advantages in terms instruction space
and in time.
It reduces instruction space, and saves time by storing
a byte rather than a word.
It frees up registers for better optimiation.
Some machines generate 1/0 for true/false directly.
Some machines have been addressible to the bit level.
Simple conversion to/from INTEGER.
Using 0 and 1 produces simpler, faster code compared to
producing jumps.
2. The pos/neg model stores extraneous bits that need to be masked
out when multiple operands are involved;
Saves time by storing a byte rather than a word.
It may inhibit optimization.
May not be appropriate in ones complement ALU environment.
Less than simple conversion to/from INTEGER.
3. The negative 1/0 model is the least satisfactory of the three:
(a) it may not be appropriate on a machine employing ones complement ALU.
(b) It requires an entire word to be stored.
(c) It may inhibit optimization.
(d) Conversion to/from INTEGER not straightforward.
(e) Requires extra time and instructrion space to generate.
|