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 access VSAm file
What is house keeping in assembler? And explain the following code HELLOTSO START 0 * PRINT NOGEN BEGIN SAVE (14,12) LR 12,15 USING TYPE,12 ST 13,SAVE+4 LA 11,SAVE ST 11,8(13) LR 13,11
What will happen if we drop the base register in the program which contains only one basereg?
Explain about base register?
What is maximum displacement and how to cross this limit?
what is need of START 0?. In steed of '0' can we use any other numerics?. if we use what will happen?.
explain about maximum displacement and how to cross this limit?
how to retrieve the instream data in sysin?
How we can retrieve the instream data in SYSIN ?
about maximum displacement and how to cross this limit.
how to find the dump
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?