What is the use of TRT instruction and how it is working?
Answers were Sorted based on User's Feedback
Answer / senthil kumar m
TRT is used to scan a string of characters, searching
for the occurrence of any the characters which are
specified in a translate table.
TRT also sets the condition code to indicate the results
of the scanning operation as follows:
Condition Code Indications
0 ( Zero ) All function bytes
encountered were X’00’.
1 ( Minus ) A nonzero function byte
was found before the end of operand 1
2 ( Positive ) A nonzero function byte
was found at the end of the operand 1
The condition code can be tested using BZ, BNZ, BM, BNM,
BP, or BNP.
Is This Answer Correct ? | 15 Yes | 1 No |
Answer / deepalakshmi
IT IS USED TO SCAN STIRING OF CHARACTERS IN THE TABLE, iF
THE FIRST NON ZERO CHARACTER IS ENCOUNTERED IN THE TABLE,
THEN THE SCANING IS STOPPED,THEN THE ADDRESS IS PLACED IN
R1AND THE VALUE IN R2.
THEN THE CONDITION CODE IS SET
Condition Code Indications
0 ( Zero ) All function bytes
encountered were X’00’.
1 ( Minus ) A nonzero function byte
was found before the
end of operand 1
2 ( Positive ) A nonzero function byte
was found at the
end of the operand 1
Is This Answer Correct ? | 12 Yes | 2 No |
Answer / md saifullah
for example we want to test if given variable is numeric we can do it by following code.
We can define a table with all FF execpt from 0 t0 9 00
Table1 DC 256c'ff'
org table1
dc 10c'00'
Now we can give
TRT var1,table1
BZ numeric
Is This Answer Correct ? | 8 Yes | 2 No |
Answer / phils
TRT is used to scan a string of characters byte by byte,
using the hexadecimal value of each character to 'index'
into a 256 byte translate table, If the resultant table byte
is set to X'00', then processing continues with the next
input character, and so on until end of input string, or a
non-zero table byte is encountered.
TRT sets the condition code to indicate the results
of the scanning operation as follows:
Condition Code Indications
0 ( Zero ) All table bytes X’00’.
1 ( Minus ) nonzero tabl found before the end
of operand 1
2 ( Positive ) A nonzero table byte was found at
the end of the operand 1
The condition code can be tested using BZ, BNZ, BM, BNM,
BP, or BNP.
In this way we can test that a string contains only
'desirable values' by setting the equivalent bytes in the
translate table to X'00' e.g. testing for numerics as in
answer 4.
Is This Answer Correct ? | 3 Yes | 2 No |
Answer / karta
TRT is translate and Test. The right operand requires a 256 Byte table.
It is used for scanning the string of characters to check if it has numeric or character or some special symbols.
This instruction affects the content of R1 and R2. before using it, save R1 and R2 content.
Is This Answer Correct ? | 1 Yes | 0 No |
Answer / sandeep
i wanna learn assembler mainframe from basics can any one
suggest me a good book or some websites.could u plz share
your ideas
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / guest
TRT instruction is used to translate the contents from one
operand to another then it will test the contents.
Is This Answer Correct ? | 5 Yes | 13 No |
What is base register?
How we can retrieve the instream data in SYSIN ?
Why do we use "drop"? What does "using" do?
registers(0-15) ,where they are going be resides., does that mean here is it resides whether real or virtual memory? and why? then why we are assign even registers(0 to 6) for FP operations????
How do you round the addition or subtraction of two numbers in assembler?
What is house keeping in assembler?
cobol and assembler access
What is the difference in data type "X" and "P"?
How many maximum base registers we can have in a program?
In the house keeping section of an MVS assembly language program, like the one below STM R14,R12,12(R13) BASR R12,R0 USING *,R12,R11 LA R11,2048 LA R11,2048(R11,R12) .... .... 1. What if BASR R12,R0 IS NOT PRECEDE USING *,R12,R11? 2. USING (base address), REGISTER does USING directive says assembler to treat particular Register as a base register with the mentioned base address..in the above case * i.e current location counter..well if that is the case why we need BASR R12,R0 ? 3. What if I write like STM R14,R12,12(R13) BASR R12,R0 LA R11,2048 LA R11,2048(R11,R12) USING *,R12,R11 there is no address resolution being calculated in both LA statements so is it a right way to set Base register?..will there be any issues with Domain regarding R11 and R12?
explain icm instruction?
Explain about maximum displacement?