Antipod, пока ничего дельного не придумал.
Вид для печати
Antipod, пока ничего дельного не придумал.
2Aprisobal
реализовано... правда, не через ##, а через '_'.
измененные сорцы ( по отношению к 1.07-rc7 ) прилагаются - tables.zip.
из ридми:
там уже, ессесна, на твое усмотрение включать в проект или нет.Цитата:
short sample:
-----
macro MyMacro arg
call arg_f
endm
MyMacro test
-----
will be expanded to:
-----
call test_f
-----
комментарии приветствуются.
Как средствами SjAsmPlus сохранить басик с автостартом? А то монолоадер без автостарта - это не гут.
2Aprisobal
расширена функциональность:
сорцы, исходник на котором тестировалось, и виндозный бинарник прилагаются.Код:short sample:
-----
macro MyMacro arg0, arg1
call arg0_f
call arg0_arg1
call arg1_arg0
endm
MyMacro abc, def
-----
will be expanded to:
-----
call abc_f
call abc_def
call def_abc
-----
2All
прошу протестировать бинарник на совместимость с оригинальной версией и сообщить о багах. Спасибо заранее.
2Aprisobal
пофиксил некоторые баги, файлы обновил. Теперь работает как мне надо.
Мож мне кто-то ответит на мой вопрос?
если мне не изменяет память, автозагрузка зависит от адреса в описателе файла, вот кусок от Doors где генериться 100% автозагружаемый басик:
Код:DEVICE ZXSPECTRUM128
DEFINE KERNEL_KAY
;DEFINE KERNEL_SCORP
;DEFINE KERNEL_ATM
EMPTYTRD "../bin/doors.trd"
;MODULE MonoLoader
org #6000
bootBegin
include "bootloader/boot.asm"
bootEnd
org #4000
DISP 23867
Basic db #00,#00 ; basic number string [#00,#01]
dw EndBasic-Begin ; size of basic string
Begin db #FD ; "CLEAR" token
db #30 ; "0" fake numeber
db #0e,#00,#00
dw #5fff ; real stack (CLEAR) [#5fb3]
db #00
db #3a ; ":"
db #f9 ; "RANDOMIZE" token
db #c0 ; "USR" token
db #30 ; "0" fake numeber
db #0e,#00,#00
dw #5d53 ; real call (USR) [#5d53]
db #00
db #3a ; ":"
db #ea ; "REM" token
include "bootloader/basicboot.asm"
db #D
EndBasic
ENT
SAVETRD "../bin/doors.trd","boot.B",16384,EndBasic-Basic
SAVETRD "../bin/doors.trd","bootcode.C",bootBegin,bootEnd-bootBegin