about ICM instruction.
Answers were Sorted based on User's Feedback
Answer / sanjeev mohindra
ICM means INsert character under mask. its a movement of character under mask bits
eg
ICM R8,B'0110',SRC
Before execution:
R8 ==> 12 34 56 78
SRC ==> AB CD EF 10
After Excecution:
R8 ==> 12 AB CD 78
| Is This Answer Correct ? | 35 Yes | 19 No |
Answer / steve holton
What about it? Loads selected bytes of a register selected
by a mask (leaves other bytes alone).
| Is This Answer Correct ? | 4 Yes | 1 No |
Answer / mohit neb
ICM stands for Insert Character under Mask. Operand 1 is a register, operand 2 is a 4-bit binary mask ( eg - B'1000' or the number 8) and operand 3 is a fullword in memory.
The important point is that contiguous memory bytes from the fullword (operand 3) are copied into selected bytes of the register (operand 1). The second operand say B'1100' does that selection. So a mask of B'1010' would insert two contiguous memory bytes from operand 3 to byte one and three of the operand 1 register.
Example :-
ICM 5,B'1010',FIELD
The above instruction would insert two contiguous bytes starting from FIELD into the first and the third byte of R5.
OBJECT CODE :- ( 4 Byte RS Instruction )
1 byte - OP Code
Next 1 byte - 4 bits for teh register and the other 4 for
the binary mask.
Next 2 bytes for operand 3 - B2D2D2D2
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / sri
ICM means INsert character under mask. its a movement of character under mask bits
eg
ICM R8,B'0110',SRC
Before execution:
R8 ==> 12 34 56 78
SRC ==> AB CD EF 10
After Excecution:
R8 ==> 12 CD EF 78
| Is This Answer Correct ? | 24 Yes | 28 No |
How to pass instream data in sysin with Assembler?
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?
What is the difference between various read and find statement,and which one should be used when for better adabas performance ?
Why do we have multiple base registers in certain programs?
What does "using" do?
Explain the difference between various read and find statement and which one should be used when for better adabas performance?
How are data passed from JCL parm to assembler program. And how is data passed from a calling program to an assembler called program.
how to access VSAm file
Explain the difference in data type "x" and "p"?
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????
What is icm instruction?
Can we use MVC instruction to move pack field to pack field....which instruction you will use and why ?