Цитата Сообщение от alone Посмотреть сообщение
Можно ли в сабже провернуть следующее? (Пример из ALASM - \0 тут первый параметр макроса.)
Если да, то как?

MACRO GETREALFRQ
CALL chn\0volumer ;не портит DE
chn\0frq=$+1
LD HL,0
chn\0glisson=$
CALL chn\0glisser ;не портит DE
LD A,H ;HL=frq
SUB E;_tmin+(_wmin*_div) ;минимальный период
JNC $+3
XOR A
ADD A,E;_tmin+(_wmin*_div)
LD (bch\0t),A ;realfrq
SUB _tmin ;CY=0
RRA
SRL A
LD C,A
LD A,(chn\0volH)
CP C
JC $+4
LD A,C
DEC A
SUB D;1
ADC A,D;1
LD (bch\0w1),A
;imp0=realfrq/div-imp1
SUB C
NEG
LD (bch\0w0),A
ENDM
можно. Если переделать в такое:
Код:
	macro GETREALFRQ param
	CALL param_volumer ;не портит DE
param_frq=$+1
	LD HL,0
param_glisson=$
	CALL param_glisser ;не портит DE
	LD A,H ;HL=frq
	SUB E;_tmin+(_wmin*_div) ;минимальный период
	JNC $+3
	XOR A
	ADD A,E;_tmin+(_wmin*_div)
	LD (param_t),A ;realfrq
	SUB _tmin ;CY=0
	RRA
	SRL A
	LD C,A
	LD A,(param_volH)
	CP C
	JC $+4
	LD A,C
	DEC A
	SUB D;1
	ADC A,D;1
	LD (param_w1),A
	;imp0=realfrq/div-imp1
	SUB C
	NEG
	LD (param_w0),A
	endm
вопрос встал тут:
http://zx.pk.ru/showpost.php?p=157080&postcount=260
добавлено в официальную версию тут:
http://zx.pk.ru/showpost.php?p=163066&postcount=283
имплементация где-то между этими двумя постами.