Commit Graph

43463 Commits

Author SHA1 Message Date
nickysn
ce87e72721 * show an error if the user attempts to create a dos .com file in an i8086
memory model other than tiny

git-svn-id: trunk@28081 -
2014-06-26 22:52:57 +00:00
Károly Balogh
5276de5627 m68k: restored orglen variable to g_concatcopy which was actually used, but still got removed in r28072
git-svn-id: trunk@28080 -
2014-06-26 19:46:57 +00:00
nickysn
82d393014b + added a test for the tiny memory layout
git-svn-id: trunk@28079 -
2014-06-26 17:38:38 +00:00
nickysn
835fb1d157 + added memory layout tests for the small and medium memory models
git-svn-id: trunk@28078 -
2014-06-26 17:30:32 +00:00
Károly Balogh
3028f3ac78 m68k: disabled PEA debug comment accidentally left in
git-svn-id: trunk@28077 -
2014-06-26 16:50:42 +00:00
Károly Balogh
d93e7b3367 m68k: cleaned ancient silly debug mess from a_loadaddr_ref_reg. no functional changes.
git-svn-id: trunk@28076 -
2014-06-26 16:47:55 +00:00
Károly Balogh
1388cb9bae m68k: implemented a proper a_loadaddr_ref_cgpara instead of the disabled mess in the source, utilizing the PEA instruction
git-svn-id: trunk@28075 -
2014-06-26 16:39:17 +00:00
nickysn
57de15e071 + added checks for the Program Segment Prefix's relative position to the code
segment in the compact and large memory layout tests

git-svn-id: trunk@28074 -
2014-06-26 09:58:12 +00:00
nickysn
be0afd9625 + added checks for the pointer and procvar sizes in the compact and large memory
layout tests

git-svn-id: trunk@28073 -
2014-06-26 09:20:51 +00:00
sergei
4c3eb391ef * m68k: cleaned out unused variables in cgcpu.pas
* Fixed reference strength in a_call_reg.

git-svn-id: trunk@28072 -
2014-06-26 08:27:38 +00:00
Jeppe Johansen
857a849173 Added an additional check to the MulAdd2MLA optimization. The operands of the multiplication weren't checked.
git-svn-id: trunk@28071 -
2014-06-26 06:05:08 +00:00
sergei
3ffa32a660 - m68k: removed garbage (tab characters, commented out code, unused variables, debug output and alike). Functionality unchanged.
git-svn-id: trunk@28070 -
2014-06-26 06:01:29 +00:00
nickysn
f7dd4f640a - rm the 'Memory allocation error' and 'Not enough memory' error messages from
the compact and large model startup code, since they're not used (we rely on
  the DOS loader to check for the available memory instead)

git-svn-id: trunk@28069 -
2014-06-25 23:16:55 +00:00
nickysn
dc17b55505 * switch to asmmode_i8086_intel instead of asmmode_i386_intel on i8086 when tp
or delphi mode is selected. This fixes the error "Selected assembler reader
  not supported" in programs that specify $mode tp/delphi, but do not explicitly
  set $asmmode intel.

git-svn-id: trunk@28068 -
2014-06-25 22:02:03 +00:00
nickysn
ce4f9577d7 * seges prefix and lodsb instruction put on the same line for better readability
git-svn-id: trunk@28067 -
2014-06-25 21:07:25 +00:00
nickysn
9b560ffd64 * x86 intel syntax inline asm: allow a segment override (segcs,segds,seges,etc.)
to be followed by an instruction on the same line as the override

git-svn-id: trunk@28066 -
2014-06-25 21:06:19 +00:00
nickysn
2f83e2efc9 * use 'seges' instead of db 26h. It is actually supported, but for some reason,
unlike TP7's inline asm, in FPC it doesn't work on the same line as 'lodsb'.

git-svn-id: trunk@28065 -
2014-06-25 18:07:24 +00:00
sergei
ad59098457 + m68k: initial implementation of g_stackpointer_alloc method, it has to exist for targets with non-fixed stack.
git-svn-id: trunk@28064 -
2014-06-25 17:43:37 +00:00
nickysn
ec55340359 * i8086 far data memory model fixes in get_caller_addr and get_caller_frame
git-svn-id: trunk@28063 -
2014-06-25 16:47:56 +00:00
nickysn
ba5ececab9 * i8086 far data memory model fixes in the int 0 (div by zero) handler
git-svn-id: trunk@28062 -
2014-06-25 16:46:58 +00:00
nickysn
d00c67f9d3 * limit the heap to 16kb in the i8086 far data memory models for the dos unit
tests that execute a child process. Otherwise, by default, all DOS memory is
  reserved in these memory models, there's no DOS memory left for the child
  process and exec() fails.

git-svn-id: trunk@28061 -
2014-06-25 13:43:44 +00:00
nickysn
a9ddf18779 + call SwapVectors before and after Exec under FPC as well. SwapVectors is
implemented on two FPC platforms (go32v2 and msdos). On the platforms that
  don't need it, it does nothing, so it's safe to call on all platforms.

git-svn-id: trunk@28060 -
2014-06-25 13:35:11 +00:00
nickysn
e7e02467fc * fixed bug in MsDos and Intr in i8086 far data memory models not cleaning their
parameters from the stack properly (leaving an extra word on the stack)

git-svn-id: trunk@28059 -
2014-06-25 12:33:03 +00:00
nickysn
47588a287d * ifdef i8086 changed to ifdef cpui8086 in dosh.inc, because that's part of the
rtl, not the compiler

