mirror of
https://github.com/KarolS/millfork.git
synced 2024-10-25 05:24:11 +00:00
Typo fixes
This commit is contained in:
parent
f7247ab7d8
commit
fdcf3dc8c8
@ -11,7 +11,7 @@ Variables in Millfork can belong to one of the following storage classes:
|
|||||||
* parameter: function parameters
|
* parameter: function parameters
|
||||||
|
|
||||||
Variables can also belong to one of the following memory segments
|
Variables can also belong to one of the following memory segments
|
||||||
(unless overriden with the `@` operator):
|
(unless overridden with the `@` operator):
|
||||||
|
|
||||||
* zeropage: all `pointer` variables and parameters
|
* zeropage: all `pointer` variables and parameters
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
## Verbosity options
|
## Verbosity options
|
||||||
|
|
||||||
* `-q` – Supress all messages except for errors.
|
* `-q` – Suppress all messages except for errors.
|
||||||
|
|
||||||
* `-v`, `-vv`, `-vvv` – Increase verbosity, various levels.
|
* `-v`, `-vv`, `-vvv` – Increase verbosity, various levels.
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ To call an external function, you need to declare it as `asm extern`. For exampl
|
|||||||
asm void putchar(byte a) @$FFD2 extern
|
asm void putchar(byte a) @$FFD2 extern
|
||||||
```
|
```
|
||||||
|
|
||||||
The function parameter will be passwed via the accumulator,
|
The function parameter will be passed via the accumulator,
|
||||||
the function itself is located in ROM at $FFD2. A call like this:
|
the function itself is located in ROM at $FFD2. A call like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -31,7 +31,7 @@ It is possible to make a safe nested call to a non-nesting safe function, provid
|
|||||||
|
|
||||||
* the function cannot modify its parameters
|
* the function cannot modify its parameters
|
||||||
|
|
||||||
* the non-nested parameters have to have the same values in all co-occuring calls: `f(5, f(5, 6, 7), 7)`
|
* the non-nested parameters have to have the same values in all co-occurring calls: `f(5, f(5, 6, 7), 7)`
|
||||||
|
|
||||||
In all other cases, the nested call may cause undefined behaviour.
|
In all other cases, the nested call may cause undefined behaviour.
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ Since most automatic variables will be overwritten by the inner call, the functi
|
|||||||
|
|
||||||
In all other cases, the recursive call may cause undefined behaviour.
|
In all other cases, the recursive call may cause undefined behaviour.
|
||||||
|
|
||||||
The easiest, but unoptimal way to make a function recursion-safe is to make all local variables stack-allocated
|
The easiest, but suboptimal way to make a function recursion-safe is to make all local variables stack-allocated
|
||||||
and assigning all parameters to variables as soon as possible. This is slow though, so don't do it unless really necessary.
|
and assigning all parameters to variables as soon as possible. This is slow though, so don't do it unless really necessary.
|
||||||
|
|
||||||
## Interrupt safety
|
## Interrupt safety
|
||||||
|
@ -15,7 +15,7 @@ Millfork puts extra limitations on which types can be used in which contexts.
|
|||||||
* `ubyte` – unsigned 1-byte value
|
* `ubyte` – unsigned 1-byte value
|
||||||
|
|
||||||
* `pointer` – the same as `word`, but variables of this type default to be zero-page-allocated
|
* `pointer` – the same as `word`, but variables of this type default to be zero-page-allocated
|
||||||
and you can index `pointer` variables (not abritrary `pointer`-typed expressions though, `f()[0]` won't compile)
|
and you can index `pointer` variables (not arbitrary `pointer`-typed expressions though, `f()[0]` won't compile)
|
||||||
|
|
||||||
Functions cannot return types longer than 2 bytes.
|
Functions cannot return types longer than 2 bytes.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user