Commit Graph

62 Commits

Author SHA1 Message Date
Pierre Muller
eae74aaee0 Follow sdas documentation for .ascii limitations by using only printable chars and .byte for others 2024-02-12 14:03:02 +00:00
florian
4867d48e99 + support for .debug_loc and .debuc_loclist sections 2024-01-16 23:24:37 +01:00
Sven/Sarah Barth
088c746d45 * reset written source lines once a section is encountered 2022-05-26 21:43:35 +02:00
Yuriy Sydorov
122ed4b76a * Support for sleb128 and uleb128 constants in the NASM writer.
* Added sleb128tostr() and uleb128tostr() methods to TExternalAssembler.
* Use these methods in assembler writers instead of code duplication.
2021-08-16 00:40:34 +03: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
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
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
921e73ab0c + add compiler support for the Z80 MSX-DOS target
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +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
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
86e04ddd5c + enable the sdasz80 lameness check permanently, because the system unit now
compiles, and it's important to catch other similar errors also

git-svn-id: trunk@45158 -
2020-04-28 19:34:38 +00:00
nickysn
6dbe1368ef + z80: added range checking for d in the (IX+d) and (IY+d) addressing modes in
the sdasz80 assembler writer, because sdasz80 silently truncates d to shortint
  which produces broken code and hides bugs in the z80 code generator. The check
  is behind ifdef, because the system unit doesn't compile, when this check is
  enabled, due to bugs that were previously unnoticed. When these bugs are
  fixed, the ifdef will be removed.

git-svn-id: trunk@45156 -
2020-04-28 18:49:50 +00:00
pierre
a506fe9560 Fix cross-compilation on aarch64-linux using -dFPC_SOFT_FPUX80 option
git-svn-id: trunk@45154 -
2020-04-28 18:35:53 +00:00
Károly Balogh
db1ef439b5 z80: sdasz80 won't do section smartlinking for us, but it's used for the zx spectrum target
git-svn-id: trunk@45151 -
2020-04-28 01:17:29 +00:00
nickysn
3a80895e34 * fixed section writing with smartlinking the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@45103 -
2020-04-26 15:35:03 +00:00
nickysn
3d81dd0b00 * ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
label length limit

git-svn-id: branches/z80@45085 -
2020-04-26 10:42:07 +00:00
nickysn
4165e3224a - removed some commented out code that won't be needed
git-svn-id: branches/z80@45084 -
2020-04-26 10:36:17 +00:00
nickysn
db4581041a * moved $EXTRAOPT before $OBJ
git-svn-id: branches/z80@45075 -
2020-04-25 16:42:31 +00:00
nickysn
3580c53b05 + enabled library-based smart linking for the ZX Spectrum target (not fully working yet)
git-svn-id: branches/z80@45071 -
2020-04-25 14:09:38 +00:00
nickysn
2e55f9f4ab + support ait_realconst in the SDCC-SDASZ80 asm output
git-svn-id: branches/z80@45067 -
2020-04-25 13:12:18 +00:00
nickysn
a8fe46c0f5 + introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
output label to that length

