What is the difference in data type "X" and "P"?
Answers were Sorted based on User's Feedback
Answer / sourav
X is used for Hexadecimal fields where as P is for Packed
decimal. X denotes alphanumeric in COBOL, not in MVS ASM.
| Is This Answer Correct ? | 28 Yes | 0 No |
Answer / guest
X is used for hexa decimal values, but the packed decimal
mainly used for date purpose and to have the values with
positive and negative
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / saurabh biswas
In MVS assembler data type X denotes hexadecimal data type
which unsigned pack. suppose you define VAR1 as "VAR1 DC
X'01'". It will occupy 1 byte in the memory and stored as:
0 in the zoned nibble and 1 in the numeric nibble.
P denotes the packed data type, similar to COMP-3 in COBOL.
if you declare any variable with this data type then it
must have a sign byte at last nibble. See following example:
VAR2 DC P'1'
it will occupy one byte in the memory and stored as '1C'.
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / guru
X is used for Hexadecimal fields where as P is for Packed
decimal.X store in a full word where as Packed has half
word boundry.
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / bhanu prathap
X is used for Alphanumeric and P is used for Packed Decimal.
| Is This Answer Correct ? | 2 Yes | 21 No |
What is the use of trt instruction?
What is the difference between various read and find statement,and which one should be used when for better adabas performance ?
Explain about house keeping in assembler?
What does the following code do? Ap wkur,=p5 where wkur is a label?
How many maximum base registers we can have in a single program?
Explain how to initialize a register to 0000?
how to retrieve the instream data in sysin?
Explain how to pass instream data in sysin with assembler?
how to pass the parameters from jcl to assembler pgm?
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?
Is it possible to access some memory location (Ex: VAR1 DS P) without using Base Displacement?
Can we use an equated value as operand for an MVC instruction? Reason for the same