Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

360 Assembly/360 Instructions/TRT

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

TRT - SS - Opcode DD - Scan a data string, looking for 1 or more specific characters. The TRT instruction scans a field, looking for specific bytes. TRT does not change any data. The D1 field contains the address of the data to be scanned. The D2 field contains the address of a 256 byte table where each byte contains either X'00' or a non-zero byte, at the offset in the HEX table of the byte being searched for. TRT sets the condition code, indicating whether the object character(s) was found. Availability The TRT instruction is available on all models. Caution TRT changes both registers 1 and 2. TRT is the only instruction that changes reg-2 as part of the operation, so if you use TRT, then don't use reg-2 as your base. Purpose of Instruction The TRT instruction searches for specific bytes. For example, if you wanted to find the next occurrence either of C'D' or C'K', you would code: TRT DATA,SRCHTBL BZ NOTFOUND SRCHTBL DC XL256'00' ORG SRCHTBL+C'D' DC X'04' ORG SRCHTBL+C'K' DC X'08' ORG Condition code, etc. If no character is found, the condition code is set to 0. If a character is found: The scanning terminates Register 1 indicates the address of the data character found. The byte in the scan table that was non-zero is placed into the low byte of reg-2. The remaining bytes of reg-2 are not changed. This is the only instruction that changes register 2 without reg-2 being specified. If the character that is found is the last character of the scanned field, the condition code is set to 2; otherwise, it is set to 1. Translate and test is implemented in micro code. Checks one byte at a time until either it finds a byte, or the data being scanned is exhausted. Exceptions and Faults Protection Exception - the source or the target is outside of the legal address range assigned to this task Example looking for a non-blank on a print line. TRT LINE,NONBLANK BZ ALLBLANK - REG-1 CONTAINS ADDRESS OF NON-BLANK CHAR NONBLANK DC 256C' ' ORG NONBLANK+C' ' DC X'00' ORG Example testing a packed field. SR 2,2 TRT PACKDATA,TRTPACK TEST THE PACKED FIELD WITH 'C', 'D', OR 'F' SIGN BC 2,GOODDATA IF ANY SIGN '0A' - '0F' IS GOOD, USE THIS. B BRTBL(2) TO RESTRICT SIGNS TO '0C' '0D' AND '0F', USE THIS. BRTBL B NOTFOUND B GOODDATA B BADSIGN B BADDATA TRTPACK DC 256X'0C' ORG TRTPACK DC 10X'00',XL6'080804040804',10X'00',XL6'080804040804' ORG TRTPACK+X'20' DC 10X'20',XL6'080804040804',10X'00',XL6'080804040804' ORG TRTPACK+X'40' DC 10X'40',XL6'080804040804',10X'00',XL6'080804040804' ORG TRTPACK+X'60' DC 10X'60',XL6'080804040804',10X'00',XL6'080804040804' ORG TRTPACK+X'80' DC 10X'80',XL6'080804040804',10X'00',XL6'080804040804' ORG Related instructions TR is slightly related, although it's function is very different.