git-svn-id: trunk@28058 -
2014-06-25 10:28:29 +00:00
lacak
96a3a667c5 fcl-db: tests: fix of previous commit
git-svn-id: trunk@28057 -
2014-06-25 09:55:46 +00:00
nickysn
0d4edf118e + added upper limits to the heapmin and heapmax values set by the $M directive
git-svn-id: trunk@28056 -
2014-06-25 09:33:04 +00:00
lacak
9d5c2717c8 fcl-db: tests:
- remove unused variables
- fix tests for Oracle - first test Values and then Field type

git-svn-id: trunk@28055 -
2014-06-25 09:05:59 +00:00
sergei
1e9f57467d - m68k: removed "-dNOOPT" at build time, enabling the branch optimizer. Not tested thoroughly, but it does not change compiler behavior unless "-O1" or higher is supplied at command line.
git-svn-id: trunk@28054 -
2014-06-25 09:03:48 +00:00
Károly Balogh
531ac093ed m68k: implemented a simple a_cmp_const_ref_label. uses TST instruction to test ref contents against zero
git-svn-id: trunk@28053 -
2014-06-25 06:56:58 +00:00
sergei
c79cd3beca * m68k: fixed/completed the inverse_cond function.
git-svn-id: trunk@28052 -
2014-06-25 05:23:30 +00:00
nickysn
9f31fcc2ca + added support for HeapMax in the far data i8086 memory models as well
git-svn-id: trunk@28051 -
2014-06-24 22:54:54 +00:00
nickysn
3952f8830c + added test for the i8086 compact model memory layout
git-svn-id: trunk@28050 -
2014-06-24 19:48:37 +00:00
lacak
da4fc8aca2 fcl-db: tests: small correction of previous commit
git-svn-id: trunk@28049 -
2014-06-24 13:58:12 +00:00
yury
defc13f9ec * pas2jni: Fixed enums, added equals() methods to objects, enums and sets.
git-svn-id: trunk@28048 -
2014-06-24 13:57:31 +00:00
nickysn
23b0cf2340 * msdos system unit variable dos_psp renamed PrefixSeg for TP7 compatibility
git-svn-id: trunk@28047 -
2014-06-24 10:58:59 +00:00
yury
a27ea85560 * pas2jni: Fixed the Pointer() support function.
git-svn-id: trunk@28046 -
2014-06-24 10:52:14 +00:00
lacak
41e8a0da2c fcl-db: tests:
- add TestSupportDateTimeFields 
- small rework for Oracle case

git-svn-id: trunk@28045 -
2014-06-24 10:41:21 +00:00
lacak
dac058e462 fcl-db: oracle: let EOraDatabaseError descend from ESQLDatabaseError instead of EDatabaseError
git-svn-id: trunk@28044 -
2014-06-24 09:52:13 +00:00
yury
045429327b * pas2jni: Handle null objects in the Pointer() support function.
git-svn-id: trunk@28043 -
2014-06-24 09:49:09 +00:00
nickysn
db011dfb7a + added a warning if HeapMax<HeapMin is specified with the $M directive
git-svn-id: trunk@28042 -
2014-06-24 09:16:03 +00:00
lacak
742faaed92 fcl-db: oracle:
- bind date and datetime params using Oracle external data type SQLT_TIMESTAMP instead of SQLT_ODT to support fraction seconds
- introduce support for ftBlob and ftMemo params, but only with max.length up to 64K

git-svn-id: trunk@28041 -
2014-06-24 08:57:37 +00:00
nickysn
57b233e724 + added test for the memory layout of the i8086 large memory model
git-svn-id: trunk@28040 -
2014-06-23 21:08:51 +00:00
nickysn
1910177cf0 + added heapmax support to the $M directive on i8086-msdos. It is currently
only implemented in the near data memory models. The far data models support
  is still a TODO.

git-svn-id: trunk@28039 -
2014-06-23 20:17:17 +00:00
marco
bcd13a856d * Some convenience permission constants, patch by Graeme #26373
git-svn-id: trunk@28038 -
2014-06-23 15:35:43 +00:00
nickysn
924a48d440 * fixed test tb0212.pp to check for 2-byte alignment instead of 4-byte on 16-bit
CPUs

git-svn-id: trunk@28037 -
2014-06-23 10:09:14 +00:00
lacak
da041f9ae6 fcl-db: oracle: map TIMESTAMP data type to SQLT_TIMESTAMP instead of SQLT_ODT to have fraction seconds
git-svn-id: trunk@28036 -
2014-06-23 09:03:37 +00:00
sergei
4b5736a381 + Added test for Mantis #20456. The issue itself was fixed in the meantime.
git-svn-id: trunk@28035 -
2014-06-23 03:58:58 +00:00
sergei
e367ccc0ee * MIPS: changed superregister number for $fcc0..$fcc7 to start from 32, so that range 0..31 can be used without translating into symbolic names.
* Change register type of second operand in CTC1 and CFC1 instructions to R_SPECIALREGISTER, so it is not output using a symbolic name. Mantis #26380.

git-svn-id: trunk@28034 -
2014-06-22 22:01:44 +00:00
nickysn
95449a3fd4 * fixed yet another dos_psp<>dgroup bug in the startup code for .exe files in
the tiny memory model

git-svn-id: trunk@28033 -
2014-06-22 20:12:55 +00:00
nickysn
3164a10d9d * fixed a bug in the startup code for tiny memory model, which caused the
program MCB address not to be calculated correctly, when the program is a tiny
  model .exe file, leading to possible memory corruption. Previously, the code
  assumed that dos_psp=CS, but that's only true for tiny .com files; tiny .exe
  files have a 256-byte gap between dos_psp and CS.

git-svn-id: trunk@28032 -
2014-06-22 11:06:57 +00:00