NonStop S-Series Server Description Manual (G06.24+)
TNS Instruction Set
HP NonStop S-Series Server Description Manual—520331-003
11-38
Definitions of TNS Instructions
SBAS (000355). Store Byte via A Into System. The byte in B is stored into the
effective memory location pointed to by the byte address in A. Both B and A are then
deleted. A refers to an address in the system data segment.
SBRA (00015-). Subtract Register From A. The contents of the register pointed to by
the Register field of the instruction are subtracted in integer form from register A.
Overflow is set if the result is greater than 32767 or less than –32768. Carry can be
set, meaning no borrow. Condition Code is set on the result. For binary coding details,
refer to Table B-5 on page B-5.
SBU (1266--). Scan Bytes Until. The SBU instruction expects A.<8:15> to contain a
test byte and B to contain the byte address of the string to be scanned. The segment
to be used is determined by the “S” field of the instruction and by the DS, CS, and LS
bits of the ENV register. If the source address is specified as current code segment,
the byte address is taken to be in the same 64K-byte half of the code space as the
current P register value. If the source address is specified as latest user code
segment, the byte address is taken to be in the lower 64K-byte half of that segment.
The “RL” field of the instruction determines whether the scan address will be
incremented (“RL” = 0) or decremented (“RL” = 1) after each comparison. The scan is
terminated when either a null byte is found in the string or the test byte matches a byte
in the string. The Carry (K) bit is set in the ENV register when null byte termination
occurs. In either case, B points to the byte address that caused the scan to cease. RP
is set to the “RP” field of the instruction at termination. For binary coding details, refer
to Table B-3 on page B-3. Figure 11-7 on page 11-9 provides a comparison of
ascending and descending directions.
SBW (1264--). Scan Bytes While. The SBW instruction expects A to contain a
comparison byte in bits 8:15 and B to contain the byte address of the string to be
scanned. The segment to be used is determined by the “S” field of the instruction and
by the DS, CS, and LS bits of the ENV register. If the source address is specified as
latest user code segment, the byte address is taken to be in the lower 64K-byte half of
that segment. The “RL” field of the instruction determines whether the source address
will be incremented (“RL” = 0) or decremented (“RL” = 1) after each comparison. The
scan is terminated when either a null byte is found in the string or a byte in the string
does not match the test byte in A. When null byte termination occurs, the Carry (K) bit
in the ENV register is set. In either termination case, B points to the byte address that
caused termination. RP is set to the “RP” field of the instruction at instruction
termination. For binary coding details, refer to Table B-3 on page B-3 . Figure 11-7 on
page 11-9 provides a comparison of ascending and descending directions.
SBX (000407). Store Byte Extended. The byte in bits 8 through 15 of C is stored into
the memory location specified by the 32-bit byte address in registers B and A. C, B,
and A are then deleted.
SBXX (0257--, 0267--). Store Byte Extended, Indexed. The byte contained in
B.<8:15> is stored into a computed memory location. The memory address is obtained
as follows. The displacement value (0 through 63) in bits 10 through 15 of the
instruction word is added to a base value, which is either G[0] (coded 0257--) or the
current L register value (coded 0267--); the data word so indicated is assumed to be