Rev 1373 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1373 | Rev 1432 | ||
---|---|---|---|
1 | ;ôàéë ñîçäàí 13.02.2009 |
1 | ;ôàéë ñîçäàí 13.02.2009 |
2 | ;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj |
2 | ;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj |
3 | ;Checkbox |
3 | ;Checkbox |
4 | 4 | ||
5 | ch_struc_size=36 |
5 | ch_struc_size=36 |
6 | ch_flag_en=10b ;ýëåìåíò âûáðàí |
6 | ch_flag_en=10b ;ýëåìåíò âûáðàí |
7 | 7 | ||
8 | ch_left equ [edi] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® å |
8 | ch_left equ [edi] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ |
9 | ch_top equ [edi+2] ;ª®®à¤¨ â ç « à¨á®¢ ¨ï ¯® ã |
9 | ch_top equ [edi+2] ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó |
10 | ch_text_margin equ [edi+4] ;=4 à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨ |
10 | ch_text_margin equ [edi+4] ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè |
11 | ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â 祪 ¡®ªá |
11 | ch_size equ [edi+8] ;12 ðàçìåð êâàäðàòà ÷åê áîêñà |
12 | ch_color equ [edi+12] ;梥⠢ãâਠcheckbox |
12 | ch_color equ [edi+12] ;öâåò âíóòðè checkbox |
13 | ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦® § ¤ âì á ¬®áâ®ïâ¥«ì® |
13 | ch_border_color equ [edi+16] ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî |
14 | ch_text_color equ [edi+20] ;[edi+4] ;梥â ⥪áâ |
14 | ch_text_color equ [edi+20] ;[edi+4] ;öâåò òåêñòà |
15 | ch_text_ptr equ [edi+24] ;㪠§ ⥫ì ç «® ⥪á⮢®© áâப¨ |
15 | ch_text_ptr equ [edi+24] ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè |
16 | ch_text_length equ [edi+28] |
16 | ch_text_length equ [edi+28] |
17 | ch_flags equ [edi+32] ;ä« £¨ |
- | |
18 | - | ||
19 | macro check_boxes_set_sys_color start,end,color_table |
- | |
20 | { |
- | |
21 | mov edi,start |
- | |
22 | mov ecx,((end-start)/ch_struc_size) |
- | |
23 | mov esi,color_table |
- | |
24 | @@: |
- | |
25 | ; push dword [esi+20] ;梥â à ¡®ç¥© ®¡« á⨠®ª |
- | |
26 | ; pop dword ch_color |
- | |
27 | push dword [esi+32] ;梥â ⥪áâ ¢ à ¡®ç¥© ®¡« á⨠®ª |
- | |
28 | pop dword ch_text_color |
- | |
29 | push dword [esi+36] ;梥⠣à 䨪¨ ¢ ®ª¥ (à §¤¥«¨â¥«ìë¥ «¨¨¨ ¨ â.¯.) |
- | |
30 | pop dword ch_border_color |
- | |
31 | add edi,ch_struc_size |
- | |
32 | loop @b |
- | |
33 | } |
- | |
34 | struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags |
- | |
35 | { ;áâàãªâãà ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá |
- | |
36 | .left: dw left ;+0 ¯®«®¦¥¨¥ ¯® å |
- | |
37 | .top: dw top ;+2 ¯®«®¦¥¨¥ ¯® ã |
- | |
38 | .ch_text_margin: dd ch_text_margin ;à ááâ®ï¨¥ ®â ¯àאַ㣮«ì¨ª 祪 ¡®ªá ¤® ¤¯¨á¨ |
- | |
39 | .ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â 祪 ¡®ªá , ¤«ï ¯à¨¬¥à 12 |
- | |
40 | .color: dd color ;梥⠢ãâਠ祪¡®ªá |
- | |
41 | .border_color: dd border_color ;梥â à ¬ª¨ |
- | |
42 | .text_color: dd text_color ;梥⠤¯¨á¨ |
- | |
43 | .text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à ᯮ«®¦¥ ⥪áâ |
- | |
44 | .ch_text_length: dd ch_text_length ;¤«¨ áâப¨ á ᨬ¢®« ¬¨ |
- | |
45 | .flags: dd flags+0 ; ä« £¨ |
- | |
46 | } |
17 | ch_flags equ [edi+32] ;ôëàãè |
47 | 18 | ||
48 | macro use_checkbox_draw |
19 | macro use_checkbox_draw |
49 | { |
20 | { |
50 | check_box_draw: |
21 | check_box_draw: |
51 | pusha ;ñîõðàíèì âñå ðåãèñòðû |
22 | pusha ;ñîõðàíèì âñå ðåãèñòðû |
52 | mov edi,dword [esp+36] |
23 | mov edi,dword [esp+36] |
53 | mov eax,13 |
24 | mov eax,13 |
54 | movzx ebx,word ch_left |
25 | movzx ebx,word ch_left |
55 | shl ebx,16 |
26 | shl ebx,16 |
56 | add ebx,ch_size |
27 | add ebx,ch_size |
57 | mov ecx,ch_top |
28 | mov ecx,ch_top |
58 | shl ecx,16 |
29 | shl ecx,16 |
59 | add ecx,dword ch_size |
30 | add ecx,dword ch_size |
60 | mov edx,dword ch_border_color |
31 | mov edx,dword ch_border_color |
61 | mcall ;ðèñóåì ðàìêó |
32 | mcall ;ðèñóåì ðàìêó |
62 | 33 | ||
63 | mov edx,dword ch_color |
34 | mov edx,dword ch_color |
64 | add ebx,1 shl 16 - 2 |
35 | add ebx,1 shl 16 - 2 |
65 | add ecx,1 shl 16 - 2 |
36 | add ecx,1 shl 16 - 2 |
66 | mcall ;çàêðàøèâàåì âíóòðåííîñòè ÷åêáîêñà |
37 | mcall ;çàêðàøèâàåì âíóòðåííîñòè ÷åêáîêñà |
67 | 38 | ||
68 | test dword ch_flags,2 ;äîñòàòü çíà÷åíèå áèòà èç ïåðåìåííîé è ïîìåñòèòü â ôëàã CF |
39 | test dword ch_flags,2 ;äîñòàòü çíà÷åíèå áèòà èç ïåðåìåííîé è ïîìåñòèòü â ôëàã CF |
69 | jz @f ;â åñëè CF=1, òî âûïîëíèì ñëåäóþùóþ ïðîöåäóðó èíà÷å ïåðåéòè íà íèæíþþ @@ |
40 | jz @f ;â åñëè CF=1, òî âûïîëíèì ñëåäóþùóþ ïðîöåäóðó èíà÷å ïåðåéòè íà íèæíþþ @@ |
70 | call check_box_draw_ch ;íàðèñîâàòü âêëþ÷åííûé ÷åê áîêñ |
41 | call check_box_draw_ch ;íàðèñîâàòü âêëþ÷åííûé ÷åê áîêñ |
71 | @@: |
42 | @@: |
72 | ;---------------------------- |
43 | ;---------------------------- |
73 | ;ðàñ÷åò êóäà áóäåò ïðîèçâåäåí âûâîä òåêñòà |
44 | ;ðàñ÷åò êóäà áóäåò ïðîèçâåäåí âûâîä òåêñòà |
74 | ;---------------------------- |
45 | ;---------------------------- |
75 | movzx ebx,word ch_left ;çàãðóçèòü çíà÷åíèå õ äëÿ ÷åê áîêñà |
46 | movzx ebx,word ch_left ;çàãðóçèòü çíà÷åíèå õ äëÿ ÷åê áîêñà |
76 | add ebx,dword ch_size |
47 | add ebx,dword ch_size |
77 | add ebx,dword ch_text_margin;äîáàâèòü ðàçìåð ñòîðîíû è ðàññòîÿíèå íà êîòîðîì íà÷íåòñÿ âûâîä òåêñòà |
48 | add ebx,dword ch_text_margin;äîáàâèòü ðàçìåð ñòîðîíû è ðàññòîÿíèå íà êîòîðîì íà÷íåòñÿ âûâîä òåêñòà |
78 | shl ebx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
49 | shl ebx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
79 | mov bx,word ch_top ;çàãðóçèì çíà÷åíèå ïî y |
50 | mov bx,word ch_top ;çàãðóçèì çíà÷åíèå ïî y |
80 | add ebx,ch_size |
51 | add ebx,ch_size |
81 | mov ecx,dword ch_text_color ;çàãðóçèì öâåò íàäïèñè + flags |
52 | mov ecx,dword ch_text_color ;çàãðóçèì öâåò íàäïèñè + flags |
82 | sub ebx,7 ;äîáàâèì çíà÷åíèå äëèíû ñòîðîíû -9+2 |
53 | sub ebx,7 ;äîáàâèì çíà÷åíèå äëèíû ñòîðîíû -9+2 |
83 | 54 | ||
84 | mov edx,dword ch_text_ptr ;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó |
55 | mov edx,dword ch_text_ptr ;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó |
85 | mov esi,dword ch_text_length |
56 | mov esi,dword ch_text_length |
86 | ;âíåñåì â eax çíà÷åíèå âûâîäà íàäïèñè íà êàíâó |
57 | ;âíåñåì â eax çíà÷åíèå âûâîäà íàäïèñè íà êàíâó |
87 | mov eax,4 |
58 | mov eax,4 |
88 | mcall ;Âûâîä |
59 | mcall ;Âûâîä |
89 | popa ;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà |
60 | popa ;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà |
90 | ret 4 ;âûéäåì èç ïðîöåäóðû |
61 | ret 4 ;âûéäåì èç ïðîöåäóðû |
91 | 62 | ||
92 | check_box_clear_ch: ;î÷èñòêà ÷åê áîêñà |
63 | check_box_clear_ch: ;î÷èñòêà ÷åê áîêñà |
93 | mov edx,dword ch_color ;öâåò âíóòðè ÷åê áîêñà |
64 | mov edx,dword ch_color ;öâåò âíóòðè ÷åê áîêñà |
94 | jmp @f ;áåçóñëîâíûé ïðûæîê íà íèæíþþ ìåòêó @@ |
65 | jmp @f ;áåçóñëîâíûé ïðûæîê íà íèæíþþ ìåòêó @@ |
95 | check_box_draw_ch: ;íàðèñîâàòü âêëþ÷åííûé ÷åê áîêñ |
66 | check_box_draw_ch: ;íàðèñîâàòü âêëþ÷åííûé ÷åê áîêñ |
96 | mov edx,dword ch_border_color ;çàãðóçèòü öâåò |
67 | mov edx,dword ch_border_color ;çàãðóçèòü öâåò |
97 | @@: |
68 | @@: |
98 | movzx ebx,word ch_left ;çàãðóçèòü êîîðäèíàòó ïî õ |
69 | movzx ebx,word ch_left ;çàãðóçèòü êîîðäèíàòó ïî õ |
99 | mov eax,dword ch_size |
70 | mov eax,dword ch_size |
100 | mov bp,ax |
71 | mov bp,ax |
101 | shr eax,2 |
72 | shr eax,2 |
102 | push ax |
73 | push ax |
103 | 74 | ||
104 | push ax |
75 | push ax |
105 | add ebx,eax |
76 | add ebx,eax |
106 | shl ebx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
77 | shl ebx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
107 | pop ax |
78 | pop ax |
108 | lea eax,[eax*2] |
79 | lea eax,[eax*2] |
109 | sub bp,ax ;ñîõðàíèì ðåãèñòð bx â ðåãèñòðå óêàçàòåëÿ áàçû |
80 | sub bp,ax ;ñîõðàíèì ðåãèñòð bx â ðåãèñòðå óêàçàòåëÿ áàçû |
110 | mov bx,bp |
81 | mov bx,bp |
111 | 82 | ||
112 | movzx ecx,word ch_top ;çàãðóçèòü êîîðäèíàòó ïî ó |
83 | movzx ecx,word ch_top ;çàãðóçèòü êîîðäèíàòó ïî ó |
113 | pop ax |
84 | pop ax |
114 | add cx,ax |
85 | add cx,ax |
115 | shl ecx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
86 | shl ecx,16 ;ñäâèíåì íà 16 ðàçðÿäîâ â ëåâî (óìíîæèì íà 65536) |
116 | mov cx,bp ;çàãðóçèì çíà÷åíèÿ ðåãèñòðà óêàçàòåëÿ áàçû â cx |
87 | mov cx,bp ;çàãðóçèì çíà÷åíèÿ ðåãèñòðà óêàçàòåëÿ áàçû â cx |
117 | mov eax,13 ;â eax - çíà÷åíèÿ ôóíêöèè äëÿ âûâîäà ïîëîñû ò.å. ïî ñóòè ïðÿìîóãîëüíèêà, êîòîðûé îòîáðàæàåò âêëþ÷åííûé êîìïîíåíò ÷åê áîêñ |
88 | mov eax,13 ;â eax - çíà÷åíèÿ ôóíêöèè äëÿ âûâîäà ïîëîñû ò.å. ïî ñóòè ïðÿìîóãîëüíèêà, êîòîðûé îòîáðàæàåò âêëþ÷åííûé êîìïîíåíò ÷åê áîêñ |
118 | mcall ;âûâîä |
89 | mcall ;âûâîä |
119 | ret ;âûéòè èç ïðîöåäóðû |
90 | ret ;âûéòè èç ïðîöåäóðû |
120 | } |
91 | } |
121 | 92 | ||
122 | 93 | ||
123 | macro use_checkbox_mouse |
94 | macro use_checkbox_mouse |
124 | { |
95 | { |
125 | 96 | ||
126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
97 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
127 | ;Îáðàáîò÷èê mouse |
98 | ;Îáðàáîò÷èê mouse |
128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
99 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
129 | check_box_mouse: ;îáðàáîòêà ìûøè |
100 | check_box_mouse: ;îáðàáîòêà ìûøè |
130 | pusha |
101 | pusha |
131 | mov edi,dword [esp+36] |
102 | mov edi,dword [esp+36] |
132 | mov eax,37 ;áóäåì ÷òî òî äåëàòü åñëè ó íàñ ÷òî - íèòü íàæàòî |
103 | mov eax,37 ;áóäåì ÷òî òî äåëàòü åñëè ó íàñ ÷òî - íèòü íàæàòî |
133 | mov ebx,2 ;âíåñòè â ðåãèñòð çíà÷åíèå 2 |
104 | mov ebx,2 ;âíåñòè â ðåãèñòð çíà÷åíèå 2 |
134 | mcall ;ïðîâåðêà íå íàæàë ëè ïîëüçîâàòåëü êíîïêó ìûøêè |
105 | mcall ;ïðîâåðêà íå íàæàë ëè ïîëüçîâàòåëü êíîïêó ìûøêè |
135 | test eax,eax ;ïðîâåðêà åñëè ó íàñ â eax=0, òî óñòàíîâèì ôëàã è âûéäåì |
106 | test eax,eax ;ïðîâåðêà åñëè ó íàñ â eax=0, òî óñòàíîâèì ôëàã è âûéäåì |
136 | jnz @f ;ïåðåéòè íà íèæíþþ ìåòêó @@ |
107 | jnz @f ;ïåðåéòè íà íèæíþþ ìåòêó @@ |
137 | btr dword ch_flags,2 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà íóëåâîå. |
108 | btr dword ch_flags,2 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà íóëåâîå. |
138 | jmp check_box_mouse_end |
109 | jmp check_box_mouse_end |
139 | 110 | ||
140 | @@: |
111 | @@: |
141 | bts dword ch_flags,2 ;ïðîâåðêà ôëàãà ò.å. ïåðåíîñ â cf çíà÷åíèå áèòà è óñòàíîâêà áèòà â ñîñòîÿíèå âêëþ÷åíî |
112 | bts dword ch_flags,2 ;ïðîâåðêà ôëàãà ò.å. ïåðåíîñ â cf çíà÷åíèå áèòà è óñòàíîâêà áèòà â ñîñòîÿíèå âêëþ÷åíî |
142 | jc check_box_mouse_end ;åñëè CF=1 òî ïåðåéòè â êîíåö ò.å. ýòî âûõîä |
113 | jc check_box_mouse_end ;åñëè CF=1 òî ïåðåéòè â êîíåö ò.å. ýòî âûõîä |
143 | mov esi,dword ch_text_length ;çàãðóçèòü êîë-âî ñèìâîëîâ â òåêñòîâîé ñòðîêå |
114 | mov esi,dword ch_text_length ;çàãðóçèòü êîë-âî ñèìâîëîâ â òåêñòîâîé ñòðîêå |
144 | ;Óìíîæåíèå íà 6 Áûñòðîå óìíîæåíèå ìîæíî âîñïîëüçîâàòüñÿ ëþáûì ìç ìåòîäîâ, íî íà ñòàðûõ Ïðîöåññîðàõ (386,486,P1)áûñòðåå áóäåò ñ èíñòðóêöèåé Lea |
115 | ;Óìíîæåíèå íà 6 Áûñòðîå óìíîæåíèå ìîæíî âîñïîëüçîâàòüñÿ ëþáûì ìç ìåòîäîâ, íî íà ñòàðûõ Ïðîöåññîðàõ (386,486,P1)áûñòðåå áóäåò ñ èíñòðóêöèåé Lea |
145 | lea esi,[eax*3] |
116 | lea esi,[eax*3] |
146 | shl esi,1 |
117 | shl esi,1 |
147 | ; imul esi,6 ; èëè ìîæíî è òàê óìíîæèòü íà 6 |
118 | ; imul esi,6 ; èëè ìîæíî è òàê óìíîæèòü íà 6 |
148 | add esi,dword ch_text_margin ;äîáàâèòü 3 - ðàññòîÿíèå îò ÷åê áîêñà äî íàäïèñè |
119 | add esi,dword ch_text_margin ;äîáàâèòü 3 - ðàññòîÿíèå îò ÷åê áîêñà äî íàäïèñè |
149 | 120 | ||
150 | mov eax,37 ;ïîëó÷èì êîîðäèíàòû ìûøêè |
121 | mov eax,37 ;ïîëó÷èì êîîðäèíàòû ìûøêè |
151 | mov ebx,1 ;äîáàâèòü 1 |
122 | mov ebx,1 ;äîáàâèòü 1 |
152 | mcall ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà |
123 | mcall ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà |
153 | 124 | ||
154 | movzx ebx,word ch_top ;çàãðóçèòü â bx çíà÷åíèå êîîðäèíàòû ó |
125 | movzx ebx,word ch_top ;çàãðóçèòü â bx çíà÷åíèå êîîðäèíàòû ó |
155 | cmp ax,bx ;ñðàâíèòü ñ ñ êîîðäèíàòîé êóðñîðà |
126 | cmp ax,bx ;ñðàâíèòü ñ ñ êîîðäèíàòîé êóðñîðà |
156 | jl check_box_mouse_end ;SF <> OF åñëè ìåíüøå |
127 | jl check_box_mouse_end ;SF <> OF åñëè ìåíüøå |
157 | add ebx,dword ch_size ;äîáàâèòü ðàçìåð |
128 | add ebx,dword ch_size ;äîáàâèòü ðàçìåð |
158 | cmp ax,bx ;ñðàâíèòü |
129 | cmp ax,bx ;ñðàâíèòü |
159 | jg check_box_mouse_end ;ZF = 0 è SF = OF åñëè áîëüøå |
130 | jg check_box_mouse_end ;ZF = 0 è SF = OF åñëè áîëüøå |
160 | 131 | ||
161 | shr eax,16 ;ðàçäåëèì íà 65536 èëè ïðîñòî ñäâèíåì áèòû íà 16 çíà÷åíèé |
132 | shr eax,16 ;ðàçäåëèì íà 65536 èëè ïðîñòî ñäâèíåì áèòû íà 16 çíà÷åíèé |
162 | movzx ebx,word ch_left ;ïðîèçâåäåì àíàëîãè÷íîå ñðàâíåíèå |
133 | movzx ebx,word ch_left ;ïðîèçâåäåì àíàëîãè÷íîå ñðàâíåíèå |
163 | cmp ax,bx ;ñðàâíèòü ðåãèñòðû |
134 | cmp ax,bx ;ñðàâíèòü ðåãèñòðû |
164 | jl check_box_mouse_end ;åñëè ìåíüøå |
135 | jl check_box_mouse_end ;åñëè ìåíüøå |
165 | add ebx,dword ch_size ;äîáàâèòü äëèíó ñòîðîíû ïðÿìîóãîëüíèêà |
136 | add ebx,dword ch_size ;äîáàâèòü äëèíó ñòîðîíû ïðÿìîóãîëüíèêà |
166 | add ebx,esi ;Ó÷åñòü â çíà÷åíèè ïî õ åùå è äëèíó íàäïèñè ê ÷åêáîêñó |
137 | add ebx,esi ;Ó÷åñòü â çíà÷åíèè ïî õ åùå è äëèíó íàäïèñè ê ÷åêáîêñó |
167 | cmp ax,bx ;ñòðàâíèòü ðåãèñòðû |
138 | cmp ax,bx ;ñòðàâíèòü ðåãèñòðû |
168 | jg check_box_mouse_end ;åñëè áîëüøå |
139 | jg check_box_mouse_end ;åñëè áîëüøå |
169 | 140 | ||
170 | bts dword ch_flags,1 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà 1. |
141 | bts dword ch_flags,1 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà 1. |
171 | jc @f ;CF=1 òî ïåðåéòè íà íèæíþþ @@ |
142 | jc @f ;CF=1 òî ïåðåéòè íà íèæíþþ @@ |
172 | 143 | ||
173 | call check_box_draw_ch ;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ |
144 | call check_box_draw_ch ;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ |
174 | ; mov dword [esp+24],1 ;äàëüíåéøàÿ ïðîâåðêà ÷åê áîêñîâ áåñìûñëåíà, ïî ýòîìó â ñòåê, ãäå ðàñïîëàãàåòñÿ ecx ïîìåñòèòì 0 |
145 | ; mov dword [esp+24],1 ;äàëüíåéøàÿ ïðîâåðêà ÷åê áîêñîâ áåñìûñëåíà, ïî ýòîìó â ñòåê, ãäå ðàñïîëàãàåòñÿ ecx ïîìåñòèòì 0 |
175 | jmp check_box_mouse_end ;âûéòè |
146 | jmp check_box_mouse_end ;âûéòè |
176 | @@: |
147 | @@: |
177 | btr word ch_flags,1 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà íóëåâîå. |
148 | btr word ch_flags,1 ;èçâëå÷åíèå çíà÷åíèÿ çàäàííîãî áèòà â ôëàã cf è èçìåíåíèå åãî çíà÷åíèÿ íà íóëåâîå. |
178 | call check_box_clear_ch ;âûêëþ÷èòü ÷åê áîêñ ò.å. íà ìåñòå çàêðàøåííîãî ïðÿìîóãîëüíèêà îòîáðàçèòü öâåò ôîíà. |
149 | call check_box_clear_ch ;âûêëþ÷èòü ÷åê áîêñ ò.å. íà ìåñòå çàêðàøåííîãî ïðÿìîóãîëüíèêà îòîáðàçèòü öâåò ôîíà. |
179 | check_box_mouse_end: |
150 | check_box_mouse_end: |
180 | popa ;âîññòàíîâèòü ðåãèñòðû èç ñòåêà |
151 | popa ;âîññòàíîâèòü ðåãèñòðû èç ñòåêà |
181 | ret 4 ;âûéòè |
152 | ret 4 ;âûéòè |
182 | }> |
153 | }> |