nickysn
|
06f1b6a4e8
|
* moved the i8086 'push const' instructions to a new method, so they can be abstracted on pre-186 processors
git-svn-id: trunk@24380 -
|
2013-04-29 21:53:55 +00:00 |
|
nickysn
|
7c0679efdb
|
* use the 'leave' instruction on 80186+
git-svn-id: trunk@24378 -
|
2013-04-29 19:45:39 +00:00 |
|
nickysn
|
3853d06ac0
|
+ added n8086cal.pas, based on n386cal.pas; this pulls in nx86cal.pas as well and fixes compilation of the system unit on i8086 after the merge of the i8086 branch to trunk
git-svn-id: trunk@24335 -
|
2013-04-26 20:19:57 +00:00 |
|
nickysn
|
28c05c1ed5
|
* document the fact that ti8086paramanager.getintparaloc allocates a 16-bit parameter, and not a 32-bit one
git-svn-id: branches/i8086@24255 -
|
2013-04-15 22:08:11 +00:00 |
|
nickysn
|
8ce2f0c56b
|
- rm the i386 specific code from ti8086paramanager.ret_in_param
git-svn-id: branches/i8086@24239 -
|
2013-04-14 14:43:42 +00:00 |
|
nickysn
|
c916105db8
|
- rm ti8086procinfo.allocate_got_register as it isn't used on the i8086
git-svn-id: branches/i8086@24238 -
|
2013-04-14 14:35:51 +00:00 |
|
nickysn
|
97ca0fa323
|
- removed ti8086inlinenode.second_round_real, second_trunc_real and load_fpu_location as they mostly repeat the code in tx86inlinenode.load_fpu_location; tx86inlinenode.load_fpu_location adapted for i8086 instead
git-svn-id: branches/i8086@24237 -
|
2013-04-14 14:25:22 +00:00 |
|
nickysn
|
107a6f6552
|
* i8086 versions of i386*.inc and r386*.inc renamed to i8086*.inc and r8086*.inc
git-svn-id: branches/i8086@24232 -
|
2013-04-12 12:06:28 +00:00 |
|
nickysn
|
4d8adbf5ff
|
+ implemented Seg() for i8086 (small/tiny memory model)
git-svn-id: branches/i8086@24071 -
|
2013-03-30 13:04:58 +00:00 |
|
nickysn
|
af5614e52d
|
* i8086 parameter alignment fixes
git-svn-id: branches/i8086@23978 -
|
2013-03-24 20:15:39 +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
|
43dba74a5c
|
+ implemented 64-bit shl and shr for i8086
git-svn-id: branches/i8086@23882 -
|
2013-03-17 02:11:25 +00:00 |
|
florian
|
636129ed8c
|
* fix interface wrapper generation for i8086
git-svn-id: branches/i8086@23873 -
|
2013-03-16 19:57:36 +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 |
|
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
|
f4b5b4ce0f
|
* implemented Trunc() and Round() for i8086
git-svn-id: branches/i8086@23852 -
|
2013-03-16 03:34:23 +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
|
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
|
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
|
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
|
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
|
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
|
78cf362a90
|
* fixed passing of constant longint parameters
git-svn-id: branches/i8086@23788 -
|
2013-03-11 01:08:59 +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
|
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
|
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
|
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
|
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
|
a3295bd520
|
use ncgadd in cpunode
git-svn-id: branches/i8086@23736 -
|
2013-03-09 00:03:15 +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 |
|