git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
nickysn
084b4187f8 * dollar sign changed to dollar in the SDCC-SDASZ80 asm output
git-svn-id: branches/z80@45065 -
2020-04-25 12:38:52 +00:00
nickysn
2bcd6f4c17 + apply ReplaceForbiddenAsmSymbolChars to all symbols in the SDCC-SDASZ80 assembler output
git-svn-id: branches/z80@45064 -
2020-04-25 12:38:23 +00:00
nickysn
168c009bc3 - removed the 'sdcc-' prefix of sdasz80 and sdldz80
git-svn-id: branches/z80@44900 -
2020-04-20 23:50:45 +00:00
nickysn
1813727faf + support addr_full in the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@44896 -
2020-04-20 21:38:31 +00:00
nickysn
a6e72713ad + support conditions in the Z80 inline assembler
git-svn-id: branches/z80@44885 -
2020-04-20 17:02:03 +00:00
nickysn
ed2c19293a - removed getopstr - unused function, causing warning
git-svn-id: branches/z80@44834 -
2020-04-19 04:54:38 +00:00
nickysn
fb9d7c1289 * fixed warning in agsdasz80
git-svn-id: branches/z80@44833 -
2020-04-19 04:52:33 +00:00
nickysn
35742f4d0d + write a comment for the CPU directive in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44812 -
2020-04-19 00:04:41 +00:00
nickysn
e86cd0df7a + handle ait_marker in the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@44811 -
2020-04-19 00:00:34 +00:00
nickysn
4e5eb7fa4e + implemented tcgz80.a_loadaddr_ref_reg for symbol references
git-svn-id: branches/z80@44682 -
2020-04-11 01:00:46 +00:00
nickysn
d8ca077c33 + add externals as .globl directives in the sdcc-sdasz80 assembler output
git-svn-id: branches/z80@44587 -
2020-04-04 23:15:57 +00:00
nickysn
c0b4e5c994 - removed the unused 's: topsize' parameter to TSdccSdasZ80Assembler.WriteOper
git-svn-id: branches/z80@44586 -
2020-04-04 23:04:35 +00:00
nickysn
1b06b649a7 * use is_calljmp to determine whether to use WriteOper_jmp in the sdcc-sdasz80 asm writer. This fixes
asm output for call instructions.

git-svn-id: branches/z80@44585 -
2020-04-04 23:03:13 +00:00
nickysn
ff655543ed + support conditional jumps in the sdcc-sdasz80 assembler writer
git-svn-id: branches/z80@44573 -
2020-04-04 17:05:49 +00:00
nickysn
d05a632616 + write jump operands (not all forms supported yet) in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44572 -
2020-04-04 16:59:14 +00:00
nickysn
4fe04ac53a * write references of the type (IX+const), (IY+const) as const(IX) or const(IY), since that appears to
be what sdcc-sdasz80 accepts

git-svn-id: branches/z80@44527 -
2020-04-03 01:33:41 +00:00
nickysn
e04d2acd6c + emit references with negative offsets correctly in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44525 -
2020-04-03 00:54:22 +00:00
nickysn
574fea7e63 + ait_tempalloc asm output for sdcc-sdasz80
git-svn-id: branches/z80@44523 -
2020-04-02 23:29:52 +00:00
nickysn
d7675c6c81 + support line info (-al) in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44509 -
2020-04-02 01:19:17 +00:00
nickysn
3893baabd8 + output nothing for ait_stab, ait_force_line and ait_function_name in the sdcc-sdasz80 asm writer
git-svn-id: branches/z80@44506 -
2020-04-02 00:50:49 +00:00
nickysn
c3ac9d06c8 + support ait_datablock in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44499 -
2020-04-01 22:13:47 +00:00
nickysn
fe5daf3d2f + initial implementation of top_ref reference output for sdcc-sdasz80
git-svn-id: branches/z80@44497 -
2020-04-01 22:08:22 +00:00
nickysn
b1ea62f5f6 + implemented ait_regalloc asm output for sdcc-sdasz80
git-svn-id: branches/z80@44491 -
2020-04-01 19:05:22 +00:00
nickysn
aeedb0022d + initial implementation of operand writing (registers and constants only for now)
git-svn-id: branches/z80@44488 -
2020-04-01 18:15:13 +00:00
nickysn
03ea93de87 + write eol after each instruction
git-svn-id: branches/z80@44484 -
2020-04-01 14:04:20 +00:00
nickysn
d682df8bcd + implemented ait_instruction at least for instructions without operands
git-svn-id: branches/z80@44476 -
2020-04-01 02:19:46 +00:00
nickysn
1d3f14f769 + implemented ait_align asm output for sdcc-sdasz80
git-svn-id: branches/z80@44475 -
2020-04-01 00:39:08 +00:00
nickysn
26549ed045 * use the :: and == operators to declare global labels, instead of .globl
git-svn-id: branches/z80@44473 -
2020-03-31 21:59:56 +00:00
nickysn
4bc09f91cb + initial support for ait_section
git-svn-id: branches/z80@44472 -
2020-03-31 21:09:50 +00:00