Из журнала Adventurer #8, Рыбинск, 20.08.98  Иван Рощин, Москва, 1998 Предлагаю вашему вниманию небольшую (44 байта), но очень полезную процедуру OPEN_W , которая изображает на экране ок- но с рамкой. Ее нетрудно модифицировать, задав любые символы для изображения рамки и заполнения окна. При ее вызове в регистровой паре DE нужно задать координаты левого верхнего угла рамки, в регистре B - высоту, C ши- рину окна (в символах): +=========================+ | ^ | | |E | | D v | |<--->+-----------+ ^ | | | | | | | | | | | | | окно | |B | | | | | | | | | | | | | | | | | +-----------+ v | | <-----------> | | C | +=========================+ При использовании этой процедуры в вашей программе должна присутствовать и процедура печати одного символа. Предпо- лагается, что она называется PRSYM и при ее вызове в аккумуляторе указывается код печатаемого символа, а в DE - координаты печати (D=X, E=Y). После окончания работы процедуры PRSYM регистры не должны изме- няться. Текст процедуры PRSYM здесь не при- водится. В конце концов, если вам понадо- билось вывести окно и что-то в нем напе- чатать, то процедура печати символа у вас уже должна быть. OPEN_W LD A,"+" ;левый верхний угол рамки LD L,"+" ;правый верхний угол рамки CALL OPEN_W2 OPEN_W1 LD A,"|" ;вертикальная граница рамки LD H," " ;этим символом заполняется ;окно LD L,A CALL OPEN_W3 DJNZ OPEN_W1 LD A,"+" ;левый нижний угол рамки LD L,"+" ;правый нижний угол рамки OPEN_W2 LD H,"-" ;горизонтальная граница рамки OPEN_W3 PUSH DE CALL PRSYM INC D LD A,H LD H,C OPEN_W4 CALL PRSYM INC D DEC H JR NZ,OPEN_W4 LD A,L CALL PRSYM POP DE INC E RET * * *