Help on GAS

Arun Vishwanathan arun.vishwanathan@nevisnetworks.com
Fri Feb 20 14:13:00 GMT 2004


I am doing some work with MIPS16 and was so looking at the following
file 
binutils\include\opcode\mips.h 

The following is a cut-paste from the same file
------------------------------------------------------------------------
--
 The remaining codes may be extended.  Except as otherwise noted,
   the full extended operand is a 16 bit signed value.
   "<" 3 bit unsigned shift count * 0 (MIPS16OP_*_RZ) (full 5 bit
unsigned)
   ">" 3 bit unsigned shift count * 0 (MIPS16OP_*_RX) (full 5 bit
unsigned)
   "[" 3 bit unsigned shift count * 0 (MIPS16OP_*_RZ) (full 6 bit
unsigned)
   "]" 3 bit unsigned shift count * 0 (MIPS16OP_*_RX) (full 6 bit
unsigned)
   "4" 4 bit signed immediate * 0 (MIPS16OP_*_IMM4) (full 15 bit signed)
   "5" 5 bit unsigned immediate * 0 (MIPS16OP_*_IMM5)
   "H" 5 bit unsigned immediate * 2 (MIPS16OP_*_IMM5)
   "W" 5 bit unsigned immediate * 4 (MIPS16OP_*_IMM5)
   "D" 5 bit unsigned immediate * 8 (MIPS16OP_*_IMM5)
   "E" 5 bit PC relative address * 4 (MIPS16OP_*_IMM5)
------------------------------------------------------------------------
---
 
I am not able to understand the meaning of the numbers after the "*". 
I want to know the significance of these numbers. For example,
consider the line 
   "H" 5 bit unsigned immediate * 2 (MIPS16OP_*_IMM5)

What does the number "2" in the above line mean ?

Any help would be appreciated. 

Regards
Arun Vishwanathan 
Nevis Networks
 



More information about the Binutils mailing list