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. | ||
+ | |||
+ | == Assembler == | ||
The assembler, sdasz80, is based on ASxxxx cross assembles. | The assembler, sdasz80, is based on ASxxxx cross assembles. | ||
Line 43: | Line 45: | ||
|} | |} | ||
− | Links: | + | == Links == |
+ | |||
+ | For more information: | ||
* [http://sdcc.sourceforge.net/doc/sdccman.pdf SDCC documentation] | * [http://sdcc.sourceforge.net/doc/sdccman.pdf SDCC documentation] | ||
* [https://shop-pdp.net/ashtml/asmlnk.pdf ASxxxx documentation] | * [https://shop-pdp.net/ashtml/asmlnk.pdf ASxxxx documentation] |
Revision as of 13:26, 22 January 2024
SDCC is the toolchain used in MSXGL to compile, assemble and link the sources files.
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: