ORH $X,YZ, | ORMH $X,YZ, | ORML $X,YZ, | ORL $X,YZ |
ANDNH $X,YZ, | ANDNMH $X,YZ, | ANDNML $X,YZ, | ANDNL $X,YZ |
Specification:
Below, operator ⊙ stands either for the And-Not (\) operation or the Or (|) operation:
ANDNH | or ORH: $X | ← $X ⊙ YZ×248 |
ANDNMH | or ORMH: $X | ← $X ⊙ YZ×232 |
ANDNML | or ORML: $X | ← $X ⊙ YZ×216 |
ANDNL | or ORL: $X | ← $X ⊙ YZ |
Timing:
1υ
Description:
Bitwise operation on a 16-bit immediate value. Before the immediate wyde operand is used, it is shifted into one of the four possible positions of an octabyte.
ORH | ORMH | ORML | ORL | The 16-bit unsigned number YZ is shifted left by either 48 or 32 or 16 or 0 bits, respectively, and ored with
register $X; the result is placed back into register $X.
Notice: Any desired 4-wyde constant GH IJ KL MN can be inserted into a register with a sequence of
four instructions such as
SETH $X,GH; ORMH $X,IJ; ORML $X,KL; ORL $X,MN;
any of these OR instructions could also be replaced by INC. |
ANDNH | ANDNMH | ANDNML | ANDNL | The 16-bit unsigned number YZ is shifted left by either 48 or 32 or 16 or 0 bits, respectively, then complemented and anded with register $X; the result is placed back into register $X. If YZ is the hexadecimal constant #8000, the command ANDNH $X,YZ forces the most significant bit of register $X to be 0. This can be used to compute the absolute value of a floating point number. |