44 lines
		
	
	
	
		
			927 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			927 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <system.h>
 | |
| #include "mach.h"
 | |
| #include "back.h"
 | |
| #undef text2
 | |
| #undef con2
 | |
| #ifdef BYTES_REVERSED
 | |
| #define text2(w)	{ *text++ = ((w) >> 8); *text++ = (w);}
 | |
| #define con2(w)		{ *data++ = ((w) >> 8); *data++ = (w);}
 | |
| #else
 | |
| #define text2(w)	{ *text++ = (w); *text++ = ((w)>>8);}
 | |
| #define con2(w)		{ *data++ = (w); *data++ = ((w)>>8);}
 | |
| #endif
 | |
|  
 | |
| gen4( l)
 | |
| FOUR_BYTES l;
 | |
| {
 | |
| 	switch ( cur_seg) {
 | |
| 		case SEGTXT :
 | |
| 			if ((text_cnt -= 4) < 0) mem_text();
 | |
| #ifdef WORDS_REVERSED
 | |
| 			text2( (int) (l>>16));
 | |
| 			text2( (int) l);
 | |
| #else
 | |
| 			text2( (int) l);
 | |
| 			text2( (int) (l>>16));
 | |
| #endif
 | |
| 			return;
 | |
| 		case SEGCON  :
 | |
| 		case SEGROM  :
 | |
| 			if ((data_cnt -= 4) < 0) mem_data();
 | |
| #ifdef WORDS_REVERSED
 | |
| 			con2( (int)(l>>16));
 | |
| 			con2( (int) l);
 | |
| #else
 | |
| 			con2( (int) l);
 | |
| 			con2( (int) (l>>16));
 | |
| #endif
 | |
| 			return;
 | |
| 		case SEGBSS  : bss( (arith) 4);
 | |
| 			       return;
 | |
| 		default      : fprint( STDERR, "gen4() : bad seg number\n");
 | |
| 			       return;
 | |
| 	}
 | |
| }
 |