Цитата Сообщение от GM BIT Посмотреть сообщение
Такой процедуры нет, все делается ручками!!!
VNN правильно написал это только первоначально можно подправить 0-3 такта, остальное руками
зачем руками? есть такая процедура, все автоматом подстраивается, вот она:
Код:
FILTER: 
	DI
	LD 	HL,INT
	LD 	(#81FF),HL
	LD 	A,0
	LD 	(BUFF+4),A
	LD 	E,1
	LD 	HL,BUFF
	LD 	A,#81
	LD 	I,A
	IM 	2
	EI
	HALT

	CALL 	WAIT
	INC 	E
	CALL 	WAIT
	INC 	E
	CALL 	WAIT
	INC 	E
	DI

	LD 	BC,2749
	LD 	HL,(BUFF+1)
	EX 	DE,HL
	LD 	HL,(BUFF+3)
	LD 	A,H
	OR 	A
	JR 	NZ,F2

F0: 
	LD 	A,L
	CP 	4
	JR 	Z,DISP3
	LD 	A,D
	CP 	L
	JR 	Z,DISP2
	LD 	A,E
	CP 	D
	JR 	Z,DISP1
DISP0:
	NOP
	LD 	R,A
	LD 	R,A
F1:
	DEC 	BC
	LD 	A,B
	OR 	C
	JR 	NZ,F1
	RET
F2:
	LD 	E,D
	LD 	D,L
	LD 	L,H
	DEC 	BC
	DEC 	BC
	LD 	A,(HL)
	NOP
	JR 	F0
DISP1: 
	DEC 	BC
	NOP
	JR 	DISP0
DISP2: 
	JR 	DISP0

DISP3: 
	LD 	R,A
	LD 	A,(HL)
	JR 	DISP0
WAIT:
	LD 	BC,2753
W1: 
	DEC 	BC
	LD 	A,B
	OR 	C
	JR 	NZ,W1
	LD 	B,(HL)
	RET
INT: 
	LD 	(HL),E
	INC 	HL
	LD 	D,(HL)
	LD 	D,(HL)
	EI
	RET
BUFF: 
	DEFS 	5
расчитана разумеется на без-WAIT'овые машины. На WAIT'овых машинах свои способы, например на фирменном ULA достаточно HALT сделать перед прохождением строки paper'а.