@ -975,12 +975,8 @@ char *instring;
register struct m68k_op * opP ;
register struct m68k_incant * opcode ;
register char * s ;
register int tmpreg = 0 ,
baseo = 0 ,
outro = 0 ,
nextword ;
int siz1 ,
siz2 ;
register int tmpreg = 0 , baseo = 0 , outro = 0 , nextword ;
int siz1 , siz2 ;
char c ;
int losing ;
int opsfound ;
@ -1384,7 +1380,7 @@ char *instring;
opcode = opcode - > m_next ;
if ( ! opcode ) {
the_ins . error = " instruction/operands mismatch " ;
the_ins . error = " instruction/operands mismatch or invalid \n instruction for this architecture " ;
return ;
} /* Fell off the end */
@ -2587,7 +2583,7 @@ char *str;
int shorts_this_frag ;
if ( current_architecture = = 0 ) {
if ( current_architecture = = 0 )
current_architecture = ( m68020
# ifndef NO_68881
| m68881
@ -2596,7 +2592,9 @@ char *str;
| m68851
# endif
) ;
} /* default current_architecture */
/* If only float and mmu were specified, default cpu. */
else if ( cpu_of_arch ( current_architecture ) = = 0 )
current_architecture | = m68020 ;
memset ( ( char * ) ( & the_ins ) , ' \0 ' , sizeof ( the_ins ) ) ; /* JF for paranoia sake */
m68k_ip ( str ) ;
@ -2609,7 +2607,7 @@ char *str;
}
}
if ( er ) {
as_bad ( " \" %s \" -- Statement ' %s' ignored" , er , str ) ;
as_bad ( " %s -- statement ` %s' ignored" , er , str ) ;
return ;
}
@ -2725,141 +2723,8 @@ char *str;
}
}
/* This function is called once, at assembler startup time. This should
set up all the tables , etc that the MD part of the assembler needs
*/
void
insert_reg ( regname , regnum )
char * regname ;
int regnum ;
{
char buf [ 100 ] ;
int i ;
symbol_table_insert ( symbol_new ( regname , SEG_REGISTER , regnum , & zero_address_frag ) ) ;
for ( i = 0 ; regname [ i ] ; i + + )
buf [ i ] = islower ( regname [ i ] ) ? toupper ( regname [ i ] ) : regname [ i ] ;
buf [ i ] = ' \0 ' ;
symbol_table_insert ( symbol_new ( buf , SEG_REGISTER , regnum , & zero_address_frag ) ) ;
}
static struct {
char * name ;
int number ;
} init_table [ ] =
{
" d0 " , DATA0 ,
" d1 " , DATA1 ,
" d2 " , DATA2 ,
" d3 " , DATA3 ,
" d4 " , DATA4 ,
" d5 " , DATA5 ,
" d6 " , DATA6 ,
" d7 " , DATA7 ,
" a0 " , ADDR0 ,
" a1 " , ADDR1 ,
" a2 " , ADDR2 ,
" a3 " , ADDR3 ,
" a4 " , ADDR4 ,
" a5 " , ADDR5 ,
" a6 " , ADDR6 ,
" fp " , ADDR6 ,
" a7 " , ADDR7 ,
" sp " , ADDR7 ,
" fp0 " , FP0 ,
" fp1 " , FP1 ,
" fp2 " , FP2 ,
" fp3 " , FP3 ,
" fp4 " , FP4 ,
" fp5 " , FP5 ,
" fp6 " , FP6 ,
" fp7 " , FP7 ,
" fpi " , FPI ,
" fps " , FPS ,
" fpc " , FPC ,
" cop0 " , COP0 ,
" cop1 " , COP1 ,
" cop2 " , COP2 ,
" cop3 " , COP3 ,
" cop4 " , COP4 ,
" cop5 " , COP5 ,
" cop6 " , COP6 ,
" cop7 " , COP7 ,
" pc " , PC ,
" zpc " , ZPC ,
" sr " , SR ,
" ccr " , CCR ,
" cc " , CCR ,
" usp " , USP ,
" isp " , ISP ,
" sfc " , SFC ,
" dfc " , DFC ,
" cacr " , CACR ,
" caar " , CAAR ,
" vbr " , VBR ,
" msp " , MSP ,
" itt0 " , ITT0 ,
" itt1 " , ITT1 ,
" dtt0 " , DTT0 ,
" dtt1 " , DTT1 ,
" mmusr " , MMUSR ,
" tc " , TC ,
" srp " , SRP ,
" urp " , URP ,
# ifndef NO_68851
" ac " , AC ,
" bc " , BC ,
" cal " , CAL ,
" crp " , CRP ,
" drp " , DRP ,
" pcsr " , PCSR ,
" psr " , PSR ,
" scc " , SCC ,
" val " , VAL ,
" bad0 " , BAD0 ,
" bad1 " , BAD1 ,
" bad2 " , BAD2 ,
" bad3 " , BAD3 ,
" bad4 " , BAD4 ,
" bad5 " , BAD5 ,
" bad6 " , BAD6 ,
" bad7 " , BAD7 ,
" bac0 " , BAC0 ,
" bac1 " , BAC1 ,
" bac2 " , BAC2 ,
" bac3 " , BAC3 ,
" bac4 " , BAC4 ,
" bac5 " , BAC5 ,
" bac6 " , BAC6 ,
" bac7 " , BAC7 ,
# endif
" ic " , IC ,
" dc " , DC ,
" nc " , NC ,
0 ,
} ;
void
init_regtable ( )
{
int i ;
for ( i = 0 ; init_table [ i ] . name ; i + + )
{
insert_reg ( init_table [ i ] . name , init_table [ i ] . number ) ;
}
}
void