M68000 CPUs they are nevertheless more restricted in some cases, so these need to be
handled explicitely (especially if symbols are involved).
git-svn-id: trunk@22738 -
* generate special return code for non-68020 CPU which don't support RTD instruction (based on
out code a few lines further down)
git-svn-id: trunk@22736 -
It seems that GNU as needs the syntax "offset(register.size*scale)" if the base address
register is ommited instead of "offset(,register.size*scale)". Now the System unit
assembles and nearly the complete RTL can be built.
git-svn-id: trunk@22734 -
leave "and" and "or" as "and" and "or" as according to the assembly language reference the
assembler should automatically choose the correct instruction (though Coldfire still should
be tested for ORI/ANDI to CCR
git-svn-id: trunk@22733 -
* use andi/ori for constant values
* use a scratch register if target is an address register (there seems to exist an omnious
anda/ora instruction though, but GNU as doesn't seem to handle it... maybe I haven't set
the CPU type correctly, so I'll need to investigate this so we can hopefully remove the
need for a scratch register for certain CPU types ;) )
git-svn-id: trunk@22732 -
* remove comments regarding needed LOC_JUMP implementation
* don't call flags2reg if the location is LOC_JUMP as there isn't a register to set the flags to
(this allows fpc_mul_qword and fpc_mul_int64 to be assembled)
git-svn-id: trunk@22731 -
implement case "LOC_JUMP" (with a more or less blindly copy from
x86/nx86cnv.pas, tx86typeconvnode.second.int_to_bool; this now allows that the system unit can
be compiled, but not yet assembled
git-svn-id: trunk@22728 -
adjust syscalls just enough so that we don't have any duplicate symbols; the correctness will
be verified once we have linkable code
git-svn-id: trunk@22727 -
the asmr_d_*_reading messages need an argument which specifies in which style the assembler code
is read; this is most importantly used on i386; on m68k we currently don't have multiple styles,
so simply disable these messages
git-svn-id: trunk@22725 -
* VersionIndependentProgID should not include version.
* Also delete the "CurVer" registry key during un-registration to perform complete clean-up.
git-svn-id: trunk@22657 -
* Use ibase.h time precision constant ISC_TIME_SECONDS_PRECISION instead of fixed value 10 000, making it more resilient against FB code changes
* Use IBTimeFractionsPerDay instead of IBSecsCount as it better matches naming within Firebird and it has nothing to do with counting seconds
git-svn-id: trunk@22645 -
o the order of .lcomm operands was inverted and can't specify an alignment
o the section in which to place them can't be adorned using [RW] access
specifiers (it's always in .bss, which is [RW] by definition)
git-svn-id: trunk@22644 -