SYMBOLS {
__LOADADDR__: type = import;
__EXEHDR__: type = import;
}
MEMORY {
LOADADDR: file = %O, start = $07FF, size = $0002;
HEADER: file = %O, start = $0801, size = $000C;
RAM: file = %O, define = yes, start = $080D, size = $C000;
}
SEGMENTS {
LOADADDR: load = LOADADDR, type = ro;
EXEHDR: load = HEADER, type = ro;
STARTUP: load = RAM, type = ro;
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
}
a program zaczyna się tak:
.export __LOADADDR__,__EXEHDR__
.segment "LOADADDR"
__LOADADDR__=$0801
.byt <__LOADADDR__,>__LOADADDR__
.segment "EXEHDR"
__EXEHDR__:
.byt $0b,$08,$40,$00,$9e,"2060",$00,$00
.segment "CODE"
; "hello world" (test.atl @20)