1
0
mirror of https://github.com/KarolS/millfork.git synced 2026-04-20 03:16:45 +00:00

6502: software BCD, increase default zpreg to 4

This commit is contained in:
Karol Stasiak
2018-08-03 13:06:23 +02:00
parent 30aa62ceaf
commit 388ceb8b3a
22 changed files with 698 additions and 117 deletions
+4 -2
View File
@@ -74,12 +74,14 @@ Default: native if targeting 65816, no otherwise.
`.ini` equivalent: `prevent_jmp_indirect_bug`.
Default: no if targeting a 65C02-compatible architecture or a non-6502 architecture, yes otherwise.
* `-fzp-register`, `-fno-zp-register` Whether should reserve 2 bytes of zero page as a pseudoregister.
* `-fzp-register`, `-fno-zp-register` Whether should reserve 4 bytes of zero page as a pseudoregister.
Increases language features.
`.ini` equivalent: `zeropage_register`.
Default: yes if targeting a 6502-based architecture, no otherwise.
* `-fdecimal-mode`, `-fno-decimal-mode` Whether decimal mode should be available.
* `-fdecimal-mode`, `-fno-decimal-mode`
Whether hardware decimal mode should be used (6502 only).
If disabled, a sofware decimal mode will be used.
`.ini` equivalent: `decimal_mode`.
Default: no if targeting Ricoh, yes otherwise.
+5 -3
View File
@@ -47,7 +47,8 @@ Default: the same as `encoding`.
* `emit_65816` which 65816 instructions should the compiler emit, either `no`, `emulation` or `native`
* `decimal_mode` whether the compiler should emit decimal instructions, default is `false` on `ricoh` and `strictricoh` and `true` elsewhere
* `decimal_mode` whether the compiler should emit decimal instructions, default is `false` on `ricoh` and `strictricoh` and `true` elsewhere;
if disabled, a software decimal mode will be used
* `ro_arrays` whether the compiler should warn upon array writes, default is `false`
@@ -59,8 +60,9 @@ Default: the same as `encoding`.
* `lunix` generate relocatable code for LUnix/LNG, default is `false`
* `zeropage_register` reserve 2 bytes of zero page as a pseudoregister to increase language features.
Default: `true` if targeting a 6502-based architecture, `false` otherwise.
* `zeropage_register` reserve a certain amount of bytes of zero page as a pseudoregister to increase language features.
Default: `4` if targeting a 6502-based architecture, `0` otherwise.
`true` is a synonym of the current compiler default (currently: 4) and `false` is a synonym for 0.
* `inline` - inline functions automatically by default, default is `false`.