diff --git a/compiler/m68k/agcpugas.pas b/compiler/m68k/agcpugas.pas index ed7caa47a5..3a2c6e60a8 100644 --- a/compiler/m68k/agcpugas.pas +++ b/compiler/m68k/agcpugas.pas @@ -41,58 +41,58 @@ interface const gas_op2str:op2strtable= - { 68000 only instructions } - ('abcd','add', 'adda','addi','addq','addx','and','andi', - 'asl','asr','bcc','bcs','beq','bge','bgt','bhi', - 'ble','bls','blt','bmi','bne','bpl','bvc','bvs', - 'bchg','bclr','bra','bset','bsr','btst','chk', - 'clr','cmp','cmpa','cmpi','cmpm','dbcc','dbcs','dbeq','dbge', - 'dbgt','dbhi','dble','dbls','dblt','dbmi','dbne','dbra', - 'dbpl','dbt','dbvc','dbvs','dbf','divs','divu', - 'eor','eori','exg','illegal','ext','jmp','jsr', - 'lea','link','lsl','lsr','move','movea','movei','moveq', - 'movem','movep','muls','mulu','nbcd','neg','negx', - 'nop','not','or','ori','pea','rol','ror','roxl', - 'roxr','rtr','rts','sbcd','scc','scs','seq','sge', - 'sgt','shi','sle','sls','slt','smi','sne', - 'spl','st','svc','svs','sf','sub','suba','subi','subq', - 'subx','swap','tas','trap','trapv','tst','unlk', - 'rte','reset','stop', - { MC68010 instructions } - 'bkpt','movec','moves','rtd', - { MC68020 instructions } - 'bfchg','bfclr','bfexts','bfextu','bfffo', - 'bfins','bfset','bftst','callm','cas','cas2', - 'chk2','cmp2','divsl','divul','extb','pack','rtm', - 'trapcc','tracs','trapeq','trapf','trapge','trapgt', - 'traphi','traple','trapls','traplt','trapmi','trapne', - 'trappl','trapt','trapvc','trapvs','unpk', - { FPU Processor instructions - directly supported only. } - { IEEE aware and misc. condition codes not supported } - 'fabs','fadd', - 'fbeq','fbne','fbngt','fbgt','fbge','fbnge', - 'fblt','fbnlt','fble','fbgl','fbngl','fbgle','fbngle', - 'fdbeq','fdbne','fdbgt','fdbngt','fdbge','fdnbge', - 'fdblt','fdbnlt','fdble','fdbgl','fdbngl','fdbgle','fdbngle', - 'fseq','fsne','fsgt','fsngt','fsge','fsnge', - 'fslt','fsnlt','fsle','fsgl','fsngl','fsgle','fsngle', - 'fcmp','fdiv','fmove','fmovem', - 'fmul','fneg','fnop','fsqrt','fsub','fsgldiv', - 'fsflmul','ftst', - 'fint','fintrz', - 'ftrapeq','ftrapne','ftrapgt','ftrapngt','ftrapge','ftrapnge', - 'ftraplt','ftrapnlt','ftraple','ftrapgl','ftrapngl','ftrapgle', - 'ftrapngle', - { Useful for assembly langage output } - { Protected instructions } - 'cprestore','cpsave', - { FPU Unit protected instructions } - { and 68030/68851 common MMU instructions } - { (this may include 68040 MMU instructions) } - 'frestore','fsave','pflush','pflusha','pload','pmove','ptest', - { Useful for assembly langage output } - '','','',''); + { warning: CPU32 opcodes are not fully compatible with the MC68020. } + { 68000 only opcodes } + ('abcd', + 'add','adda','addi','addq','addx','and','andi', + 'asl','asr','bcc','bcs','beq','bge','bgt','bhi', + 'ble','bls','blt','bmi','bne','bpl','bvc','bvs', + 'bchg','bclr','bra','bset','bsr','btst','chk', + 'clr','cmp','cmpa','cmpi','cmpm','dbcc','dbcs','dbeq','dbge', + 'dbgt','dbhi','dble','dbls','dblt','dbmi','dbne','dbra', + 'dbpl','dbt','dbvc','dbvs','dbf','divs','divu', + 'eor','eori','exg','illegal','ext','jmp','jsr', + 'lea','link','lsl','lsr','move','movea','movei','moveq', + 'movem','movep','muls','mulu','nbcd','neg','negx', + 'nop','not','or','ori','pea','rol','ror','roxl', + 'roxr','rtr','rts','sbcd','scc','scs','seq','sge', + 'sgt','shi','sle','sls','slt','smi','sne', + 'spl','st','svc','svs','sf','sub','suba','subi','subq', + 'subx','swap','tas','trap','trapv','tst','unlk', + 'rte','reset','stop', + { mc68010 instructions } + 'bkpt','movec','moves','rtd', + { mc68020 instructions } + 'bfchg','bfclr','bfexts','bfextu','bfffo', + 'bfins','bfset','bftst','callm','cas','cas2', + 'chk2','cmp2','divsl','divul','extb','pack','rtm', + 'trapcc','tracs','trapeq','trapf','trapge','trapgt', + 'traphi','traple','trapls','traplt','trapmi','trapne', + 'trappl','trapt','trapvc','trapvs','unpk', + { fpu processor instructions - directly supported only. } + { ieee aware and misc. condition codes not supported } + 'fabs','fadd', + 'fbeq','fbne','fbngt','fbgt','fbge','fbnge', + 'fblt','fbnlt','fble','fbgl','fbngl','fbgle','fbngle', + 'fdbeq','fdbne','fdbgt','fdbngt','fdbge','fdbnge', + 'fdblt','fdbnlt','fdble','fdbgl','fdbngl','fdbgle','fdbngle', + 'fseq','fsne','fsgt','fsngt','fsge','fsnge', + 'fslt','fsnlt','fsle','fsgl','fsngl','fsgle','fsngle', + 'fcmp','fdiv','fmove','fmovem', + 'fmul','fneg','fnop','fsqrt','fsub','fsgldiv', + 'fsflmul','ftst', + 'ftrapeq','ftrapne','ftrapgt','ftrapngt','ftrapge','ftrapnge', + 'ftraplt','ftrapnlt','ftraple','ftrapgl','ftrapngl','ftrapgle','ftrapngle', + { protected instructions } + 'cprestore','cpsave', + { fpu unit protected instructions } + { and 68030/68851 common mmu instructions } + { (this may include 68040 mmu instructions) } + 'frestore','fsave','pflush','pflusha','pload','pmove','ptest', + { useful for assembly language output } + 'label','none','db','s','b','fb'); + gas_opsize2str : array[topsize] of string[2] = ('','.b','.w','.l','.s','.d','.x','' ); @@ -193,7 +193,7 @@ interface delete(hs,length(hs),1); getopstr := hs; end; - top_const : getopstr:='#'+tostr(o.val); + top_const : getopstr:='#'+tostr(longint(o.val)); top_symbol : { compare with i386, where a symbol is considered } { a constant. } @@ -417,7 +417,10 @@ initialization end. { $Log$ - Revision 1.5 2003-01-08 18:43:57 daniel + Revision 1.6 2003-02-15 22:19:40 carl + * bugfix of emissions of jmp instructions + + Revision 1.5 2003/01/08 18:43:57 daniel * Tregister changed into a record Revision 1.4 2002/11/30 23:33:02 carl