self-build linker.

will also build with merlin 16+, other than USR differences.
This commit is contained in:
Kelvin Sherlock 2020-01-05 18:31:35 -05:00
parent b45553c992
commit 8d66e85d2c
4 changed files with 117 additions and 12 deletions

View File

@ -1,10 +1,10 @@
put link.vars
put link.eval
put linker.1
put linker.2
put link.errors
* put link.vars
* put link.eval
* put linker.1
* put linker.2
* put link.errors
ovr all
asm link.header
lnk utility/qlinkgs.l
lnk qlinkgs.l
typ exe
sav utility/qlinkgs
sav qlinkgs

View File

@ -1140,7 +1140,10 @@ indexj da 5*2 ; these indexes is crucial
array da 1,1,2,3,5,8,13,21,54,75,129,204
da 323,527,850,1377,2227
do 0
* Illegal relative address in line:
err *-array-34
fin
seed php
rep %00110000

View File

@ -11,9 +11,12 @@
doexpress = $01
use 4/util.macs
use qatools.macs
use 2/qa.equates
use ../macros/builtin.macs
use ../macros/qatools.macs
use ../data/qa.equates
use link.macs
brl start
@ -497,5 +500,5 @@ tempbuff ds 130
lst off
typ exe
sav utility/qlinkgs.l
sav qlinkgs.l

99
src/link/link.macs.s Normal file
View File

@ -0,0 +1,99 @@
_DisposeHandle MAC
tll $1002
<<<
_DisposeAll MAC
tll $1102
<<<
_NewHandle MAC
tll $902
<<<
_GetHandleSize MAC
tll $1802
<<<
_SetHandleSize MAC
tll $1902
<<<
_HLock MAC
tll $2002
<<<
_HUnlock MAC
tll $2202
<<<
_setmark MAC
jsl $e100a8
da $16
adrl ]1
<<<
_getmark MAC
jsl $e100a8
da $17
adrl ]1
<<<
_getprefix MAC
jsl $e100a8
da $0a
adrl ]1
<<<
_create MAC
jsl $e100a8
da $01
adrl ]1
<<<
_destroy MAC
jsl $e100a8
da $02
adrl ]1
<<<
_changepath MAC
jsl $e100a8
da $04
adrl ]1
<<<
_setfileinfo MAC
jsl $e100a8
da $05
adrl ]1
<<<
_getfileinfo MAC
jsl $e100a8
da $06
adrl ]1
<<<
_open MAC
jsl $e100a8
da $10
adrl ]1
<<<
_read MAC
jsl $e100a8
da $12
adrl ]1
<<<
_write MAC
jsl $e100a8
da $13
adrl ]1
<<<
_close MAC
jsl $e100a8
da $14
adrl ]1
<<<
_seteof MAC
jsl $e100a8
da $18
adrl ]1
<<<
opc mac
usr ]1
dw ]2
dw ]3
<<<