CursorPos: dw 1E00h ; Y/X позиция курсора (экран. коорд.) ;----------------------------------------------------------- ; Курсор объекта "Input Line" и функции "Command Line" ;----------------------------------------------------------- PrnILCr:db 3Eh ; ld a,.. Timer: db 1 ; пауза мигания dec a call z,PutILCr ld (Timer),a ret PutILCr:db 3Eh ; ld a,.. Flag: db 0 ; флаг курсора 00-нет/01-есть cpl ld (Flag),a PILCurs:ld de,(CursorPos) ; Y/X позиция курсора ld (CursPos1+1),de xor a ld c,0B4h ; получить символ rst 08h ld bc,1BB5h ; b=знакоген., с=символ на экран ld a,(Flag) or a jr z,curs__ ld b,1Ah ; черта ld a,(D0642) ; флаги клавы bit 1,a ; бит Ins jr nz,$+4 ld b,19h ; блок curs__: xor a ; номер окна rst 08h ld a,1 ld (CurILFl),a ; a=1 ld a,11 ret ; Выключить курсор ResILCr:db 3Eh ; ld a,.. CurILFl:db 0 ; флаг курсора 00-выкл/01-вкл or a ret z ld a,-1 ld (Flag),a inc a ld (CurILFl),a ld a,11 ld (Timer),a CursPos1: ld de,0 ; Y/X полож. bit 7,e ret nz ld c,0B4h ; получить символ xor a rst 08h xor a ld bc,1BB5h ; символ на экран rst 08h ret