Computes the difference between the contents of a general-purpose register and a signed 16-bit integer and stores the result or the value zero in a general-purpose register.
Note: The dozi instruction is supported only in the POWER architecture.
The dozi instruction adds the complement of the contents of general-purpose register (GPR) RA, the 16-bit signed integer SI, and 1 and stores the result in the target GPR RT.
If the value in GPR RA is algebraically greater than the 16-bit signed value in the SI field, then GPR RT is set to 0.
The dozi instruction has one syntax form and does not effect Condition Register Field 0 or the Fixed-Point Exception Register.
|RT||Specifies target general-purpose register where result of operation is stored.|
|RA||Specifies source general-purpose register for operation.|
|SI||Specifies signed 16-bit integer for operation.|
The following code determines the difference between GPR 4 and 0x0 and stores the result in GPR 4:
# Assume GPR 4 holds 0x0000 0001. dozi 4,4,0x0 # GPR 4 now holds 0x0000 0000.
Fixed-Point Arithmetic Instructions.