bit_fix.h revision 78828
155714Skris/* bit_fix.h 255714Skris Copyright 1987, 1992, 2000 Free Software Foundation, Inc. 355714Skris 455714Skris This file is part of GAS, the GNU Assembler. 5109998Smarkm 6109998Smarkm GAS is free software; you can redistribute it and/or modify 7109998Smarkm it under the terms of the GNU General Public License as published by 8109998Smarkm the Free Software Foundation; either version 2, or (at your option) 955714Skris any later version. 1055714Skris 1155714Skris GAS is distributed in the hope that it will be useful, 1279998Skris but WITHOUT ANY WARRANTY; without even the implied warranty of 1355714Skris MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1455714Skris GNU General Public License for more details. 1579998Skris 1679998Skris You should have received a copy of the GNU General Public License 1755714Skris along with GAS; see the file COPYING. If not, write to the Free 1855714Skris Software Foundation, 59 Temple Place - Suite 330, Boston, MA 1955714Skris 02111-1307, USA. */ 2055714Skris 2155714Skris/* The bit_fix was implemented to support machines that need variables 2255714Skris to be inserted in bitfields other than 1, 2 and 4 bytes. 2355714Skris Furthermore it gives us a possibillity to mask in bits in the symbol 2455714Skris when it's fixed in the objectcode and check the symbols limits. 2555714Skris 2655714Skris The or-mask is used to set the huffman bits in displacements for the 2755714Skris ns32k port. 2855714Skris The acbi, addqi, movqi, cmpqi instruction requires an assembler that 2955714Skris can handle bitfields. Ie handle an expression, evaluate it and insert 3055714Skris the result in an some bitfield. ( ex: 5 bits in a short field of a opcode) 3155714Skris */ 3255714Skris 3355714Skris#ifndef __bit_fix_h__ 3455714Skris#define __bit_fix_h__ 3555714Skris 3655714Skrisstruct bit_fix { 3755714Skris int fx_bit_size; /* Length of bitfield */ 3855714Skris int fx_bit_offset; /* Bit offset to bitfield */ 3955714Skris long fx_bit_base; /* Where do we apply the bitfix. 4055714Skris If this is zero, default is assumed. */ 4159191Skris long fx_bit_base_adj; /* Adjustment of base */ 4259191Skris long fx_bit_max; /* Signextended max for bitfield */ 4355714Skris long fx_bit_min; /* Signextended min for bitfield */ 4455714Skris long fx_bit_add; /* Or mask, used for huffman prefix */ 4555714Skris}; 4655714Skristypedef struct bit_fix bit_fixS; 4755714Skris 4855714Skris#endif /* __bit_fix_h__ */ 4955714Skris