pierre
0cc91a50c7
Fix z80 compiler failure after change to ConcatConstSymbol in commit #47668
...
git-svn-id: trunk@47675 -
2020-12-03 11:05:36 +00:00
pierre
48271b880c
Add {$i fpcdefs.inc} to units that do not have that include
...
git-svn-id: trunk@47599 -
2020-11-26 10:34:02 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
Károly Balogh
aa745e0319
z80: re-enabled af_smartlink_sections for vasm which is required for the vasm + vlink combo, partially reverting r46916
...
git-svn-id: trunk@46979 -
2020-09-27 22:55:59 +00:00
Károly Balogh
7c195d2062
z80: cleaned up some tabs vs. spaces indentation mess in the vasm writer. no functional change.
...
git-svn-id: trunk@46978 -
2020-09-27 22:52:06 +00:00
pierre
74e83e9d8b
Disable af_smartlink_sections option for Z80 vasm and z80asm assemblers, as it leads to errors
...
git-svn-id: trunk@46916 -
2020-09-22 15:44:15 +00:00
yury
6e777d8967
* ait_comment,ait_regalloc,ait_tempalloc,ait_varloc instructions produce only comments in the external assembler output. Moved handling of these instructions to TExternalAssembler.WriteComments().
...
This eliminates code duplication and improves maintainability.
git-svn-id: trunk@46550 -
2020-08-22 19:53:39 +00:00
florian
28f25b2df0
* reworked usage of tcgnotnode.handle_locjump
...
git-svn-id: trunk@46275 -
2020-08-05 21:15:32 +00:00
florian
1d3ed354de
* patch by J. Gareth Moreton: unifies internalerrors, resolves #37471
...
git-svn-id: trunk@46234 -
2020-08-04 20:51:52 +00:00
Jonas Maebe
eb7ba1690e
* mark all external assemblers using an LLVM tool using af_llvm
...
+ added support for constructing target triplets
* pass "-target triplet" when using an LLVM assembler
o removed no longer needed $DARWINVERSION and $ARCH parameters
* consistently use as_clang_gas when clang is used to assembler GAS-style
assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
* support pipe assembling when using clang on *nix in all cases
git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
pierre
dfdfbf896d
Fix several warnings about uninitialized local variables
...
git-svn-id: trunk@45787 -
2020-07-15 08:59:59 +00:00
Károly Balogh
cc23515927
z80: vasm doesn't support the JRJP pseudo instruction, so change it to JP during write
...
git-svn-id: trunk@45663 -
2020-06-20 16:51:15 +00:00
nickysn
09bd361b48
+ support the OFFSET directive in the Z80 inline assembler reader
...
git-svn-id: trunk@45618 -
2020-06-07 22:17:10 +00:00
nickysn
c90f78488c
+ added the 'AREA' directive support to the Z80 inline assembler, that allows
...
you to define custom sections
git-svn-id: trunk@45617 -
2020-06-07 20:47:37 +00:00
svenbarth
c793f42271
+ add intrinsics for Z80 port IN/OUT
...
git-svn-id: trunk@45607 -
2020-06-07 12:24:59 +00:00
svenbarth
921e73ab0c
+ add compiler support for the Z80 MSX-DOS target
...
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
svenbarth
b2d6c36e70
+ add support for DEFB and DEFW directives to the internal assembler reader
...
git-svn-id: trunk@45591 -
2020-06-06 17:15:53 +00:00
nickysn
996ab2feba
* renamed some REL sections to follow a similar naming convention
...
git-svn-id: trunk@45566 -
2020-06-02 22:44:57 +00:00
nickysn
d88da03e7d
* z80: use the JRJP pseudo instruction to generate shorter code (it is
...
translated to JR wherever possible, otherwise to JP)
git-svn-id: trunk@45510 -
2020-05-26 19:52:27 +00:00
nickysn
c49213c561
+ Z80: implemented the JRJP pseudo instruction in the Z80 internal asm writer
...
git-svn-id: trunk@45502 -
2020-05-25 22:40:41 +00:00
nickysn
195e7e0918
* translate jrjp to jp in the sdcc-sdasz80 asm writer
...
git-svn-id: trunk@45498 -
2020-05-25 16:29:31 +00:00
nickysn
f71b6f341b
+ added JRJP to various instruction lists
...
git-svn-id: trunk@45497 -
2020-05-25 16:12:06 +00:00
nickysn
c5d04d1a54
+ Z80: added the JRJP pseudo instruction
...
git-svn-id: trunk@45496 -
2020-05-25 15:53:51 +00:00
nickysn
56632b720c
+ Z80: handle the flags register in TAoptBaseCpu.RegModifiedByInstruction
...
git-svn-id: trunk@45452 -
2020-05-20 21:21:26 +00:00
nickysn
88b6bbe6cc
* compilation fixed after r45450
...
git-svn-id: trunk@45451 -
2020-05-20 21:02:46 +00:00
nickysn
cc47a49c81
+ Z80: handle all instructions that modify registers, that are not an operand in TAoptBaseCpu.RegModifiedByInstruction
...
git-svn-id: trunk@45450 -
2020-05-20 20:57:59 +00:00
nickysn
2507c1ace6
* Reg1ReadDependsOnReg2 moved to TAoptBaseCpu
...
* use Reg1ReadDependsOnReg2 in TAoptBaseCpu.RegModifiedByInstruction to handle properly Z80 subregisters
git-svn-id: trunk@45449 -
2020-05-20 20:20:10 +00:00
nickysn
edcc14a5ce
* Z80: JR can be both conditional and uncoditional jump, just like JP
...
git-svn-id: trunk@45411 -
2020-05-17 23:38:23 +00:00
nickysn
13028db5a4
- z80: disable regvars, because they don't work
...
git-svn-id: trunk@45402 -
2020-05-17 14:38:57 +00:00
nickysn
63af4e173d
+ z80: handle all instructions in TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@45391 -
2020-05-16 20:33:44 +00:00
nickysn
5502d6cc58
+ Z80: report the flags usage for all the remaining instructions in TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@45390 -
2020-05-16 19:58:37 +00:00
nickysn
f0edd62b88
+ Z80: report flags register information in TCpuAsmOptimizer.RegLoadedWithNewValue for 16-bit ADD,ADC,SBC,INC and DEC
...
git-svn-id: trunk@45373 -
2020-05-16 00:03:54 +00:00
nickysn
37b607143a
+ handle the flags register bits for many Z80 instructions in TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@45366 -
2020-05-14 22:44:48 +00:00
nickysn
4beb4bf8b2
+ Z80: support the flags subregisters in the registers_interfere function
...
git-svn-id: trunk@45347 -
2020-05-12 01:58:10 +00:00
nickysn
c6c834949f
+ Z80: support all the flags subregisters in super_registers_equal
...
git-svn-id: trunk@45346 -
2020-05-12 01:47:58 +00:00
nickysn
fe12026959
+ support the LD instruction in TCpuAsmOptimizer.RegLoadedWithNewValue
...
git-svn-id: trunk@45345 -
2020-05-11 23:55:23 +00:00
nickysn
bb4d7a7a50
+ Z80: implemented TCpuAsmOptimizer.InstructionLoadsFromReg
...
git-svn-id: trunk@45344 -
2020-05-11 22:24:20 +00:00
nickysn
4abc498f2f
+ added the Z80 individual flag bits as subregisters
...
git-svn-id: trunk@45342 -
2020-05-11 19:17:31 +00:00
nickysn
4263ff44c1
+ Z80: added a registers_interfere helper function
...
git-svn-id: trunk@45338 -
2020-05-11 15:29:42 +00:00
nickysn
5947adcd7b
+ added a correct implementation of TAOptBase.SuperRegistersEqual for the Z80
...
git-svn-id: trunk@45337 -
2020-05-11 14:21:26 +00:00
nickysn
06a728df24
+ added the alternate Z80 register pairs BC', DE' and HL'
...
git-svn-id: trunk@45333 -
2020-05-11 04:23:02 +00:00
nickysn
9ce97e6ba5
+ also recognize alternate registers in the Z80 inline asm scanner. This allows
...
the "EX AF,AF'" instruction to be accepted and assembled as well.
git-svn-id: trunk@45332 -
2020-05-11 00:55:32 +00:00
nickysn
b581751ef3
- cleaned up some x86-specific code from the Z80 inline asm reader
...
git-svn-id: trunk@45331 -
2020-05-11 00:46:24 +00:00
nickysn
75ce122d36
- removed commented out writeln
...
git-svn-id: trunk@45290 -
2020-05-06 03:24:15 +00:00
nickysn
bface9fd94
- reverted previous commit, since it was incorrect
...
git-svn-id: trunk@45287 -
2020-05-06 00:44:35 +00:00
nickysn
0caba1e84d
+ added internal error in taicpu.gencode.WriteNN to catch unhandled asm instructions
...
git-svn-id: trunk@45286 -
2020-05-06 00:38:55 +00:00
nickysn
0d402a1341
+ support signed 8-bit immediate constants in the Z80 internal asm writer as well
...
git-svn-id: trunk@45284 -
2020-05-06 00:13:10 +00:00
nickysn
11a7b8592f
+ support instructions like BIT, SET and RES in the Z80 internal asm writer
...
git-svn-id: trunk@45283 -
2020-05-06 00:10:17 +00:00
nickysn
6764056eff
+ support the 'in A,(n)' and 'out (n),A' instrunction in the Z80 internal asm writer
...
git-svn-id: trunk@45282 -
2020-05-05 23:58:54 +00:00
nickysn
c81f433795
+ Z80: support conditional JR
...
git-svn-id: trunk@45281 -
2020-05-05 23:49:41 +00:00