Difference between revisions of "SDCC"
From MSX Game Library
Line 1: | Line 1: | ||
[[SDCC]] is the toolchain used in {{MSXGL}} to compile, assemble and link the sources files. | [[SDCC]] is the toolchain used in {{MSXGL}} to compile, assemble and link the sources files. | ||
+ | |||
+ | Supported version: | ||
+ | * Embedded: SDCC 4.2.0 | ||
+ | * Tested: SDCC 4.4.0 RC2 | ||
== Assembler == | == Assembler == | ||
− | The assembler, sdasz80, is based on ASxxxx cross assembles. | + | The assembler, '''sdasz80''', is based on ASxxxx cross assembles. |
sdasz80 syntax is almost standard except for: | sdasz80 syntax is almost standard except for: |
Revision as of 13:27, 22 January 2024
SDCC is the toolchain used in MSXGL to compile, assemble and link the sources files.
Supported version:
- Embedded: SDCC 4.2.0
- Tested: SDCC 4.4.0 RC2
Assembler
The assembler, sdasz80, is based on ASxxxx cross assembles.
sdasz80 syntax is almost standard except for:
- Define instructions numeral values: must be prefixed with # character.
- Define directive: must be prefix with . character.
- Access to IX and IY register using offset: offset have to be write before the register name into parentheses.
Standard | sdasz80 |
---|---|
; Numeral ld a, 100 and 01111100b ld lh, 1234h ; Directive db 100 dw 1234h ; IX/IY offset ld e, iy[0] ld d, iy[1] |
; Numeral ld a, #100 and #0b01111100 ld lh, #0x1234 ; Directive .db 100 .dw 0x1234 ; IX/IY offset ld e, 0(iy) ld d, 1(iy) |
Links
For more information: