.286
.model large,PASCAL
.code
JUMPS ;automaticky generuje misto napr jnz,coz je near jmp navesti a far jmp
;nemusi se to rozepisovat
.stack 1024
.data
include _def.inc
;include _test.inc
;include _DODELAT.INC
;tyto promenny nejsou ani v _def.inc. Je mozne je kdykoliv menit a pouzivat misto registru
pom_cas dw 0
pom_byte db 0
pom_word dw 0
Pom_dup db 64000 dup (?) ;i pro obr. pamet
;Pom_dup2 db 1024*16 dup (?) ;i pro obr. pamet
pom_boolean dw 0
pom_adr dw 0
Circle_Rval DW ?
Circle_X1 DW ?
Circle_Y1 DW ?
mP db 0
.code
start:
jmp zacatek
include _graph.inc
include _text.inc
INCLUDE _SYS.INC
include _proc.inc
include _file.inc
;______________________________________________________________________________________________
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
;--------------------------------------------
Copy_Video_Mem Macro policko,kolik_byte
PushA
mov cx,kolik_byte
mov si,0a000h
mov ds,si
xor si,si
mov di,@data
mov es,di
mov di,offset policko
rep movsb ; z DS:SI -> ES:DI; opakoj CX krat
PopA
endM
;--------------------------------------------
Paste_Video_Mem Macro policko,kolik_byte
PushA
mov cx,kolik_byte
mov di,0a000h
mov es,di
xor di,di
mov si,@data
mov ds,si
mov si,offset policko
rep movsb ; z DS:SI -> ES:DI; opakoj CX krat
PopA
endM
;--------------------------------------------
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;*************************************************
zacatek:
printS_endln Txt_nazev
pause
CALL BEEP
getvideomode ;ve video_mode vysledek 1
call STARTmouse
init_320x200
mouse_stat m_xp,m_Yp,m_b
; get_m_pozadi m_xp,m_yp
; SET_M_CURSOR m_xp,m_yp
set_m_xy 100,100
get_pixel m_xp,m_yp,Mp
xchg ax,cx
pause
pixel m_xp,m_yp,5
@myska:
mouse_stat m_x,m_y,m_b
cmp m_b,1
je @vyskok ;pokud zmackl button
mov ax,m_xp
mov bx,m_yp
cmp ax,m_x
jne @delej
cmp bx,m_y
jne @delej
jmp @preskok
@delej:
; SET_M_pozadi m_xp,m_yp
; pixel m_xp,m_yp,mP
mov m_xp,ax
mov m_yp,bx
; get_pixel m_x,m_y,mp
; pixel m_x,m_y,4
circle m_x,m_y,3,4
; get_m_pozadi m_x,m_y
; SET_M_CURSOR m_x,m_y
; call beep
@preskok:
jmp @myska
@vyskok:
create_openF file_01,f_handle01
copy_All_video_mem pom_dup
Block_write pom_dup,64000,f_handle01,f_IORES ;zapis do souboru
close_File f_handle01,f_iores
init_text_mode
endln
endln
;***************************************************************************
konec:
mov ah, 4ch ;ukonceni programu a navrat zpet do systemu
int 21h
end start