gas2ack filters out .code16
- .code16 tells gnu as to generate 16bit assembly ack requires -mi86 switch
This commit is contained in:
		
							parent
							
								
									c8f70b8154
								
							
						
					
					
						commit
						905e94f058
					
				@ -10,6 +10,7 @@ typedef enum opcode {	/* 80486 opcodes, from the i486 reference manual.
 | 
				
			|||||||
	DOT_ASSERT,			/* Pseudo's invented */
 | 
						DOT_ASSERT,			/* Pseudo's invented */
 | 
				
			||||||
	DOT_BASE,
 | 
						DOT_BASE,
 | 
				
			||||||
	DOT_COMM,	DOT_LCOMM,
 | 
						DOT_COMM,	DOT_LCOMM,
 | 
				
			||||||
 | 
						DOT_CODE16,
 | 
				
			||||||
	DOT_DATA1,
 | 
						DOT_DATA1,
 | 
				
			||||||
	DOT_DATA2,
 | 
						DOT_DATA2,
 | 
				
			||||||
	DOT_DATA4,
 | 
						DOT_DATA4,
 | 
				
			||||||
 | 
				
			|||||||
@ -562,6 +562,8 @@ void ack_emit_instruction(asm86_t *a)
 | 
				
			|||||||
		assert(a->args->operator == '=');
 | 
							assert(a->args->operator == '=');
 | 
				
			||||||
		ack_printf("\t%s = ", a->args->name);
 | 
							ack_printf("\t%s = ", a->args->name);
 | 
				
			||||||
		ack_put_expression(a, a->args->middle, 0);
 | 
							ack_put_expression(a, a->args->middle, 0);
 | 
				
			||||||
 | 
						} else if (a->opcode == DOT_CODE16) {
 | 
				
			||||||
 | 
							/* nothing to be done, makefiles handle this */
 | 
				
			||||||
	} else
 | 
						} else
 | 
				
			||||||
	if ((p= opcode2name(a->opcode)) != nil) {
 | 
						if ((p= opcode2name(a->opcode)) != nil) {
 | 
				
			||||||
		char *sep= dialect == ACK ? "" : ";";
 | 
							char *sep= dialect == ACK ? "" : ";";
 | 
				
			||||||
 | 
				
			|||||||
@ -33,6 +33,7 @@ static mnemonic_t mnemtab[] = {
 | 
				
			|||||||
	{ ".base",	DOT_BASE,	PSEUDO },
 | 
						{ ".base",	DOT_BASE,	PSEUDO },
 | 
				
			||||||
	{ ".bss",	DOT_BSS,	PSEUDO },
 | 
						{ ".bss",	DOT_BSS,	PSEUDO },
 | 
				
			||||||
	{ ".byte",	DOT_DATA1,	PSEUDO },
 | 
						{ ".byte",	DOT_DATA1,	PSEUDO },
 | 
				
			||||||
 | 
						{ ".code16",	DOT_CODE16,	PSEUDO },
 | 
				
			||||||
	{ ".comm",	DOT_COMM,	PSEUDO },
 | 
						{ ".comm",	DOT_COMM,	PSEUDO },
 | 
				
			||||||
	{ ".data",	DOT_DATA,	PSEUDO },
 | 
						{ ".data",	DOT_DATA,	PSEUDO },
 | 
				
			||||||
	{ ".end",	DOT_END,	PSEUDO },
 | 
						{ ".end",	DOT_END,	PSEUDO },
 | 
				
			||||||
@ -883,6 +884,8 @@ static asm86_t *gnu_get_statement(void)
 | 
				
			|||||||
	case JMP:
 | 
						case JMP:
 | 
				
			||||||
	case CALL:
 | 
						case CALL:
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
						case DOT_CODE16:
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
	default:;
 | 
						default:;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	skip_token(n+1);
 | 
						skip_token(n+1);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user