Commit Graph

39588 Commits

Author SHA1 Message Date
nickysn
47342630e0 + allocate space for stack and heap dynamically on program startup for i8086-msdos
git-svn-id: branches/i8086@24063 -
2013-03-30 00:36:31 +00:00
florian
9edacdc9b4 + mem declarations
git-svn-id: branches/i8086@24060 -
2013-03-29 16:02:46 +00:00
florian
5ab9742c22 + start of dos unit (derived from go32v2)
* adapated Makefiles

git-svn-id: branches/i8086@24059 -
2013-03-29 15:58:21 +00:00
nickysn
102f929e99 - do not initialize the flags register on entry to the interrupt in the Intr/MsDos procedure (which is the TP-compatible behavior)
git-svn-id: branches/i8086@24058 -
2013-03-29 15:50:57 +00:00
nickysn
b61a9ba6a6 + implemented GetProcessID for i8086-msdos (returns the PSP)
git-svn-id: branches/i8086@24057 -
2013-03-29 15:23:32 +00:00
florian
1ab42714c3 + fix compilation by adding a Int32 type, no sure why it is needed
git-svn-id: branches/i8086@24055 -
2013-03-29 15:15:12 +00:00
florian
fef7832790 * enable absolute for i8086-msdos
git-svn-id: branches/i8086@24054 -
2013-03-29 15:13:29 +00:00
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
cac6ac38d0 + added RTL helpers for Val() for longint/dword on 16/8-bit CPUs
git-svn-id: branches/i8086@24048 -
2013-03-29 01:19:14 +00:00
nickysn
8b6b832677 + added helper functions for read/readln longint/longword on 16/8-bit cpus
git-svn-id: branches/i8086@24047 -
2013-03-28 23:56:47 +00:00
nickysn
9b79c52f32 * fixed bug in FPC_INTR and FPC_MSDOS
git-svn-id: branches/i8086@24046 -
2013-03-28 22:49:14 +00:00
nickysn
d8af51fdab + implemented do_read for i8086-msdos
git-svn-id: branches/i8086@24045 -
2013-03-28 22:22:47 +00:00
nickysn
1077093b08 + added error checking to the dos file operations
git-svn-id: branches/i8086@24044 -
2013-03-28 22:03:13 +00:00
nickysn
c76b459324 * implemented the MsDos function with an asm prequel to the Intr function
git-svn-id: branches/i8086@24043 -
2013-03-28 21:41:55 +00:00
nickysn
7b578f3e9c * reimplemented do_write and do_isdevice in Pascal, using the MsDos procedure
git-svn-id: branches/i8086@24042 -
2013-03-28 21:35:21 +00:00
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