Commit Graph

14972 Commits

Author SHA1 Message Date
florian
40af7b2817 + add msdos target to ppudump
git-svn-id: branches/i8086@24051 -
2013-03-29 10:46:34 +00:00
nickysn
615d6e4a51 * internal compiler handling of Val() fixed for 16/8-bit CPUs
git-svn-id: branches/i8086@24049 -
2013-03-29 01:38:21 +00:00
nickysn
1e28790e99 * fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
git-svn-id: branches/i8086@24036 -
2013-03-28 15:44:50 +00:00
nickysn
5cda24a0b6 * fixed a lot of int64 const bugs on 16/8-bit CPUs by changing typecasts from aint to tcgint
git-svn-id: branches/i8086@24019 -
2013-03-27 01:01:15 +00:00
nickysn
f780d37d5e * proper defines of aitconst_ptr, aitconst_ptr_unaligned and aitconst_aint for 16-bit and 8-bit CPUs
git-svn-id: branches/i8086@24015 -
2013-03-27 00:01:30 +00:00
nickysn
b79569ed2f * Borland Pascal compatibility for 16-bit CPUs: int16 shl int32 now produces int32; this fixes writeln(longint) on the i8086-msdos target
git-svn-id: branches/i8086@24011 -
2013-03-26 00:59:04 +00:00
nickysn
e16e08b2b6 + added CPU 286 nasm directive to the i8086 assembly output in order to catch 386+ instructions; the RTL now compiles without generating any 386+ instructions
git-svn-id: branches/i8086@24010 -
2013-03-26 00:57:38 +00:00
nickysn
53ad3fc662 + Str() handling in the compiler fixed for 16/8-bit CPU support
git-svn-id: branches/i8086@24009 -
2013-03-25 23:58:09 +00:00
nickysn
8fa9105151 + 16-bit and 8-bit CPU support added in the internal handling of read/readln/write/writeln
git-svn-id: branches/i8086@24007 -
2013-03-25 23:23:48 +00:00
nickysn
44ef72e1a4 * use the generic implementation of abs for the i8086
git-svn-id: branches/i8086@24004 -
2013-03-25 21:43:47 +00:00
nickysn
8d75441b6e * do not generate prefetchnt instructions on the i8086
git-svn-id: branches/i8086@24003 -
2013-03-25 19:18:18 +00:00
nickysn
f38114b34b * the result of FPC_SETJMP changed to 16-bit int on 16-bit CPUs
git-svn-id: branches/i8086@24001 -
2013-03-25 18:12:18 +00:00
nickysn
eefc9eed90 * do not use 'NEAR' conditional jumps on the i8086, because they are 386+
git-svn-id: branches/i8086@23993 -
2013-03-25 00:24:35 +00:00
nickysn
1f5d384a1e * i8086 fix in tx86casenode.genlinearlist
git-svn-id: branches/i8086@23990 -
2013-03-24 23:03:06 +00:00
nickysn
29c7d38e43 * 16-bit ALU fixes in tcgcasenode.genlinearcmplist
git-svn-id: branches/i8086@23989 -
2013-03-24 22:40:27 +00:00
nickysn
284f1c904a * fixed a parameter pushing order bug on the i8086
git-svn-id: branches/i8086@23986 -
2013-03-24 20:41:51 +00:00
nickysn
af5614e52d * i8086 parameter alignment fixes
git-svn-id: branches/i8086@23978 -
2013-03-24 20:15:39 +00:00
florian
8c882f4235 * revert accidently committed file
git-svn-id: branches/i8086@23974 -
2013-03-23 19:27:21 +00:00
florian
1f978ba9fe * 16 bit targets cannot use Word and Longint as array index
git-svn-id: branches/i8086@23973 -
2013-03-23 19:25:00 +00:00
nickysn
e944e142b8 * first_parm_offset is 4 on i8086, not 8
git-svn-id: branches/i8086@23970 -
2013-03-23 01:47:31 +00:00
nickysn
1646f53d59 * fixed the 'unresolved externals' linker error when smartlinking msdos executables
git-svn-id: branches/i8086@23968 -
2013-03-23 00:47:12 +00:00
nickysn
a1ee8ab9bc * suppress annoying wlib header
git-svn-id: branches/i8086@23967 -
2013-03-23 00:08:52 +00:00
nickysn
fb12778f0e + add static libraries to the wlink script for the msdos target
git-svn-id: branches/i8086@23966 -
2013-03-23 00:05:50 +00:00
nickysn
f2242568bb * msdos omf library suffix changed to .lib
git-svn-id: branches/i8086@23965 -
2013-03-22 23:47:36 +00:00
nickysn
ac64663e70 + openwatcom wlib support added
git-svn-id: branches/i8086@23964 -
2013-03-22 23:44:33 +00:00
florian
bac18a0094 * properly read asizeints from ppus on 16 bit targets
git-svn-id: branches/i8086@23939 -
2013-03-19 21:33:46 +00:00
florian
911ac847f7 * regenerated several automatically generated files after last changes
git-svn-id: branches/i8086@23936 -
2013-03-19 20:12:48 +00:00
florian
24f9d0d770 * cancel warning on i8086 because it stops compilation (the compiler is normally build with -Sew)
git-svn-id: branches/i8086@23933 -
2013-03-19 20:10:52 +00:00
florian
981570fe32 + added i8086 related stuff to compiler Makefile.fpc
git-svn-id: branches/i8086@23932 -
2013-03-19 20:09:45 +00:00
nickysn
7b9fd7b9f4 * instruction size fixes in tcg8086.g_intf_wrapper
git-svn-id: branches/i8086@23925 -
2013-03-18 13:07:05 +00:00
nickysn
c4cee15481 * bug fix in tcg8086.a_load_reg_reg for loading larger register to a smaller one
git-svn-id: branches/i8086@23914 -
2013-03-18 01:03:37 +00:00
nickysn
b930c9a0db * all the remaining cases of the 'in' operator fixed (hopefully) for i8086
git-svn-id: branches/i8086@23905 -
2013-03-17 20:38:44 +00:00
nickysn
8ca0b443b8 * another case of the 'in' operator fixed for i8086 ('x in const', when use_small=false and genjumps=false)
git-svn-id: branches/i8086@23903 -
2013-03-17 20:18:57 +00:00
nickysn
d7c9603351 * i8086 fixes for the 'in' operator in the case of 'unsigned,small,non_constant IN smallset'
git-svn-id: branches/i8086@23901 -
2013-03-17 17:40:15 +00:00
nickysn
e6c8ac6694 * use the generic tcgaddnode.second_addsmallset on i8086, because the BTx instructions are 386+
git-svn-id: branches/i8086@23895 -
2013-03-17 15:40:54 +00:00
nickysn
a68dfed450 * defutil.is_smallset updated for 8/16-bit CPUs
git-svn-id: branches/i8086@23894 -
2013-03-17 15:31:57 +00:00
nickysn
cbf3b14e20 * yet another 8/16-bit ALU fix in thlcg2ll.location_force_reg
git-svn-id: branches/i8086@23887 -
2013-03-17 12:55:06 +00:00
nickysn
43dba74a5c + implemented 64-bit shl and shr for i8086
git-svn-id: branches/i8086@23882 -
2013-03-17 02:11:25 +00:00
nickysn
fbc41991f9 * i8086 fixes in tcgx86.a_op_reg_reg for 16-bit OP_SHR,OP_SHL,OP_SAR,OP_ROL,OP_ROR
git-svn-id: branches/i8086@23881 -
2013-03-17 00:05:05 +00:00
nickysn
f75ff8cc26 + enable the div helper for i8086
git-svn-id: branches/i8086@23880 -
2013-03-16 23:20:18 +00:00
nickysn
a9640ad9c6 + insert type conversion for the div result when cpuneedsdiv32helper is used
git-svn-id: branches/i8086@23879 -
2013-03-16 23:12:39 +00:00
nickysn
1dbca4c403 * 16-bit ALU fixes in tmoddivnode.pass_typecheck
git-svn-id: branches/i8086@23878 -
2013-03-16 22:50:09 +00:00
florian
88455bbb02 * 32 bit comparison normally result in LOC_FLAGS on 16 bit CPUs
git-svn-id: branches/i8086@23875 -
2013-03-16 20:02:36 +00:00
florian
636129ed8c * fix interface wrapper generation for i8086
git-svn-id: branches/i8086@23873 -
2013-03-16 19:57:36 +00:00
florian
d6f0a1a0df * do not generate scaled indicies for case table jumps for i8086
git-svn-id: branches/i8086@23872 -
2013-03-16 19:52:53 +00:00
nickysn
5dd5add67a * proper implementation of ti8086addnode.second_cmp64bit
git-svn-id: branches/i8086@23871 -
2013-03-16 19:01:15 +00:00
nickysn
56d2830beb + implemented 32-bit comparisons on the i8086
git-svn-id: branches/i8086@23870 -
2013-03-16 18:13:11 +00:00
nickysn
a274e62724 + added defutil.is_32bit helper function, similar to is_64bit
git-svn-id: branches/i8086@23869 -
2013-03-16 17:54:52 +00:00
florian
edd4c1ce4b * proper fix to avoid sp relative adressing as r23867 tries
git-svn-id: branches/i8086@23868 -
2013-03-16 16:51:31 +00:00
nickysn
01106a0968 * support stack relative addresses in a_loadfpu_reg_ref on the i8086
git-svn-id: branches/i8086@23867 -
2013-03-16 16:05:38 +00:00