Hello Soledad,
Thank you very much for your reply. As per your suggestion, I have gone through the link. But in my case, I don't know the actual significance or in other words how does the assembler is computing it.
For eg. ADD R6,R5,#00000100 , assembler shows F505 7680 (12 bit immediate data)
whereas for ADD R6,R5,#00000200 , it shows F505 7600 (12 bit immediate data)
again for ADD R6,R5,#00000300 , it shows F505 7640 (12 bit immediate data)
and for ADD R6,R5,#00000400 , it shows F505 6680 (12 bit immediate data)
and for ADD R6,R5,#00000500 , it shows F505 66A0 (12 bit immediate data)
this was one set but for other set like,
ADD R6,R5,#00000001 , assembler shows F105 0601 (4 bit immediate data)
ADD R6,R5,#00000002 , assembler shows F105 0602 (4 bit immediate data)
ADD R6,R5,#00000010 , assembler shows F105 0610 (8 bit immediate data)
ADD R6,R5,#00000020, assembler shows F105 0620 (8 bit immediate data)
So, why the 7th byte is chaning from 1 to 5??
why 2nd byte is changing randomly, for more than 8-bit immediate data?
why 4th byte has value change from 0 to 7 again 7 to 6?? and also it changes for any other value like,
ADD R6,R5,#00001000 , it shows F505 5680 (16 bit immediate data)
ADD R6,R5,#00002000 , it shows F505 5600 (16 bit immediate data)
ADD R6,R5,#00003000 , it shows F505 5640 (16 bit immediate data)
ADD R6,R5,#00004000 , it shows F505 4680 (16 bit immediate data)
ADD R6,R5,#00005000 , it shows F505 46A0 (16 bit immediate data)
If anyone can help me out with these questions, will be a great help. As, I didn't find any solution in internet.
Thank you once again,
Regards,
Himanshu