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 |
|
nickysn
|
573ea10ef3
|
* fixed val when the 'code' parameter is the same size as the native CPU int type, but unsigned
git-svn-id: branches/i8086@23859 -
|
2013-03-16 12:42:37 +00:00 |
|
nickysn
|
b178a038f5
|
* set the FileRec size for i8086
git-svn-id: branches/i8086@23858 -
|
2013-03-16 12:07:39 +00:00 |
|
nickysn
|
a0e683bed6
|
* set the proper TextRec size for i8086
git-svn-id: branches/i8086@23854 -
|
2013-03-16 10:45:57 +00:00 |
|
nickysn
|
f4b5b4ce0f
|
* implemented Trunc() and Round() for i8086
git-svn-id: branches/i8086@23852 -
|
2013-03-16 03:34:23 +00:00 |
|
nickysn
|
fdf831b4c6
|
* i8086 fix in tinlinenode.pass_typecheck for trunc and round
git-svn-id: branches/i8086@23849 -
|
2013-03-15 17:03:33 +00:00 |
|
nickysn
|
a66f7b61c6
|
* disable ret_in_param for floats, as they can be returned in a floating point register, and because enabling ret_in_param for them screws up badly the internprocs that handle floats
git-svn-id: branches/i8086@23840 -
|
2013-03-15 01:12:00 +00:00 |
|
nickysn
|
0683409703
|
+ added i8086 to the CpuAddrBitSize and CpuAluBitSize const arrays in the 'ppu' unit
git-svn-id: branches/i8086@23839 -
|
2013-03-15 00:10:05 +00:00 |
|
nickysn
|
7d212a7e79
|
* default to intel assembler for delphi/tp7 modes also on i8086
git-svn-id: branches/i8086@23838 -
|
2013-03-14 22:19:10 +00:00 |
|
nickysn
|
99212c0f9c
|
* define FPC_HAS_TYPE_EXTENDED for i8086; undefine FPC_INCLUDE_SOFTWARE_INT64_TO_DOUBLE
git-svn-id: branches/i8086@23837 -
|
2013-03-14 21:11:10 +00:00 |
|
nickysn
|
30d661734c
|
+ enable tprocdef.fpu_used for i8086 also
git-svn-id: branches/i8086@23835 -
|
2013-03-14 16:33:37 +00:00 |
|
nickysn
|
89de81d4a9
|
+ added n8086inl to the lazarus project ppc8086.lpi
git-svn-id: branches/i8086@23834 -
|
2013-03-14 16:31:34 +00:00 |
|
nickysn
|
e95d22d0f8
|
+ added ti8086inlinenode
git-svn-id: branches/i8086@23833 -
|
2013-03-14 15:15:32 +00:00 |
|
nickysn
|
44ce37369e
|
* support 32-bit parameters that have a pair of two 16-bit locations in tcg8086.a_load_reg_cgpara
git-svn-id: branches/i8086@23825 -
|
2013-03-14 13:07:06 +00:00 |
|
nickysn
|
e956ffc27b
|
* bug fix in the 32-bit parameters handling in tcg8086.a_load_const_cgpara
git-svn-id: branches/i8086@23824 -
|
2013-03-14 12:19:06 +00:00 |
|
nickysn
|
edc382aa76
|
* 16-bit ALU fixes in tshlshrnode.pass_typecheck
git-svn-id: branches/i8086@23817 -
|
2013-03-13 18:00:28 +00:00 |
|
nickysn
|
f048e3fd3b
|
+ support 16-bit pointers (i8086 near pointers) in defutil.def_cgsize
git-svn-id: branches/i8086@23816 -
|
2013-03-13 17:19:21 +00:00 |
|
nickysn
|
c438f3b53a
|
* 386 changed to 8086 in various class names and comments
git-svn-id: branches/i8086@23813 -
|
2013-03-12 23:22:52 +00:00 |
|
nickysn
|
ea282ab4b3
|
* many int64 fixes
git-svn-id: branches/i8086@23812 -
|
2013-03-12 23:18:36 +00:00 |
|
nickysn
|
79f43c22e9
|
* fixed passing of int64 constants as parameters
git-svn-id: branches/i8086@23811 -
|
2013-03-12 18:04:38 +00:00 |
|
nickysn
|
4e640511fb
|
* tcgunaryminusnode.second_64bit fixed for < 32-bit CPUs
git-svn-id: branches/i8086@23810 -
|
2013-03-12 16:27:26 +00:00 |
|
nickysn
|
d0c43f50f0
|
* fixed ti8086addnode.second_add64bit
git-svn-id: branches/i8086@23809 -
|
2013-03-12 16:25:44 +00:00 |
|
nickysn
|
8645d8e6cb
|
* fixed implementation of a_op64_reg_reg for i8086
git-svn-id: branches/i8086@23808 -
|
2013-03-12 16:24:28 +00:00 |
|
nickysn
|
4ea86a445e
|
* fixed functions returning int64 on i8086
git-svn-id: branches/i8086@23807 -
|
2013-03-12 15:09:24 +00:00 |
|
nickysn
|
763ed6835a
|
+ added n8086mat to the lazarus project
git-svn-id: branches/i8086@23806 -
|
2013-03-12 14:31:30 +00:00 |
|
nickysn
|
19cbff220e
|
+ added unit n8086mat, based on n386mat; TODO: adapt to i8086
git-svn-id: branches/i8086@23805 -
|
2013-03-12 14:30:26 +00:00 |
|
nickysn
|
8d2b7df6d6
|
* fixed functions returning longint on i8086
git-svn-id: branches/i8086@23803 -
|
2013-03-12 13:35:19 +00:00 |
|
nickysn
|
8d6017348a
|
* fixed the defines of OS_PAIR and OS_SPAIR for cpus with 16-bit or 8-bit ALU
git-svn-id: branches/i8086@23797 -
|
2013-03-12 01:00:40 +00:00 |
|
nickysn
|
d72d496478
|
* enable cpuneedsmulhelper for the 32-bit multiplication
git-svn-id: branches/i8086@23796 -
|
2013-03-11 23:43:00 +00:00 |
|
nickysn
|
2872fb95b5
|
* i8086 multiplication fixes; 16-bit multiplication now works; 32-bit still doesn't
git-svn-id: branches/i8086@23795 -
|
2013-03-11 22:31:17 +00:00 |
|
nickysn
|
ee005a9c1b
|
- rm forgotten debug writeln
git-svn-id: branches/i8086@23792 -
|
2013-03-11 20:41:09 +00:00 |
|
nickysn
|
48bba896a5
|
* cpu16bitalu fixes in tcgshlshrnode.second_integer
git-svn-id: branches/i8086@23791 -
|
2013-03-11 16:13:25 +00:00 |
|
nickysn
|
78cf362a90
|
* fixed passing of constant longint parameters
git-svn-id: branches/i8086@23788 -
|
2013-03-11 01:08:59 +00:00 |
|
nickysn
|
ec3d9ebc8a
|
wlink support added and made the default
git-svn-id: branches/i8086@23787 -
|
2013-03-10 21:41:59 +00:00 |
|
nickysn
|
da37d03dd7
|
alink support added and enabled by default
git-svn-id: branches/i8086@23784 -
|
2013-03-10 19:25:57 +00:00 |
|
florian
|
8c24a85462
|
* turn off stack frame stripping for i8086 for now, it cannot do sp relative addressing
git-svn-id: branches/i8086@23783 -
|
2013-03-10 18:53:49 +00:00 |
|
florian
|
b321f867c6
|
+ trgintcpu.add_cpu_interferences for i8086 so references are properly build
* empty make_simple_ref code path for i8086
git-svn-id: branches/i8086@23782 -
|
2013-03-10 18:51:42 +00:00 |
|
nickysn
|
28f8a8e51d
|
i8086-msdos linking with tlink support added
git-svn-id: branches/i8086@23781 -
|
2013-03-10 18:28:20 +00:00 |
|
nickysn
|
7d883e7d52
|
implemented tcg8086.g_flags2reg and g_flags2ref
git-svn-id: branches/i8086@23764 -
|
2013-03-09 23:45:42 +00:00 |
|
nickysn
|
8d346d162b
|
added n8086add.pas (copy of n386add.pas), TODO: adapt to i8086
git-svn-id: branches/i8086@23762 -
|
2013-03-09 23:17:23 +00:00 |
|
nickysn
|
a03f0d84ea
|
high level code generator: const types changed from aint to tcgint to avoid problems on < 32-bit cpus; ppcjvm should also be updated, but isn't yet
git-svn-id: branches/i8086@23761 -
|
2013-03-09 22:16:03 +00:00 |
|
nickysn
|
e2ba9f14e1
|
initial implementation of tcg8086.a_op_const_reg; supports 32-bit add, sub, and, or, xor
git-svn-id: branches/i8086@23759 -
|
2013-03-09 21:07:43 +00:00 |
|
nickysn
|
11f0b0b5aa
|
tlocation.value (for LOC_CONSTANTs) changed to TCGInt to avoid trouble on < 32-bit cpus
git-svn-id: branches/i8086@23758 -
|
2013-03-09 20:57:19 +00:00 |
|
nickysn
|
f5d8f0599f
|
applied fix from trunk for building with fpc 2.6.x on unix
git-svn-id: branches/i8086@23755 -
|
2013-03-09 18:35:24 +00:00 |
|
nickysn
|
c467035a1c
|
added group directive, so that the .data, .rodata and .bss sections go to the same segment
git-svn-id: branches/i8086@23754 -
|
2013-03-09 18:30:11 +00:00 |
|
nickysn
|
1937ef8300
|
implemented OP_SHL, OP_SHR and OP_SAR in tcg8086.a_op_reg_reg
git-svn-id: branches/i8086@23751 -
|
2013-03-09 17:14:00 +00:00 |
|
nickysn
|
588b12200b
|
16-bit ALU fix in tcgunaryminusnode.second_integer
git-svn-id: branches/i8086@23745 -
|
2013-03-09 15:13:08 +00:00 |
|
nickysn
|
4ac508a2b9
|
fixed bug in tunaryplusnode.pass_typecheck introduced in my previous commit r23737
git-svn-id: branches/i8086@23744 -
|
2013-03-09 14:05:09 +00:00 |
|
nickysn
|
63ac46c74c
|
16-bit ALU fixes in tunaryminusnode.pass_typecheck and tunaryplusnode.pass_typecheck
git-svn-id: branches/i8086@23743 -
|
2013-03-09 13:24:42 +00:00 |
|
nickysn
|
54d804d06e
|
implemented tcg8086.a_op_reg_reg with support for 32-bit neg,not,add,sub,and,or and xor
git-svn-id: branches/i8086@23742 -
|
2013-03-09 12:28:48 +00:00 |
|
nickysn
|
95b15d15bd
|
another nested ifdef cleaned up
git-svn-id: branches/i8086@23741 -
|
2013-03-09 11:35:42 +00:00 |
|
nickysn
|
981f0a5c6c
|
nested ifdefs converted to series of elseif + some other ifdefs cleaned up
git-svn-id: branches/i8086@23740 -
|
2013-03-09 11:25:25 +00:00 |
|
nickysn
|
ded6b87acc
|
16-bit and 8-bit ALU fixes for int types in taddnode.pass_typecheck_internal
git-svn-id: branches/i8086@23737 -
|
2013-03-09 01:12:48 +00:00 |
|
nickysn
|
a3295bd520
|
use ncgadd in cpunode
git-svn-id: branches/i8086@23736 -
|
2013-03-09 00:03:15 +00:00 |
|
nickysn
|
e4d66dd95c
|
i8086 fix for taddnode.pass_typecheck_internal and real types
git-svn-id: branches/i8086@23735 -
|
2013-03-08 22:56:50 +00:00 |
|
nickysn
|
1c08561525
|
added lpi for easy building the i8086 compiler with lazarus
git-svn-id: branches/i8086@23721 -
|
2013-03-08 00:39:14 +00:00 |
|
nickysn
|
5f7d432ff9
|
i8086 fixes in Tcgx86.g_concatcopy and TCGSize2OpSize
git-svn-id: branches/i8086@23720 -
|
2013-03-08 00:13:02 +00:00 |
|
nickysn
|
27e4048ed6
|
16-bit and 8-bit alu fix in thlcg2ll.location_force_reg
git-svn-id: branches/i8086@23719 -
|
2013-03-08 00:10:10 +00:00 |
|
nickysn
|
eff0894a66
|
all the extra i8086 units added
git-svn-id: branches/i8086@23718 -
|
2013-03-08 00:04:45 +00:00 |
|
nickysn
|
0684e783ae
|
added the files autogenerated from x86ins.dat; TODO: these are shared with i386, so move them to a common directory
git-svn-id: branches/i8086@23717 -
|
2013-03-07 23:34:07 +00:00 |
|
nickysn
|
6fb9e3cfa5
|
the basic i8086 units: cpuinfo and cpubase
git-svn-id: branches/i8086@23716 -
|
2013-03-07 23:09:03 +00:00 |
|
nickysn
|
72fcc2b9bd
|
added 'msdos' 16-bit real mode dos target
git-svn-id: branches/i8086@23715 -
|
2013-03-07 23:07:20 +00:00 |
|
nickysn
|
4440015db3
|
added i8086 specific adaptations to the NASM assembly writer
git-svn-id: branches/i8086@23714 -
|
2013-03-07 22:51:42 +00:00 |
|
nickysn
|
a4b1a9011b
|
i8086 specific stuff added to x86/cpubase.pas
git-svn-id: branches/i8086@23713 -
|
2013-03-07 22:49:35 +00:00 |
|
nickysn
|
a9809323dc
|
some more generic i8086 defines added
git-svn-id: branches/i8086@23712 -
|
2013-03-07 22:46:00 +00:00 |
|
nickysn
|
94e8690e2e
|
oops, forgot about systems.pas in the previous commit
git-svn-id: branches/i8086@23711 -
|
2013-03-07 22:40:52 +00:00 |
|
nickysn
|
44ffc298d5
|
cpu_i8086 and system_i8086_msdos added to the systems.inc enums
git-svn-id: branches/i8086@23710 -
|
2013-03-07 22:38:35 +00:00 |
|