nickysn
d7416afd88
* override sectiontype2align in the omf writer and set the same alignments as
...
the ones, currently produced by nasm
git-svn-id: trunk@30602 -
2015-04-15 08:31:06 +00:00
nickysn
955c29618a
+ support far calls and jumps in the internal asm writer
...
git-svn-id: trunk@30601 -
2015-04-15 00:12:40 +00:00
nickysn
a7e059c875
+ support segment relocations in the omf writer
...
git-svn-id: trunk@30600 -
2015-04-14 22:46:01 +00:00
Jeppe Johansen
65a69129c5
Add initial support for STM32F429 core
...
git-svn-id: trunk@30599 -
2015-04-14 21:55:37 +00:00
florian
e733efbbc2
* proper tavrprocinfo.calc_stackframe_size
...
git-svn-id: trunk@30597 -
2015-04-14 20:48:13 +00:00
florian
3d0b1020d7
* proper alignment constants for avr-embedded
...
git-svn-id: trunk@30596 -
2015-04-14 20:47:47 +00:00
florian
cf58a7ad60
* cosmetics
...
git-svn-id: trunk@30595 -
2015-04-14 20:47:26 +00:00
nickysn
f5ddd351fe
* allow use of the imm8 form of 16-bit instructions on i8086
...
git-svn-id: trunk@30594 -
2015-04-14 19:14:47 +00:00
florian
b84657980d
* make OS_INT/OS_SINT 8 Bit on avr, should work better on avr, resolves #27840
...
git-svn-id: trunk@30593 -
2015-04-14 18:51:21 +00:00
nickysn
07ebd29911
* fixed warning in TOmfRecord_MODEND.DecodeFrom
...
git-svn-id: trunk@30592 -
2015-04-14 18:41:41 +00:00
nickysn
e0be3e49ae
* when reading omf records (and subrecords), range check against
...
RawRecord.RecordLength instead of High(RawRecord.RawData)
git-svn-id: trunk@30591 -
2015-04-14 17:55:13 +00:00
Jeppe Johansen
f31f87e8c7
Fix spilling_get_operation_type for MRS and MSR instructions
...
git-svn-id: trunk@30590 -
2015-04-14 17:20:47 +00:00
nickysn
b4d044e1b2
+ implemented reading of MODEND omf records
...
git-svn-id: trunk@30589 -
2015-04-14 16:26:40 +00:00
nickysn
4e0c77fcf4
check and cause an internal error in TOmfRecord_PUBDEF.EncodeTo when trying to
...
write a 16-bit record with an entry with public offset > $ffff
git-svn-id: trunk@30588 -
2015-04-14 15:35:19 +00:00
nickysn
0e10290722
+ implemented writing a start address in a MODEND omf record
...
git-svn-id: trunk@30587 -
2015-04-14 15:24:51 +00:00
nickysn
d3cc0770ac
+ added properties for specifying a start address in the MODEND omf record (reading/writing them to file not yet implemented)
...
git-svn-id: trunk@30586 -
2015-04-14 14:55:06 +00:00
nickysn
bf0aaf5470
+ implemented TOmfRecord_PUBDEF.DecodeFrom
...
git-svn-id: trunk@30585 -
2015-04-14 14:08:27 +00:00
nickysn
cea67320bf
+ implemented TOmfRecord_EXTDEF.DecodeFrom
...
git-svn-id: trunk@30584 -
2015-04-14 13:40:46 +00:00
nickysn
10722abfac
+ implemented TOmfRecord_LNAMES.DecodeFrom
...
git-svn-id: trunk@30583 -
2015-04-14 13:32:12 +00:00
nickysn
64cb865417
* check record type in TOmfRecord_THEADR.DecodeFrom
...
git-svn-id: trunk@30582 -
2015-04-14 12:04:49 +00:00
nickysn
03e8c3ae05
+ support RELOC_RELATIVE relocations in the omf object writer, by using omf's
...
"self relative" (instead of "segment relative") fixups. "Hello world" and
fpctris in the small memory model now work (under dosbox, at least) with the
internal object writer.
git-svn-id: trunk@30581 -
2015-04-13 22:44:31 +00:00
nickysn
bd460eec43
* emit 16-bit addresses on i8086 for asm codes &64..&66 in the internal asm
...
git-svn-id: trunk@30580 -
2015-04-13 22:13:15 +00:00
florian
e559b9e3d6
+ tavrshlshrnode.second_integer, does not convert the right operand to a bigger type, resolves #27841
...
git-svn-id: trunk@30579 -
2015-04-13 20:57:37 +00:00
florian
8b7a449cf1
* clear r1 after 8 Bit multiplication, resolves #27838
...
git-svn-id: trunk@30578 -
2015-04-13 20:15:30 +00:00
nickysn
22fb1a3e7e
* converted all the magic nasm codes in the x86 internal asm writer from decimal
...
to octal in the compiler source, so they match the strings in x86ins.dat
git-svn-id: trunk@30566 -
2015-04-13 01:13:39 +00:00
Károly Balogh
68a25e154a
Amiga/MorphOS: enabled resource support, to match AROS in features
...
git-svn-id: trunk@30565 -
2015-04-13 00:49:00 +00:00
nickysn
fe30b53e95
* use 16-bit operand types for call/jmp immediate on i8086 in taicpu.create_ot
...
git-svn-id: trunk@30563 -
2015-04-12 23:53:15 +00:00
nickysn
a25a906d56
* i8086 internal asm fixes for the 0324 and 0361 asm codes
...
git-svn-id: trunk@30562 -
2015-04-12 22:56:28 +00:00
nickysn
38c17305d3
- removed tf_smartlink_sections flags from the msdos target
...
git-svn-id: trunk@30561 -
2015-04-12 22:11:21 +00:00
florian
fa6bea9bbb
* all the cg/hlcg routines take normally tcgint constants, so replace aint constants and casts in ncgset by tcgint ones
...
git-svn-id: trunk@30560 -
2015-04-12 20:32:37 +00:00
florian
4d01271944
* due to avr's harvard architecture, loads of code labels need to use the gs(...) macro
...
git-svn-id: trunk@30559 -
2015-04-12 20:29:13 +00:00
florian
1f20a52c85
* fix typo in comparison with constant code
...
git-svn-id: trunk@30556 -
2015-04-12 15:42:40 +00:00
florian
bd803769b8
* fix compilation
...
git-svn-id: trunk@30554 -
2015-04-12 14:58:41 +00:00
florian
9559dabe51
* function result is in r24:r25
...
git-svn-id: trunk@30549 -
2015-04-11 21:25:05 +00:00
florian
e34bd746ed
* patch by Jeppe Johanse to take care of the fact that push is post-decrement on avr
...
git-svn-id: trunk@30548 -
2015-04-11 20:59:27 +00:00
florian
1ef7e36f3c
* some fixes for handling parameters passed on the stack
...
git-svn-id: trunk@30545 -
2015-04-11 13:56:21 +00:00
florian
276d97f653
* generate better code for comparisons with constants
...
git-svn-id: trunk@30543 -
2015-04-11 13:52:29 +00:00
florian
e0b27e1688
* unified typing and ppu reading/writing of setdef fields regarding aint/asizeint
...
git-svn-id: trunk@30542 -
2015-04-11 11:36:01 +00:00
florian
4b7ae00620
* fixes several issues with parameter handling on avr
...
git-svn-id: trunk@30541 -
2015-04-11 11:13:20 +00:00
florian
03fa8336de
o several avr fixes
...
* handle function result of FPC_MUL_WORD correctly
* use mov ...,r1 to load a register with zero instead of clr ..., this might enable the register allocator to
coalesce these moves in the feature
* use tst/dec instead of cpi/sub in the shifting loops, this reduces register pressure on r16 and higher
git-svn-id: trunk@30540 -
2015-04-11 11:08:01 +00:00
florian
315d7d9725
+ do_spill_replace for avr
...
git-svn-id: trunk@30535 -
2015-04-10 22:14:36 +00:00
florian
f95d5e0de6
+ support 8 locations in gen_load_cgpara_loc
...
git-svn-id: trunk@30534 -
2015-04-10 20:33:11 +00:00
florian
6c19c18bc9
+ support 8 locations in splitparaloc64
...
git-svn-id: trunk@30533 -
2015-04-10 20:32:22 +00:00
nickysn
3dd914a7b9
+ write the proper external symbol index in the omf FIXUPP records. WLink no
...
longer crashes when processing our obj files :)
git-svn-id: trunk@30528 -
2015-04-09 23:33:22 +00:00
nickysn
d8f04418be
+ write EXTDEF records in the omf output file
...
git-svn-id: trunk@30527 -
2015-04-09 23:27:45 +00:00
nickysn
fd9e0d7266
* i8086 binary writer fixes for asm codes 0320..0322
...
git-svn-id: trunk@30526 -
2015-04-09 23:10:47 +00:00
nickysn
db5276af61
* i8086 binary writer fixes for asm codes 0300..0302
...
git-svn-id: trunk@30525 -
2015-04-09 22:56:47 +00:00
nickysn
0aa8e9d829
+ i8086 fixes in the binary writer for asm codes 0310 and 0311
...
git-svn-id: trunk@30524 -
2015-04-09 22:47:21 +00:00
nickysn
8597208ed9
* fixed emitting a 66h prefix for push/pop of segment registers on i8086 in the internal asm writer
...
git-svn-id: trunk@30523 -
2015-04-09 22:01:24 +00:00
florian
a4c7103033
* remove useless mov instructions
...
git-svn-id: trunk@30522 -
2015-04-09 21:57:02 +00:00