nickysn
|
511b1f37c1
|
* write the segment of aitconst_farptr on a separate line to avoid long symbol truncation, due to line length limit; this fixes compilation of sysutils in the medium memory model
git-svn-id: trunk@24879 -
|
2013-06-12 01:32:18 +00:00 |
|
nickysn
|
9dbbffba61
|
+ added trefaddr.addr_seg for referencing the segment of a symbol
git-svn-id: trunk@24859 -
|
2013-06-10 01:16:37 +00:00 |
|
nickysn
|
62316da236
|
* a_call_reg moved to a_call_reg_near
git-svn-id: trunk@24855 -
|
2013-06-09 22:09:39 +00:00 |
|
nickysn
|
e4a1230356
|
+ added support for far pointer constants in the assembly output
git-svn-id: trunk@24854 -
|
2013-06-09 22:01:04 +00:00 |
|
nickysn
|
604b7c9deb
|
+ added cg.a_call_ref_near and a_call_ref_far
git-svn-id: trunk@24853 -
|
2013-06-09 20:22:47 +00:00 |
|
nickysn
|
3631198b34
|
+ declare the text segment with class=code in the nasm header for far code memory models also
git-svn-id: trunk@24834 -
|
2013-06-09 13:01:40 +00:00 |
|
nickysn
|
9a6c242f97
|
+ emit proper far calls/jmps for addr_far in the nasm assembly output
git-svn-id: trunk@24833 -
|
2013-06-09 12:59:44 +00:00 |
|
nickysn
|
3280514d2b
|
* in i8086 far code models, put the code in a section called module_name+'_TEXT', so each unit gets a separate code segment
git-svn-id: trunk@24831 -
|
2013-06-09 12:26:33 +00:00 |
|
nickysn
|
b74af9fda0
|
* declare the text segment with class=code on i8086-msdos
git-svn-id: trunk@24830 -
|
2013-06-09 12:13:52 +00:00 |
|
nickysn
|
ec497ae11e
|
+ the regular tcgx86.a_call_name and .a_call_name_static moved to .a_call_name_near and .a_call_name_static_near, because a_call_name and a_call_name_static are going to be overriden in tcg8086
git-svn-id: trunk@24827 -
|
2013-06-09 10:42:39 +00:00 |
|
nickysn
|
2279e51a95
|
+ added trefaddr.addr_far for emitting far calls
git-svn-id: trunk@24826 -
|
2013-06-09 10:24:06 +00:00 |
|
nickysn
|
b409d600ee
|
+ implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
git-svn-id: trunk@24793 -
|
2013-06-02 23:02:10 +00:00 |
|
nickysn
|
90ecd72286
|
* x86_64 compilation fixed after r24752
git-svn-id: trunk@24755 -
|
2013-06-01 22:38:07 +00:00 |
|
nickysn
|
ec76b2cf40
|
* refactored the segment-in-integer-register reference support, so it's handled in make_simple_ref, instead of all over the place in the code generator
git-svn-id: trunk@24752 -
|
2013-06-01 22:18:09 +00:00 |
|
Jonas Maebe
|
2dd75e707e
|
* renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
git-svn-id: trunk@24743 -
|
2013-06-01 18:28:15 +00:00 |
|
nickysn
|
525246f61b
|
* support i8086 far references in tx86addnode.emit_op_right_left
git-svn-id: trunk@24737 -
|
2013-06-01 17:51:58 +00:00 |
|
nickysn
|
c9c882c30a
|
* always use 16-bit pushes for pushing/popping the segment registers on i8086 in Tcgx86.g_concatcopy
git-svn-id: trunk@24735 -
|
2013-06-01 17:49:49 +00:00 |
|
nickysn
|
e243b6b869
|
* never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there
git-svn-id: trunk@24729 -
|
2013-06-01 16:03:14 +00:00 |
|
nickysn
|
c2e3fb5918
|
+ emit proper interrupt procedure entry/exit code on i8086
git-svn-id: trunk@24728 -
|
2013-06-01 15:50:11 +00:00 |
|
Jonas Maebe
|
5051453806
|
+ support for LOC_(C)MMREGISTER in hlcg
o migrated location_force_mmregister_scalar from ncgutil to hlcgobj
git-svn-id: trunk@24661 -
|
2013-05-31 12:05:14 +00:00 |
|
nickysn
|
db5573b395
|
* fixed the nasm assembly output for SAR/SAL with a memory reference
git-svn-id: trunk@24656 -
|
2013-05-31 08:21:42 +00:00 |
|
nickysn
|
125a6a8720
|
* register id of (e)flags changed, so it doesn't overlap with dr0
git-svn-id: trunk@24647 -
|
2013-05-30 16:40:59 +00:00 |
|
Jonas Maebe
|
d6180b1e70
|
* properly propagate PIC-related suffixes from the x86 assembler reader in
case the operand was parsed as a symbol
git-svn-id: trunk@24638 -
|
2013-05-30 12:20:48 +00:00 |
|
nickysn
|
1797c8b803
|
* i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now
git-svn-id: trunk@24634 -
|
2013-05-30 10:16:05 +00:00 |
|
nickysn
|
de345ac191
|
* added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets
git-svn-id: trunk@24619 -
|
2013-05-26 10:53:42 +00:00 |
|
nickysn
|
533bd30094
|
* some more i8086 bug fixes in tx86innode.pass_generate_code
git-svn-id: trunk@24618 -
|
2013-05-26 09:08:28 +00:00 |
|
nickysn
|
967e10ea95
|
* i8086 fixes in tx86innode.pass_generate_code
git-svn-id: trunk@24617 -
|
2013-05-25 22:46:50 +00:00 |
|
nickysn
|
f3ad9ce9ce
|
* i8086 fixes in tx86typeconvnode.second_int_to_bool; this fixes tcnvint2.pp
git-svn-id: trunk@24615 -
|
2013-05-25 21:19:55 +00:00 |
|
nickysn
|
b43c4c4aca
|
* i8086 fixes in tx86typeconvnode.second_int_to_real
git-svn-id: trunk@24606 -
|
2013-05-25 16:37:41 +00:00 |
|
nickysn
|
2b583bb265
|
* do not use fsin and fcos on 286-, since they're 387+
git-svn-id: trunk@24596 -
|
2013-05-25 15:24:53 +00:00 |
|
nickysn
|
09249b31b8
|
* use the generic implementation of second_IncludeExclude in case the cpu is earlier than 386, since then it does not support BTR and BTS
git-svn-id: trunk@24593 -
|
2013-05-25 14:18:55 +00:00 |
|
florian
|
2ec15deaba
|
* more readable register allocation comments
git-svn-id: trunk@24585 -
|
2013-05-24 19:03:50 +00:00 |
|
nickysn
|
fd429612f8
|
+ initial (and not yet fully complete) implementation of far pointers on the i8086
git-svn-id: trunk@24553 -
|
2013-05-22 16:26:33 +00:00 |
|
nickysn
|
f571aebdd0
|
* tx86pointertyp moved from unit symdef to symconst, so it can be used by ppudump
git-svn-id: trunk@24547 -
|
2013-05-21 14:18:48 +00:00 |
|
nickysn
|
b9084a22ca
|
* in the nasm writer only declare labels as global if they have labsym.bind=AB_GLOBAL; this fixes compilation of i8086-msdos programs that use multiple units
git-svn-id: trunk@24529 -
|
2013-05-19 17:51:29 +00:00 |
|
nickysn
|
ecb5a4866d
|
* refactored the int64 result passing in ax:bx:cx:dx to use 4 paralocs, instead of the GetNextReg hack
git-svn-id: trunk@24527 -
|
2013-05-19 12:50:15 +00:00 |
|
nickysn
|
9f0c23bd4c
|
* fixed round() on i8086 after r24502
git-svn-id: trunk@24503 -
|
2013-05-15 00:45:08 +00:00 |
|
nickysn
|
3665ed4b03
|
+ enabled returning int64 in ax:bx:cx:dx for the i8086
git-svn-id: trunk@24502 -
|
2013-05-14 22:45:57 +00:00 |
|
nickysn
|
6b2f59c3e0
|
+ preparations for returning int64 in ax:bx:cx:dx on i8086
git-svn-id: trunk@24498 -
|
2013-05-14 22:19:17 +00:00 |
|
nickysn
|
e2cd2813ce
|
+ stop with an internal error if GetNextReg is called with a non-imaginary register
git-svn-id: trunk@24493 -
|
2013-05-13 22:34:13 +00:00 |
|
nickysn
|
92afd7cccd
|
+ R_SUBH support added in x86/aasmcpu.spilling_create_load and spilling_create_store
git-svn-id: trunk@24477 -
|
2013-05-09 14:10:45 +00:00 |
|
nickysn
|
2a9d38d878
|
+ proper spilling support for R_SUBH (i.e. AH,BH,CH,DH) x86 registers in trgx86.do_spill_replace
git-svn-id: trunk@24476 -
|
2013-05-09 11:57:00 +00:00 |
|
nickysn
|
0a8e008a0d
|
+ the ES register made volatile on i8086 as per the 16-bit x86 calling conventions
git-svn-id: trunk@24462 -
|
2013-05-07 14:27:21 +00:00 |
|
nickysn
|
b0f7786782
|
+ added support for special versions of near data pointers associated with a x86 segment register. They are supported on all x86 platforms: i8086, i386 and x86_64
git-svn-id: trunk@24453 -
|
2013-05-05 17:22:37 +00:00 |
|
nickysn
|
fe275c4f47
|
* set nasm cpu type according to the current cpu level set by -Cp
git-svn-id: trunk@24402 -
|
2013-05-01 15:47:23 +00:00 |
|
nickysn
|
4c95592e08
|
* don't use 'fnstsw ax' if the current cpu level is below 286
git-svn-id: trunk@24401 -
|
2013-05-01 15:42:02 +00:00 |
|
nickysn
|
e4f3dd1264
|
* do not emit shl/shr with a const different than 1 on 8086
git-svn-id: trunk@24382 -
|
2013-04-29 23:02:09 +00:00 |
|
nickysn
|
99d3b453a4
|
* got rid of the i8086 nasm warning 'segment attributes specified on redeclaration of segment'
git-svn-id: trunk@24336 -
|
2013-04-26 22:17:42 +00:00 |
|
florian
|
0e41df598e
|
* merge i8086 branch by Nikolay Nikolov
git-svn-id: trunk@24324 -
|
2013-04-25 20:23:51 +00:00 |
|
florian
|
926dd1b41e
|
* command line compilation of i8086 fixed
git-svn-id: branches/i8086@24291 -
|
2013-04-21 18:32:09 +00:00 |
|