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 ? | 33 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 |
Write the fetch cycle and execute cycle for following instructions:JMPNZ (jump to the given address if the accumulator not equal to zero) RET(return from a subroutine) ADB (add the contents of register B to the accumulator and save result in the accumulator).
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 the difference between various read and find statement?
What does the following code do? Ap wkur,=p5 where wkur is a label?
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
how to retrieve the instream data in sysin?
How to pass the parameters from jcl to assembler program?
What is the difference between various read and find statement,and which one should be used when for better adabas performance ?
Why do we use "drop"? What does "using" do?
How to pass instream data in sysin with Assembler?
What is icm instruction?
WHAT WILL HAPPEN IF WE DROP THE BASE REGISTER IN THE PGM WHICH CONTAINS ONLY ONE BASEREG?