
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 2
d4loc           dw      7e7eh
d4locd          dw      -2

d4len           db      1
d4lend          db      1
d4color         db      7fh

;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; CODE
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p40:
        mov bp,d4loc
        mov edi,ebp
        mov esi,ebp
        movzx edx,d4len
        mov ecx,edx
        mov al,41h
        sub al,dl
        cmp al,40h
        adc al,3fh
        mov ah,al
p40l0:
        mov fs:[di],ax
        mov fs:[si],ax
        mov fs:[di+256],ax
        mov fs:[si+256],ax
        add di,202h
        sub si,1feh
        dec ecx
        jnz p40l0
        mov ecx,edx
        dec ecx
        jz short p40f0
        sub di,400h
        add si,400h
p40l1:
        mov fs:[di],ax
        mov fs:[si],ax
        mov fs:[di+256],ax
        mov fs:[si+256],ax
        sub di,1feh
        add si,202h
        dec ecx
        jnz p40l1

p40f0:
        add bp,d4locd
        add dl,d4lend
        jnz short p40f1
        mov bp,7e7eh
        mov dl,1
        mov d4locd,-2
        mov d4lend,1
        push offset setnext
        jmp short p40d
p40f1:
        cmp dl,42h
        jb short p40d
        mov bp,0fe7eh
        mov dl,41h
        mov d4locd,2
        mov d4lend,-1
p40d:
        mov d4loc,bp
        mov d4len,dl
        ret

