Commit Graph

39572 Commits

Author SHA1 Message Date
nickysn
ceb76808e7 + implemented the CSeg, DSeg and SSeg functions on the i8086
git-svn-id: branches/i8086@24041 -
2013-03-28 21:29:14 +00:00
nickysn
db07a990a9 * also save BP in FPC_INTR
git-svn-id: branches/i8086@24040 -
2013-03-28 21:26:44 +00:00
nickysn
cd18b792ab + added Intr and MsDos implementations for i8086-msdos
git-svn-id: branches/i8086@24037 -
2013-03-28 18:17:25 +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
252903175c * TExceptAddr.frametype changed to SmallInt on 16-bit CPUs, since the compiler allocates 3*sizeof(pint) for the whole structure (and using longints on 16-bit CPUs is wasteful anyway)
git-svn-id: branches/i8086@24035 -
2013-03-28 15:34:38 +00:00
nickysn
3b2ea4df6c + implmemented FPC_LONGJMP for i8086
git-svn-id: branches/i8086@24034 -
2013-03-28 14:59:57 +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
f1a974f3c9 * THandle type changed to Word for i8086-msdos
git-svn-id: branches/i8086@24016 -
2013-03-27 00:14:41 +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
b2fc6a2f6d + basic implementation of do_isdevice for msdos
git-svn-id: branches/i8086@24014 -
2013-03-26 18:58:00 +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
4dfbf148f2 + added Str() helpers for 32-bit ints for 16/8-bit CPUs
git-svn-id: branches/i8086@24008 -
2013-03-25 23:55:47 +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
697de721ef + added write/writeln helpers in the RTL for writing longints/longwords on 16/8-bit CPUs
git-svn-id: branches/i8086@24006 -
2013-03-25 23:21:42 +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
5ea6f37247 + implemented FPC_SETJMP for the i8086
git-svn-id: branches/i8086@24002 -
2013-03-25 18:12:48 +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
e3ce68612c + very simple implementation of do_write for i8086-msdos. 'Hello World' now works!!!
git-svn-id: branches/i8086@23992 -
2013-03-24 23:30:31 +00:00
nickysn
f24f119822 * SysInitStdIO doesn't crash anymore on the i8086, so enable it in the msdos system unit initialization
git-svn-id: branches/i8086@23991 -
2013-03-24 23:05:48 +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
florian
feed492568 * fixes to compile objpas i8086
git-svn-id: branches/i8086@23972 -
2013-03-23 18:27:46 +00:00
nickysn
7db978c3a4 * mark the registers, modified by DebugWriteLn's asm code
git-svn-id: branches/i8086@23971 -
2013-03-23 02:14:52 +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
7fec59c454 - remove the FULL_RTL ifdefs from the msdos system unit; full rtl is always enabled now
git-svn-id: branches/i8086@23969 -
2013-03-23 00:49:48 +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
228f2d2794 + build msdos rtl
git-svn-id: branches/i8086@23937 -
2013-03-19 20:23:55 +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
b508be843a * BINUTILSPREFIX for i8086-msdos is msdos only
git-svn-id: branches/i8086@23935 -
2013-03-19 20:12:11 +00:00
florian
a52a1b62b4 + CPU target i8086 in top level Makefile.fpc
git-svn-id: branches/i8086@23934 -
2013-03-19 20:11:30 +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
florian
2350ad5f2a + msdos and i8086 target for fpmake
git-svn-id: branches/i8086@23931 -
2013-03-19 20:09:04 +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