diff --git a/compiler/i386/ag386nsm.pas b/compiler/i386/ag386nsm.pas index 370ad39c48..ea15178299 100644 --- a/compiler/i386/ag386nsm.pas +++ b/compiler/i386/ag386nsm.pas @@ -890,17 +890,41 @@ interface '.stab','.stabstr','') ); + as_i386_nasmbeos_info : tasminfo = + ( + id : as_i386_nasmbeos; + idtxt : 'NASMELF'; + asmbin : 'nasm'; + asmcmd : '-f elf -o $OBJ $ASM'; + supported_target : system_i386_beos; + outputbinary: false; + allowdirect : true; + needar : true; + labelprefix_only_inside_procedure: false; + labelprefix : '..@'; + comment : '; '; + secnames : ('', + '.text','.data','.bss', + '.idata2','.idata4','.idata5','.idata6','.idata7','.edata', + '.stab','.stabstr','') + ); + initialization RegisterAssembler(as_i386_nasmcoff_info,T386NasmAssembler); RegisterAssembler(as_i386_nasmwin32_info,T386NasmAssembler); RegisterAssembler(as_i386_nasmwdosx_info,T386NasmAssembler); RegisterAssembler(as_i386_nasmobj_info,T386NasmAssembler); + RegisterAssembler(as_i386_nasmbeos_info,T386NasmAssembler); RegisterAssembler(as_i386_nasmelf_info,T386NasmAssembler); end. { $Log$ - Revision 1.41 2003-10-21 15:15:36 peter + Revision 1.42 2003-11-29 15:53:06 florian + + nasmelf mode for BeOS + + DQWORD directive in intel assembler mode + + Revision 1.41 2003/10/21 15:15:36 peter * taicpu_abstract.oper[] changed to pointers Revision 1.40 2003/10/01 20:34:49 peter diff --git a/compiler/i386/ra386int.pas b/compiler/i386/ra386int.pas index 22758c7d30..dbc5abb45e 100644 --- a/compiler/i386/ra386int.pas +++ b/compiler/i386/ra386int.pas @@ -41,7 +41,7 @@ Unit Ra386int; {------------------ Assembler directives --------------------} AS_DB,AS_DW,AS_DD,AS_END, {------------------ Assembler Operators --------------------} - AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_NEAR,AS_FAR, + AS_BYTE,AS_WORD,AS_DWORD,AS_QWORD,AS_TBYTE,AS_DQWORD,AS_NEAR,AS_FAR, AS_HIGH,AS_LOW,AS_OFFSET,AS_SEG,AS_TYPE,AS_PTR,AS_MOD,AS_SHL,AS_SHR,AS_NOT, AS_AND,AS_OR,AS_XOR); @@ -114,7 +114,7 @@ Unit Ra386int; { problems with shl,shr,not,and,or and xor, they are } { context sensitive. } _asmoperators : array[0.._count_asmoperators] of tasmkeyword = ( - 'BYTE','WORD','DWORD','QWORD','TBYTE','NEAR','FAR','HIGH', + 'BYTE','WORD','DWORD','QWORD','TBYTE','DQWORD','NEAR','FAR','HIGH', 'LOW','OFFSET','SEG','TYPE','PTR','MOD','SHL','SHR','NOT','AND', 'OR','XOR'); @@ -1731,6 +1731,7 @@ Unit Ra386int; AS_BYTE, AS_WORD, AS_TBYTE, + AS_DQWORD, AS_QWORD : Begin { load the size in a temp variable, so it can be set when the @@ -1741,6 +1742,7 @@ Unit Ra386int; AS_WORD : size:=2; AS_BYTE : size:=1; AS_QWORD : size:=8; + AS_DQWORD : size:=16; AS_TBYTE : size:=extended_size; end; Consume(actasmtoken); @@ -1975,7 +1977,11 @@ begin end. { $Log$ - Revision 1.66 2003-11-29 14:41:02 peter + Revision 1.67 2003-11-29 15:53:06 florian + + nasmelf mode for BeOS + + DQWORD directive in intel assembler mode + + Revision 1.66 2003/11/29 14:41:02 peter * support type() Revision 1.65 2003/11/12 16:05:39 florian diff --git a/compiler/systems.pas b/compiler/systems.pas index 9ec2414209..028130c46a 100644 --- a/compiler/systems.pas +++ b/compiler/systems.pas @@ -127,6 +127,7 @@ interface ,as_i386_nasmwdosx ,as_i386_nasmelf ,as_i386_nasmobj + ,as_i386_nasmbeos ,as_i386_tasm ,as_i386_masm ,as_i386_wasm @@ -648,7 +649,11 @@ finalization end. { $Log$ - Revision 1.73 2003-11-17 23:23:47 florian + Revision 1.74 2003-11-29 15:53:06 florian + + nasmelf mode for BeOS + + DQWORD directive in intel assembler mode + + Revision 1.73 2003/11/17 23:23:47 florian + first part of arm assembler reader Revision 1.72 2003/11/12 16:05:39 florian