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 do you round the addition or subtraction of two numbers in assembler? what does the following code do? AP WKUR,=P'5' where WKUR is a label
How many maximum base registers we can have in a single program?
What does LA R3,R3 ?
How is data passed from a calling program to an assembler called program?
how to retrieve the instream data in sysin?
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).
how to produce SOC7 abend
How many maximum base registers we can have in a program?
What is need of start 0?
Why do we use "drop"?
Explain the difference between various read and find statement and which one should be used when for better adabas performance?
What does "using" do?