Path: utzoo!telly!attcan!uunet!mcsun!tuvie!inst182 From: inst182@tuvie (Inst.f.Techn.Informatik) Newsgroups: gnu.gcc Subject: Re: short jumps Keywords: port Message-ID: <1086@tuvie> Date: 7 Feb 90 13:56:43 GMT References: <1049@tuvie> <25CA909C.21229@paris.ics.uci.edu> <1051@tuvie> <47277@lll-winken.LLNL.GOV> Reply-To: inst182@tuvie.UUCP (Inst.f.Techn.Informatik) Organization: Technical University of Vienna, EDP-Center Lines: 31 In article <47277@lll-winken.LLNL.GOV> casey@gauss.llnl.gov (Casey Leedom) writes: >Instead Mips' assembler has virtual instructions for things >like ``jump foo'', ``load reg,foo'', etc. and it generates the right >sequences. > > Thus, >it doesn't cost that much to allocate a register out of the register set >for an assembler temporary and it costs a lot in effort not to do it that >way. > >Casey Now this of course would mean that the assembler would have to be much more intelligent. Now we have a very simple two-pass assembler that counts insntructions in the first pass and assigns values to labels and in the second pass it emits code. Obviously, if some instructions have variable length, this is no longer possible. Now my problem is: how much work is it to build an assembler which can handle instructions whose length cannot be evaluated in the first pass? Is there any documentation describing how to port gas? (By the way, is there any documentation at all for gas? If so, where can I get it?) Thanx in advance, mike ____ ____ / / / / / Michael K. Gschwind mike@vlsivie.at / / / / / Institute for VLSI-Design mike@vlsivie.uucp ---/ Technical University, Vienna / ___/