Qdatasheet_Logo
Integrated circuits, Transistor, Semiconductors Search and Datasheet PDF Download Site

ST20-C1 View Datasheet(PDF) - STMicroelectronics

Part Name
Description
MFG CO.
ST20-C1
ST-Microelectronics
STMicroelectronics ST-Microelectronics
'ST20-C1' PDF : 205 Pages View PDF
4.6 Comparisons and jumps
Implementation of languages with different representations of true and false
It is easy to implement programming languages that use a different representation of
true and false. For example, using
eqc X; not; adc 1
in place of eqc X and
gt; not; adc 1
in place of gt, does not affect the representation of a false result, but changes the
representation of true to -1, which is used in some programming languages.
4.6.2 Comparison
The primary instruction eqc n loads Areg with a truth value — true if Areg is initially
equal to the instruction operand (n), false otherwise. Breg and Creg are unaffected.
gt and gtu take integer operands in Areg and Breg and produce a boolean result
which is loaded into Areg. They also load the value in Creg into Breg, saving a copy
of the initial Areg in Creg.
The gt instruction loads Areg with true if Breg > Areg, false otherwise, treating Areg
and Breg as signed values. Similarly gtu loads Areg with true if the unsigned value of
Breg is greater than the unsigned value of Areg; false otherwise.
4.6.3 Jump and conditional jump
There are two relative jump instructions; both are primary instructions.
The unconditional jump instruction, j n, adds its operand (n) to the address of the
instruction immediately following it and puts the result into Iptr, thus transferring
execution to another part of the program.
The conditional jump instruction, cj n, performs a jump if the value in Areg is 0 and
does not affect the evaluation stack. If the value in Areg is not 0 cj rotates the value in
Areg to the bottom of the evaluation stack and continues with the next instruction.
Consequently cj n serves as ‘jump if false’ provided that the language being imple-
mented interprets 0 as false (see section 4.6.1).
4.6.4 Conditional transfer of control
The conditional expressions used in a conditional branch of an if construct are
compiled using the conditional jump. The statement:
if (E) {
P
}
This compiles to:
E; cj L;
P; j ENDIF;
L:
44/205
®
Share Link: GO URL

All Rights Reserved © qdatasheet.com  [ Privacy Policy ] [ Contact Us ]