#include "decl.h"
#include <alloc.h>
-extern char *malloc(), *realloc(), *Salloc();
/* This file contains some routines needed in "pars.g" to handle the action-
* grammarrule. The assembler-instructions are handeld in blocks rather than
if ( quantum == 0) {
quantum = 16;
- as_instructions = (char **)malloc( quantum*sizeof( char *));
+ as_instructions = (char **)Malloc( quantum*sizeof( char *));
}
}
{
if ( nr_instr == quantum) {
quantum *= 2;
- as_instructions = (char **) realloc( as_instructions,
+ as_instructions = (char **) Realloc( as_instructions,
quantum*sizeof( char *));
}
* ponding C_con_xxx C_rom_xxx instruction
* so set correct info.
*/
- set_C_instr_info( def_info[i-2].name);
+ set_C_instr_info( def_info[(i>>2)<<2].name);
def_row();
out( "}\n\n");
}
*/
{
out( "if ( %s == 0 ) {\n", C_instr_info->arg_id[3]);
- set_segment( SEGBSS);
- out( "bss( %s);\n", C_instr_info->arg_id[0]);
+ out( "common( %s);\n", C_instr_info->arg_id[0]);
out( "}\nelse {\n");
set_segment( SEGCON);
out( "for ( %s = 0; %s < %s/EM_WSIZE; %s++)\n",
| C_INSTR
[ c_special | c_simple]
- | %if ( strcmp( yytext, to_change) == 0)
+ | %if ( to_change && strcmp( yytext, to_change) == 0)
DEF_C_INSTR { init_defaults( yytext);}
[ Dspecial | Dsimple] { handle_defaults();}