Rev 1727 | Rev 1904 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1727 | Rev 1732 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; ¢ í⮬ ä ©«¥ ᮡà ë äãªæ¨¨ ᮧ¤ î騥 ¯à®£à ¬ë© ª®¤ |
2 | ; ¢ í⮬ ä ©«¥ ᮡà ë äãªæ¨¨ ᮧ¤ î騥 ¯à®£à ¬ë© ª®¤ |
3 | ; |
3 | ; |
4 | u_object object ;¢à¥¬¥ë© ®¡ê¥ªâ ¤«ï § ¤ ¨ï ᬥ饨© |
4 | u_object object ;¢à¥¬¥ë© ®¡ê¥ªâ ¤«ï § ¤ ¨ï ᬥ饨© |
5 | 5 | ||
6 | macro insert_coma |
6 | macro insert_coma |
7 | { |
7 | { |
8 | stdcall [ted_text_add], tedit0,txt_coma,1,ted_opt_ed_move_cursor |
8 | stdcall [ted_text_add], tedit0,txt_coma,1,ted_opt_ed_move_cursor |
9 | } |
9 | } |
10 | macro insert_nl |
10 | macro insert_nl |
11 | { |
11 | { |
12 | stdcall [ted_text_add], tedit0,txt_nl,1,ted_opt_ed_move_cursor |
12 | stdcall [ted_text_add], tedit0,txt_nl,1,ted_opt_ed_move_cursor |
13 | } |
13 | } |
14 | macro insert_com |
14 | macro insert_com |
15 | { |
15 | { |
16 | stdcall [ted_text_add], tedit0,txt_com,1,ted_opt_ed_move_cursor |
16 | stdcall [ted_text_add], tedit0,txt_com,1,ted_opt_ed_move_cursor |
17 | } |
17 | } |
18 | macro insert_sp |
18 | macro insert_sp |
19 | { |
19 | { |
20 | stdcall [ted_text_add], tedit0,txt_sp,1,ted_opt_ed_move_cursor |
20 | stdcall [ted_text_add], tedit0,txt_sp,1,ted_opt_ed_move_cursor |
21 | } |
21 | } |
22 | 22 | ||
23 | ;äãªæ¨ï ¢áâ ¢«ï¥â ⥪á⮢ãî áâப㠢 ⥪áâ®¢ë© à¥¤ ªâ®à |
23 | ;äãªæ¨ï ¢áâ ¢«ï¥â ⥪á⮢ãî áâப㠢 ⥪áâ®¢ë© à¥¤ ªâ®à |
24 | align 4 |
24 | align 4 |
25 | proc insert_text, txt:dword |
25 | proc insert_text, txt:dword |
26 | push eax |
26 | push eax |
27 | stdcall str_len,dword[txt] |
27 | stdcall str_len,dword[txt] |
28 | cmp eax,1 |
28 | cmp eax,1 |
29 | jl @f |
29 | jl @f |
30 | stdcall [ted_text_add], tedit0,dword[txt],eax,ted_opt_ed_move_cursor |
30 | stdcall [ted_text_add], tedit0,dword[txt],eax,ted_opt_ed_move_cursor |
31 | @@: |
31 | @@: |
32 | pop eax |
32 | pop eax |
33 | ret |
33 | ret |
34 | endp |
34 | endp |
35 | 35 | ||
36 | ;¢áâ ¢«ï¥â 㪠§ ®¥ ⥪á⮢®¥ ᢮©á⢮ ¨§ ®¡ê¥ªâ ¢ ⥪áâ®¢ë© à¥¤ ªâ®à |
36 | ;¢áâ ¢«ï¥â 㪠§ ®¥ ⥪á⮢®¥ ᢮©á⢮ ¨§ ®¡ê¥ªâ ¢ ⥪áâ®¢ë© à¥¤ ªâ®à |
37 | align 4 |
37 | align 4 |
38 | proc insert_text_prop, p_obj:dword,index:dword |
38 | proc insert_text_prop, p_obj:dword,index:dword |
39 | push eax edx |
39 | push eax edx |
40 | mov eax,[p_obj] |
40 | mov eax,[p_obj] |
41 | mov edx,[index] |
41 | mov edx,[index] |
42 | stdcall get_obj_text_col,eax,edx |
42 | stdcall get_obj_text_col,eax,edx |
43 | stdcall str_len,edx |
43 | stdcall str_len,edx |
44 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
44 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
45 | pop edx eax |
45 | pop edx eax |
46 | ret |
46 | ret |
47 | endp |
47 | endp |
48 | 48 | ||
49 | ;¢áâ ¢«ï¥â 㪠§ ®¥ ¡¨â®¢®¥ ᢮©á⢮ ¨§ ®¡ê¥ªâ ¢ ⥪áâ®¢ë© à¥¤ ªâ®à |
49 | ;¢áâ ¢«ï¥â 㪠§ ®¥ ¡¨â®¢®¥ ᢮©á⢮ ¨§ ®¡ê¥ªâ ¢ ⥪áâ®¢ë© à¥¤ ªâ®à |
50 | align 4 |
50 | align 4 |
51 | proc insert_bit_prop, p_obj:dword,index:dword |
51 | proc insert_bit_prop, p_obj:dword,index:dword |
52 | push ebx ecx edi |
52 | push ebx ecx edi |
53 | mov ebx,[p_obj] |
53 | mov ebx,[p_obj] |
54 | mov ecx,[index] |
54 | mov ecx,[index] |
55 | test_bool_prop ebx,ecx |
55 | test_bool_prop ebx,ecx |
56 | jnc @f ;¥á«¨ ¯®«ì§®¢ â¥«ì ¥ ¢ë¡à « ¢ ®¡ê¥ªâ¥ ¤ ®¥ ᢮©á⢮ |
56 | jnc @f ;¥á«¨ ¯®«ì§®¢ â¥«ì ¥ ¢ë¡à « ¢ ®¡ê¥ªâ¥ ¤ ®¥ ᢮©á⢮ |
57 | mov ebx,dword[ebx] |
57 | mov ebx,dword[ebx] |
58 | call find_obj_in_opt |
58 | call find_obj_in_opt |
59 | mov ecx,dword[edi+obj_opt.bit_val-obj_opt] ;ecx - ᬥ饨¥ § 票© ᢮©á⢠(ª®áâ â) |
59 | mov ecx,dword[edi+obj_opt.bit_val-obj_opt] ;ecx - ᬥ饨¥ § 票© ᢮©á⢠(ª®áâ â) |
60 | cmp byte[ecx],0 |
60 | cmp byte[ecx],0 |
61 | je @f ;¥á«¨ ã ®¡ê¥ªâ ¥â § ¤ ëå ¡¨â®¢ëå ᢮©á⢠|
61 | je @f ;¥á«¨ ã ®¡ê¥ªâ ¥â § ¤ ëå ¡¨â®¢ëå ᢮©á⢠|
62 | add ecx,obj_opt ;¤®¡ ¢«ï¥¬ ç «® ä ©« á ®¯æ¨ï¬¨ |
62 | add ecx,obj_opt ;¤®¡ ¢«ï¥¬ ç «® ä ©« á ®¯æ¨ï¬¨ |
63 | stdcall get_string_by_ind, ecx,[index] |
63 | stdcall get_string_by_ind, ecx,[index] |
64 | cmp byte[edi],0 |
64 | cmp byte[edi],0 |
65 | je @f ;¥á«¨ ã ®¡ê¥ªâ ¡¨â®¢®¥ ᢮©á⢮ ¯ãá⮥ |
65 | je @f ;¥á«¨ ã ®¡ê¥ªâ ¡¨â®¢®¥ ᢮©á⢮ ¯ãá⮥ |
66 | stdcall insert_text, txt_plus |
66 | stdcall insert_text, txt_plus |
67 | stdcall insert_text, edi |
67 | stdcall insert_text, edi |
68 | @@: |
68 | @@: |
69 | pop edi ecx ebx |
69 | pop edi ecx ebx |
70 | ret |
70 | ret |
71 | endp |
71 | endp |
72 | 72 | ||
73 | ;äãªæ¨ï ¢áâ ¢«ï¥â 2 ¯ à ¬¥âà ¯® 16 ¡¨â ¢ ¢¨¤¥: |
73 | ;äãªæ¨ï ¢áâ ¢«ï¥â 2 ¯ à ¬¥âà ¯® 16 ¡¨â ¢ ¢¨¤¥: |
74 | ; (_p1_ shl 16 + _p2_) |
74 | ; (_p1_ shl 16 + _p2_) |
75 | align 4 |
75 | align 4 |
76 | proc insert_2_prop_16_bit, obj:dword, p_hi:dword, p_lo:dword |
76 | proc insert_2_prop_16_bit, obj:dword, p_hi:dword, p_lo:dword |
77 | stdcall insert_text, txt_skob_o |
77 | stdcall insert_text, txt_skob_o |
78 | stdcall insert_text_prop, [obj],[p_hi] |
78 | stdcall insert_text_prop, [obj],[p_hi] |
79 | stdcall insert_text, txt_shl_16 |
79 | stdcall insert_text, txt_shl_16 |
80 | stdcall insert_text, txt_skob_c |
80 | stdcall insert_text, txt_skob_c |
81 | stdcall insert_text, txt_plus |
81 | stdcall insert_text, txt_plus |
82 | stdcall insert_text_prop, [obj],[p_lo] |
82 | stdcall insert_text_prop, [obj],[p_lo] |
83 | ret |
83 | ret |
84 | endp |
84 | endp |
85 | 85 | ||
86 | ;¢áâ ¢«ï¥¬ áâப㠢¨¤ : |
86 | ;¢áâ ¢«ï¥¬ áâப㠢¨¤ : |
87 | ; txt_(n) db (s) |
87 | ; txt_(n) db (s) |
88 | align 4 |
88 | align 4 |
89 | proc insert_text_label_data, obj:dword, col:dword |
89 | proc insert_text_label_data, obj:dword, col:dword |
90 | push eax edx |
90 | push eax edx |
91 | mov eax,[obj] |
91 | mov eax,[obj] |
92 | stdcall insert_text, txt_txt |
92 | stdcall insert_text, txt_txt |
93 | mov edx,fp_icon |
93 | mov edx,fp_icon |
94 | stdcall get_obj_id_str, eax,edx ;edx = 'n' |
94 | stdcall get_obj_id_str, eax,edx ;edx = 'n' |
95 | stdcall str_cat, edx,txt_db ;edx = 'n db ' |
95 | stdcall str_cat, edx,txt_db ;edx = 'n db ' |
96 | stdcall insert_text, edx |
96 | stdcall insert_text, edx |
97 | stdcall insert_text_prop, eax,[col] |
97 | stdcall insert_text_prop, eax,[col] |
98 | insert_nl |
98 | insert_nl |
99 | pop edx eax |
99 | pop edx eax |
100 | ret |
100 | ret |
101 | endp |
101 | endp |
102 | 102 | ||
103 | macro insert_tab |
103 | macro insert_tab |
104 | { |
104 | { |
105 | stdcall [ted_text_add], tedit0,txt_tab,1,ted_opt_ed_move_cursor |
105 | stdcall [ted_text_add], tedit0,txt_tab,1,ted_opt_ed_move_cursor |
106 | } |
106 | } |
107 | macro insert_br |
107 | macro insert_br |
108 | { |
108 | { |
109 | stdcall [ted_text_add], tedit0,txt_br,3,ted_opt_ed_move_cursor |
109 | stdcall [ted_text_add], tedit0,txt_br,3,ted_opt_ed_move_cursor |
110 | } |
110 | } |
111 | macro insert_a_met |
111 | macro insert_a_met |
112 | { |
112 | { |
113 | stdcall [ted_text_add], tedit0,txt_a_met,3,ted_opt_ed_move_cursor |
113 | stdcall [ted_text_add], tedit0,txt_a_met,3,ted_opt_ed_move_cursor |
114 | } |
114 | } |
115 | macro insert_0 |
115 | macro insert_0 |
116 | { |
116 | { |
117 | stdcall [ted_text_add], tedit0,txt_0,1,ted_opt_ed_move_cursor |
117 | stdcall [ted_text_add], tedit0,txt_0,1,ted_opt_ed_move_cursor |
118 | } |
118 | } |
119 | macro insert_plus |
119 | macro insert_plus |
120 | { |
120 | { |
121 | stdcall [ted_text_add], tedit0,txt_plus,1,ted_opt_ed_move_cursor |
121 | stdcall [ted_text_add], tedit0,txt_plus,1,ted_opt_ed_move_cursor |
122 | } |
122 | } |
123 | macro insert_xor |
123 | macro insert_xor |
124 | { |
124 | { |
125 | stdcall [ted_text_add], tedit0,txt_xor,4,ted_opt_ed_move_cursor |
125 | stdcall [ted_text_add], tedit0,txt_xor,4,ted_opt_ed_move_cursor |
126 | } |
126 | } |
127 | macro insert_cmp |
127 | macro insert_cmp |
128 | { |
128 | { |
129 | stdcall [ted_text_add], tedit0,txt_cmp,4,ted_opt_ed_move_cursor |
129 | stdcall [ted_text_add], tedit0,txt_cmp,4,ted_opt_ed_move_cursor |
130 | } |
130 | } |
131 | macro insert_reg reg_name |
131 | macro insert_reg reg_name |
132 | { |
132 | { |
133 | stdcall [ted_text_add], tedit0,reg_name,3,ted_opt_ed_move_cursor |
133 | stdcall [ted_text_add], tedit0,reg_name,3,ted_opt_ed_move_cursor |
134 | } |
134 | } |
135 | macro insert_reg8 reg_name |
135 | macro insert_reg8 reg_name |
136 | { |
136 | { |
137 | stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor |
137 | stdcall [ted_text_add], tedit0,reg_name,2,ted_opt_ed_move_cursor |
138 | } |
138 | } |
139 | 139 | ||
140 | ; |
140 | ; |
141 | macro insert_but_beg |
- | |
142 | { |
- | |
143 | stdcall [ted_text_add], tedit0,txt_but_1,txt_but_2-txt_but_1,ted_opt_ed_move_cursor |
- | |
144 | } |
- | |
145 | macro insert_but_end |
- | |
146 | { |
- | |
147 | stdcall [ted_text_add], tedit0,txt_but_2,txt_but_3-txt_but_2,ted_opt_ed_move_cursor |
- | |
148 | } |
- | |
149 | ; |
- | |
150 | macro insert_key_beg |
141 | macro insert_key_beg |
151 | { |
142 | { |
152 | stdcall [ted_text_add], tedit0,txt_key_1,txt_key_2-txt_key_1,ted_opt_ed_move_cursor |
143 | stdcall [ted_text_add], tedit0,txt_key_1,txt_key_2-txt_key_1,ted_opt_ed_move_cursor |
153 | } |
144 | } |
154 | macro insert_key_end |
145 | macro insert_key_end |
155 | { |
146 | { |
156 | stdcall [ted_text_add], tedit0,txt_key_2,txt_key_3-txt_key_2,ted_opt_ed_move_cursor |
147 | stdcall [ted_text_add], tedit0,txt_key_2,txt_key_3-txt_key_2,ted_opt_ed_move_cursor |
157 | } |
148 | } |
158 | 149 | ||
159 | macro insert_d_poi |
150 | macro insert_d_poi |
160 | { |
151 | { |
161 | stdcall [ted_text_add], tedit0,txt_d_poi,1,ted_opt_ed_move_cursor |
152 | stdcall [ted_text_add], tedit0,txt_d_poi,1,ted_opt_ed_move_cursor |
162 | } |
153 | } |
163 | macro insert_ret |
154 | macro insert_ret |
164 | { |
155 | { |
165 | stdcall [ted_text_add], tedit0,txt_ret,4,ted_opt_ed_move_cursor |
156 | stdcall [ted_text_add], tedit0,txt_ret,4,ted_opt_ed_move_cursor |
166 | } |
157 | } |
167 | 158 | ||
168 | 159 | ||
169 | align 4 |
160 | align 4 |
170 | but_update: |
161 | but_update: |
171 | call draw_constructor |
162 | call draw_constructor |
172 | cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª ª®áâàãªâ®à |
163 | cmp byte[show_mode],0 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠®ª ª®áâàãªâ®à |
173 | jne @f |
164 | jne @f |
174 | stdcall [buf2d_draw], buf_fon |
165 | stdcall [buf2d_draw], buf_fon |
175 | @@: |
166 | @@: |
176 | call code_gen |
167 | call code_gen |
177 | cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª |
168 | cmp byte[show_mode],1 ;ãá«®¢¨¥ ¢¨¤¨¬®á⨠⥪á⮢®£® ®ª |
178 | jne @f |
169 | jne @f |
179 | stdcall [ted_draw], tedit0 |
170 | stdcall [ted_draw], tedit0 |
180 | @@: |
171 | @@: |
181 | ret |
172 | ret |
182 | 173 | ||
183 | ;äãªæ¨ï ᮧ¤ îé ï ª®¤ ¢á¥£® ä ©« |
174 | ;äãªæ¨ï ᮧ¤ îé ï ª®¤ ¢á¥£® ä ©« |
184 | align 4 |
175 | align 4 |
185 | code_gen: |
176 | code_gen: |
186 | stdcall [ted_clear], tedit0,1 |
177 | stdcall [ted_clear], tedit0,1 |
187 | pushad |
178 | pushad |
188 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
179 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
189 | pop esi |
180 | pop esi |
190 | xor bl,bl |
181 | xor bl,bl |
191 | call code_gen_obj |
182 | call code_gen_obj |
192 | stdcall [ted_text_add], tedit0,\ |
183 | stdcall [ted_text_add], tedit0,\ |
193 | txt_nl,1,ted_opt_ed_move_cursor+ted_opt_ed_change_time ;¤®¡ ¢«ï¥¬ ᨬ¢®« ®¢®© áâப¨ á ®¯æ¨¥© ted_opt_ed_change_time ¤«ï ¢®§¬®¦®á⨠á®åà ¥¨ï ä ©« |
184 | txt_nl,1,ted_opt_ed_move_cursor+ted_opt_ed_change_time ;¤®¡ ¢«ï¥¬ ᨬ¢®« ®¢®© áâப¨ á ®¯æ¨¥© ted_opt_ed_change_time ¤«ï ¢®§¬®¦®á⨠á®åà ¥¨ï ä ©« |
194 | stdcall [ted_init_scroll_bars], tedit0, 4 ;¬¥ï¥¬ à §¬¥àë áªà®««¨£®¢ |
185 | stdcall [ted_init_scroll_bars], tedit0, 4 ;¬¥ï¥¬ à §¬¥àë áªà®««¨£®¢ |
195 | popad |
186 | popad |
196 | ret |
187 | ret |
197 | 188 | ||
198 | ;input: |
189 | ;input: |
199 | ; bl - ã஢¥ì ®¡ê¥ªâ |
190 | ; bl - ã஢¥ì ®¡ê¥ªâ |
200 | ; esi - 㪠§ ⥫ì 㧥« |
191 | ; esi - 㪠§ ⥫ì 㧥« |
201 | align 4 |
192 | align 4 |
202 | code_gen_obj: |
193 | code_gen_obj: |
203 | push ebx edx |
194 | push eax ebx edx |
204 | .beg_iterat: |
195 | .beg_iterat: |
205 | cmp esi,0 |
196 | cmp esi,0 |
206 | je .find_no |
197 | je .find_no |
207 | 198 | ||
208 | cmp byte[esi+2],bl ;lev |
199 | cmp byte[esi+2],bl ;lev |
209 | jl .find_no |
200 | jl .find_no |
210 | 201 | ||
211 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
202 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
212 | pop eax ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
203 | pop eax ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
213 | cmp eax,0 |
204 | cmp eax,0 |
214 | je .find_no |
205 | je .find_no |
215 | 206 | ||
216 | cmp dword[eax],C_STR |
207 | cmp dword[eax],C_STR |
217 | jne .no_struct |
208 | jne .no_struct |
218 | stdcall get_obj_text_col, eax,1 ;edx - 㪠§ ⥫ì 1-¥ ᢮©á⢮ áâàãªâãàë |
209 | stdcall get_obj_text_col, eax,1 ;edx - 㪠§ ⥫ì 1-¥ ᢮©á⢮ áâàãªâãàë |
219 | stdcall insert_text,txt_struc |
210 | stdcall insert_text,txt_struc |
220 | cmp byte[edx],0 |
211 | cmp byte[edx],0 |
221 | jne @f |
212 | jne @f |
222 | stdcall insert_text,txt_t |
213 | stdcall insert_text,txt_t |
223 | @@: |
214 | @@: |
224 | insert_sp |
215 | insert_sp |
225 | stdcall insert_text_prop, eax,0 |
216 | stdcall insert_text_prop, eax,0 |
226 | 217 | ||
227 | cmp byte[edx],0 |
218 | cmp byte[edx],0 |
228 | je @f |
219 | je @f |
229 | ;¥á«¨ áâàãªâãà § ¤ ¬ ªà®á®¬ |
220 | ;¥á«¨ áâàãªâãà § ¤ ¬ ªà®á®¬ |
230 | insert_sp |
221 | insert_sp |
231 | stdcall insert_text_prop, eax,1 |
222 | stdcall insert_text_prop, eax,1 |
232 | insert_nl |
223 | insert_nl |
233 | stdcall insert_text, txt_skob_fo |
224 | stdcall insert_text, txt_skob_fo |
234 | @@: |
225 | @@: |
235 | insert_nl |
226 | insert_nl |
236 | - | ||
237 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
227 | stdcall get_code_children_objects, esi |
238 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
- | |
239 | cmp esi,0 |
- | |
240 | je .end_st |
- | |
241 | cmp byte[esi+2],bl ;lev |
- | |
242 | jle .end_st |
- | |
243 | push bx |
- | |
244 | mov bl,byte[esi+2] |
- | |
245 | call code_gen_obj ;४ãàá¨¢ë© ¢ë§®¢ ¤®ç¥à¨å ®¡ê¥ªâ®¢ |
228 | call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à¨å ®¡¥ªâ®¢ |
246 | pop bx |
- | |
247 | .end_st: |
- | |
248 | cmp byte[edx],0 |
229 | cmp byte[edx],0 |
249 | je @f |
230 | je @f |
250 | ;¥á«¨ áâàãªâãà § ¤ ¬ ªà®á®¬ |
231 | ;¥á«¨ áâàãªâãà § ¤ ¬ ªà®á®¬ |
251 | stdcall insert_text, txt_skob_fc |
232 | stdcall insert_text, txt_skob_fc |
252 | insert_nl |
233 | insert_nl |
253 | jmp .beg_iterat |
- | |
254 | @@: |
234 | @@: |
255 | stdcall insert_text,txt_ends |
235 | stdcall insert_text,txt_ends |
256 | jmp .beg_iterat |
- | |
257 | .no_struct: |
236 | .no_struct: |
258 | cmp dword[eax],C_TXT |
237 | cmp dword[eax],C_TXT |
259 | jne @f |
238 | jne @f |
260 | stdcall get_code_text,eax ;®¡à ¡®âª ®¡ê¥ªâ |
239 | stdcall get_code_text,eax ;®¡à ¡®âª ®¡ê¥ªâ |
261 | @@: |
240 | @@: |
262 | cmp dword[eax],C_INC |
241 | cmp dword[eax],C_INC |
263 | jne @f |
242 | jne @f |
264 | stdcall get_code_incl,eax ;®¡à ¡®âª ®¡ê¥ªâ |
243 | stdcall get_code_incl,eax ;®¡à ¡®âª ®¡ê¥ªâ |
265 | @@: |
244 | @@: |
266 | cmp dword[eax],C_VAR |
245 | cmp dword[eax],C_VAR |
267 | jne @f |
246 | jne @f |
268 | stdcall get_code_variable,eax,ebx ;®¡à ¡®âª ®¡ê¥ªâ |
247 | stdcall get_code_variable,eax,ebx ;®¡à ¡®âª ®¡ê¥ªâ |
269 | @@: |
248 | @@: |
270 | cmp dword[eax],C_WND |
249 | cmp dword[eax],C_WND |
271 | jne @f |
250 | jne @f |
272 | stdcall get_code_window,eax ;®¡à ¡®âª ®¡ê¥ªâ |
251 | stdcall get_code_window,eax ;®¡à ¡®âª ®¡ê¥ªâ |
- | 252 | stdcall get_code_children_objects, esi ;®¡à ¡®âª ¤®ç¥à¨å ®¡¥ªâ®¢ |
|
- | 253 | call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à¨å ®¡¥ªâ®¢ |
|
- | 254 | stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äãªæ¨î à¨á®¢ ¨ï |
|
273 | @@: |
255 | @@: |
274 | cmp dword[eax],C_ACO |
256 | cmp dword[eax],C_ACO |
275 | jne @f |
257 | jne @f |
276 | stdcall get_code_auto,eax ;®¡à ¡®âª ®¡ê¥ªâ |
258 | stdcall get_code_auto,esi ;®¡à ¡®âª ®¡ê¥ªâ |
- | 259 | call move_next_no_child_objects ;¯à®¯ã᪠¤®ç¥à¨å ®¡¥ªâ®¢ |
|
277 | @@: |
260 | @@: |
278 | cmp dword[eax],C_KEY ;ª« ¢¨ âãà |
261 | cmp dword[eax],C_KEY ;ª« ¢¨ âãà |
279 | jne @f |
262 | jne @f |
280 | stdcall get_code_key,eax ;®¡à ¡®âª ®¡ê¥ªâ |
263 | stdcall get_code_key,eax ;®¡à ¡®âª ®¡ê¥ªâ |
281 | @@: |
264 | @@: |
282 | 265 | ||
283 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
266 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
284 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
267 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
285 | 268 | ||
286 | jmp .beg_iterat |
269 | jmp .beg_iterat |
287 | .find_no: |
270 | .find_no: |
- | 271 | pop edx ebx eax |
|
- | 272 | ret |
|
- | 273 | ||
- | 274 | ;¢§ïâì ª®¤ë ¤®ç¥à¨å ®¡ê¥ªâ®¢ |
|
- | 275 | align 4 |
|
- | 276 | proc get_code_children_objects, p_node:dword |
|
- | 277 | push ebx esi |
|
- | 278 | mov esi,[p_node] |
|
- | 279 | mov bl,byte[esi+2] ;á®åà 塞 ã஢¥ì ⥪ã饣® ®¡ê¥ªâ |
|
- | 280 | ||
- | 281 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
|
- | 282 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
|
- | 283 | cmp esi,0 ;¥á«¨ ¤®á⨣«¨ ª®æ ᯨ᪠®¡ê¥ªâ®¢ |
|
- | 284 | je @f |
|
- | 285 | cmp byte[esi+2],bl ;¥á«¨ ã஢¥ì á«¥¤ãî饣® ®¡ê¥ªâ ¡®«ìè¥ ¨«¨ à ¢¥ ⥪ã饬ã |
|
- | 286 | jle @f ;â® ¤®ç¥à¨å 㧫®¢ ¥â |
|
- | 287 | mov bl,byte[esi+2] |
|
- | 288 | call code_gen_obj ;४ãàá¨¢ë© ¢ë§®¢ ¤®ç¥à¨å ®¡ê¥ªâ®¢ |
|
- | 289 | @@: |
|
- | 290 | pop esi ebx |
|
- | 291 | ret |
|
- | 292 | endp |
|
- | 293 | ||
- | 294 | ;¯à®¯ã᪠¢á¥å ¤®ç¥à¨å ®¡ê¥ªâ®¢ |
|
- | 295 | ;input: |
|
- | 296 | ; esi - 㪠§ ⥫ì 㧥« |
|
- | 297 | ;outpet: |
|
- | 298 | ; esi - 㪠§ ⥫ì á«¥¤ã騩 ¥ ¤®ç¥à¨© (®â®á¨â¥«ì® ¢å®¤ï饣®) 㧥« |
|
- | 299 | align 4 |
|
- | 300 | move_next_no_child_objects: |
|
- | 301 | push eax ebx |
|
- | 302 | mov bl,byte[esi+2] ;á®åà 塞 ã஢¥ì ⥪ã饣® ®¡ê¥ªâ |
|
- | 303 | @@: |
|
- | 304 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
|
- | 305 | pop eax ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
|
- | 306 | cmp eax,0 ;¥á«¨ ¤®á⨣«¨ ª®æ ᯨ᪠®¡ê¥ªâ®¢ |
|
- | 307 | je @f |
|
- | 308 | cmp byte[eax+2],bl ;¥á«¨ ã஢¥ì á«¥¤ãî饣® ®¡ê¥ªâ ¡®«ìè¥ ¨«¨ à ¢¥ ⥪ã饬ã |
|
- | 309 | jle @f ;â® ¤®ç¥à¨å 㧫®¢ ¥â |
|
- | 310 | mov esi,eax ;¥á«¨ á«¥¤ã騩 㧥« ®ª § «áï ¤®ç¥à¨¬, ¯¥à¥áâ ¢«ï¥¬ 㪠§ ⥫ì |
|
- | 311 | jmp @b |
|
- | 312 | @@: |
|
288 | pop edx ebx |
313 | pop ebx eax |
289 | ret |
314 | ret |
290 | 315 | ||
291 | ;¤®¡ ¢«¥¨¥ ®¡ê¥ªâ á ¯à®£à ¬ë¬ ª®¤®¬ (⥪á⮬) |
316 | ;¤®¡ ¢«¥¨¥ ®¡ê¥ªâ á ¯à®£à ¬ë¬ ª®¤®¬ (⥪á⮬) |
292 | align 4 |
317 | align 4 |
293 | proc get_code_text, p_obj:dword |
318 | proc get_code_text, p_obj:dword |
294 | ;pushad |
319 | ;pushad |
295 | insert_nl |
320 | insert_nl |
296 | stdcall insert_text_prop, dword[p_obj],0 |
321 | stdcall insert_text_prop, dword[p_obj],0 |
297 | insert_nl |
322 | insert_nl |
298 | ;popad |
323 | ;popad |
299 | ret |
324 | ret |
300 | endp |
325 | endp |
301 | 326 | ||
302 | ;®¡à ¡®âª ®¡ê¥ªâ ᮧ¤ î饣® ¢â®¬ â¨ç¥ªá¨¥ ª®¤ë |
327 | ;®¡à ¡®âª ®¡ê¥ªâ ᮧ¤ î饣® ¢â®¬ â¨ç¥ªá¨¥ ª®¤ë |
303 | align 4 |
328 | align 4 |
304 | proc get_code_auto, p_obj:dword |
329 | proc get_code_auto, p_node:dword |
305 | pushad |
330 | pushad |
306 | insert_nl |
331 | insert_nl |
307 | mov ebx,dword[p_obj] |
332 | mov esi,dword[p_node] |
- | 333 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
|
- | 334 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
|
- | 335 | ||
308 | test_bool_prop ebx,BIT_MOD_ACI |
336 | test_bool_prop ebx,BIT_MOD_ACI |
309 | jae @f |
337 | jae @f |
310 | mov edx,C_CHB |
338 | mov edx,C_CHB |
311 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
339 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
312 | cmp eax,0 |
340 | cmp eax,0 |
313 | je @f |
341 | je @f |
314 | stdcall insert_text, txt_std_init_cb |
342 | stdcall insert_text, txt_std_init_cb |
315 | @@: |
343 | @@: |
316 | test_bool_prop ebx,BIT_MOD_ACM |
344 | test_bool_prop ebx,BIT_MOD_ACM |
317 | jae @f |
345 | jae @f |
318 | ; ¢â®¬ â¨ç¥áª¨¥ ᮡëâ¨ï ®â ¬ëè¨ |
346 | ; ¢â®¬ â¨ç¥áª¨¥ ᮡëâ¨ï ®â ¬ëè¨ |
319 | call get_code_auto_m |
347 | call get_code_auto_m |
320 | @@: |
348 | @@: |
321 | test_bool_prop ebx,BIT_MOD_ABU |
349 | test_bool_prop ebx,BIT_MOD_ABU |
322 | jae @f |
350 | jae @f |
323 | ;ᮧ¤ ¨¥ äãªæ¨¨ button |
351 | ;ᮧ¤ ¨¥ äãªæ¨¨ button |
324 | insert_but_beg |
352 | stdcall insert_text, txt_but_beg |
325 | call get_code_auto_but ;ª®¤ë ¢ë§®¢ ª®¯®ª |
353 | call get_code_auto_but ;ª®¤ë ¢ë§®¢ ª®¯®ª |
- | 354 | stdcall insert_text, txt_but_mid |
|
- | 355 | stdcall get_code_children_objects, esi |
|
- | 356 | ;ª®¥æ äãªæ¨¨ button (ª®¯ª id=-1, § ¢¥à襨¥ ¯à®£à ¬¬ë) |
|
326 | insert_but_end |
357 | stdcall insert_text, txt_but_end |
- | 358 | ||
327 | call get_code_a_but_fun ;ª®¤ë äãªæ¨©, ¢ë§ë¢ ¥¬ëå ¯à¨ ¦ ⨨ ª®¯®ª |
359 | call get_code_a_but_fun ;ª®¤ë äãªæ¨©, ¢ë§ë¢ ¥¬ëå ¯à¨ ¦ ⨨ ª®¯®ª |
328 | @@: |
360 | @@: |
329 | test_bool_prop ebx,BIT_MOD_ACD |
361 | test_bool_prop ebx,BIT_MOD_ACD |
330 | jae @f |
362 | jae @f |
331 | call get_code_auto_data_el |
363 | call get_code_auto_data_el |
332 | 364 | ||
333 | mov edx,C_CHB |
365 | mov edx,C_CHB |
334 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
366 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã check_box |
335 | cmp eax,0 |
367 | cmp eax,0 |
336 | je .no_check |
368 | je .no_check |
337 | stdcall insert_text, txt_cb_b |
369 | stdcall insert_text, txt_cb_b |
338 | call get_code_auto_data_el_cbox |
370 | call get_code_auto_data_el_cbox |
339 | stdcall insert_text, txt_cb_e |
371 | stdcall insert_text, txt_cb_e |
340 | .no_check: |
372 | .no_check: |
341 | 373 | ||
342 | call get_code_auto_data_dop |
374 | call get_code_auto_data_dop |
343 | 375 | ||
344 | mov edx,C_LIB |
376 | mov edx,C_LIB |
345 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã ¡¨¡«¨®â¥ª¨ |
377 | stdcall find_obj_in_file,edx ;eax - 㪠§ ⥫ì áâàãªâãàã ¡¨¡«¨®â¥ª¨ |
346 | cmp eax,0 |
378 | cmp eax,0 |
347 | je @f |
379 | je @f |
348 | insert_nl |
380 | insert_nl |
349 | stdcall insert_text, txt_head_i |
381 | stdcall insert_text, txt_head_i |
350 | stdcall insert_text, txt_d_poi |
382 | stdcall insert_text, txt_d_poi |
351 | insert_nl |
383 | insert_nl |
352 | stdcall insert_text, txt_head_l |
384 | stdcall insert_text, txt_head_l |
353 | stdcall insert_text, txt_db |
385 | stdcall insert_text, txt_db |
354 | stdcall insert_text, txt_str_beg |
386 | stdcall insert_text, txt_str_beg |
355 | stdcall insert_text, txt_sys_err |
387 | stdcall insert_text, txt_sys_err |
356 | stdcall insert_text, txt_str_end |
388 | stdcall insert_text, txt_str_end |
357 | insert_nl |
389 | insert_nl |
358 | 390 | ||
359 | call get_code_auto_data_libs_param |
391 | call get_code_auto_data_libs_param |
360 | stdcall insert_text, txt_ll_start |
392 | stdcall insert_text, txt_ll_start |
361 | call get_code_auto_data_libs_struc |
393 | call get_code_auto_data_libs_struc |
362 | stdcall insert_text, txt_ll_end |
394 | stdcall insert_text, txt_ll_end |
363 | call get_code_auto_data_libs ;â ¡«¨æë ¨¬¯®àâ ¡¨¡«¨®â¥ª |
395 | call get_code_auto_data_libs ;â ¡«¨æë ¨¬¯®àâ ¡¨¡«¨®â¥ª |
364 | @@: |
396 | @@: |
365 | insert_nl |
397 | insert_nl |
366 | popad |
398 | popad |
367 | ret |
399 | ret |
368 | endp |
400 | endp |
369 | 401 | ||
370 | align 4 |
402 | align 4 |
371 | proc get_code_auto_m |
403 | proc get_code_auto_m |
372 | pushad |
404 | pushad |
373 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
405 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
374 | pop esi |
406 | pop esi |
375 | .beg_iterat: |
407 | .beg_iterat: |
376 | cmp esi,0 |
408 | cmp esi,0 |
377 | je .find_no |
409 | je .find_no |
378 | 410 | ||
379 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
411 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
380 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
412 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
381 | cmp ebx,0 |
413 | cmp ebx,0 |
382 | je .find_no |
414 | je .find_no |
383 | 415 | ||
384 | cmp dword[ebx],C_EDB |
416 | cmp dword[ebx],C_EDB |
385 | jne @f |
417 | jne @f |
386 | stdcall insert_text, txt_std_mouse_ed |
418 | stdcall insert_text, txt_std_mouse_ed |
387 | stdcall insert_text_prop, ebx,0 |
419 | stdcall insert_text_prop, ebx,0 |
388 | insert_nl |
420 | insert_nl |
389 | @@: |
421 | @@: |
390 | cmp dword[ebx],C_CHB |
422 | cmp dword[ebx],C_CHB |
391 | jne @f |
423 | jne @f |
392 | stdcall insert_text, txt_std_mouse_cb |
424 | stdcall insert_text, txt_std_mouse_cb |
393 | stdcall insert_text_prop, ebx,0 |
425 | stdcall insert_text_prop, ebx,0 |
394 | insert_nl |
426 | insert_nl |
395 | @@: |
427 | @@: |
396 | 428 | ||
397 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
429 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
398 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
430 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
399 | 431 | ||
400 | jmp .beg_iterat |
432 | jmp .beg_iterat |
401 | .find_no: |
433 | .find_no: |
402 | popad |
434 | popad |
403 | ret |
435 | ret |
404 | endp |
436 | endp |
405 | 437 | ||
406 | ;ᮧ¤ ¨¥ ¤ ëå (áâàãªâãà ®¡ê¥ªâ®¢) |
438 | ;ᮧ¤ ¨¥ ¤ ëå (áâàãªâãà ®¡ê¥ªâ®¢) |
407 | align 4 |
439 | align 4 |
408 | proc get_code_auto_data_el |
440 | proc get_code_auto_data_el |
409 | pushad |
441 | pushad |
410 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
442 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
411 | 443 | ||
412 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
444 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
413 | pop esi |
445 | pop esi |
414 | .beg_iterat: |
446 | .beg_iterat: |
415 | cmp esi,0 |
447 | cmp esi,0 |
416 | je .find_no |
448 | je .find_no |
417 | 449 | ||
418 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
450 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
419 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
451 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
420 | cmp ebx,0 |
452 | cmp ebx,0 |
421 | je .find_no |
453 | je .find_no |
422 | 454 | ||
423 | cmp dword[ebx],C_EDB |
455 | cmp dword[ebx],C_EDB |
424 | jne @f |
456 | jne @f |
425 | ;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
457 | ;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
426 | stdcall insert_text_prop, ebx,0 |
458 | stdcall insert_text_prop, ebx,0 |
427 | stdcall insert_text, txt_ebox |
459 | stdcall insert_text, txt_ebox |
428 | 460 | ||
429 | mov ecx,1 |
461 | mov ecx,1 |
430 | .prop: |
462 | .prop: |
431 | insert_sp |
463 | insert_sp |
432 | stdcall insert_text_prop, ebx,ecx |
464 | stdcall insert_text_prop, ebx,ecx |
433 | insert_coma |
465 | insert_coma |
434 | inc ecx |
466 | inc ecx |
435 | cmp ecx,10 |
467 | cmp ecx,10 |
436 | jl .prop |
468 | jl .prop |
437 | 469 | ||
438 | insert_br |
470 | insert_br |
439 | stdcall insert_text, txt_txt |
471 | stdcall insert_text, txt_txt |
440 | 472 | ||
441 | mov edx,fp_icon |
473 | mov edx,fp_icon |
442 | stdcall get_obj_id_str, ebx,edx |
474 | stdcall get_obj_id_str, ebx,edx |
443 | stdcall insert_text, edx |
475 | stdcall insert_text, edx |
444 | 476 | ||
445 | stdcall insert_text, txt_mouse_dd |
477 | stdcall insert_text, txt_mouse_dd |
446 | 478 | ||
447 | stdcall insert_text, txt_0 ;᢮©á⢠editbox |
479 | stdcall insert_text, txt_0 ;᢮©á⢠editbox |
448 | stdcall insert_bit_prop, ebx,BIT_MOD_EDIT_FOC |
480 | stdcall insert_bit_prop, ebx,BIT_MOD_EDIT_FOC |
449 | stdcall insert_bit_prop, ebx,BIT_MOD_EDIT_FIO |
481 | stdcall insert_bit_prop, ebx,BIT_MOD_EDIT_FIO |
450 | 482 | ||
451 | xchg eax,edx ;á®åà 塞 § 票¥ edx |
483 | xchg eax,edx ;á®åà 塞 § 票¥ edx |
452 | stdcall get_obj_text_col,ebx,10 |
484 | stdcall get_obj_text_col,ebx,10 |
453 | cmp byte[edx],0 ;¯à®¢¥à塞 ¯ãáâ ï «¨ áâப ¯à¨ § ¯ã᪥ editbox |
485 | cmp byte[edx],0 ;¯à®¢¥à塞 ¯ãáâ ï «¨ áâப ¯à¨ § ¯ã᪥ editbox |
454 | je .null_string |
486 | je .null_string |
455 | xchg eax,edx ;¢®áâ ¢«¨¢ ¥¬ § 票¥ edx |
487 | xchg eax,edx ;¢®áâ ¢«¨¢ ¥¬ § 票¥ edx |
456 | stdcall insert_text, txt_coma |
488 | stdcall insert_text, txt_coma |
457 | 489 | ||
458 | stdcall insert_text, txt_txt |
490 | stdcall insert_text, txt_txt |
459 | stdcall insert_text, edx |
491 | stdcall insert_text, edx |
460 | stdcall insert_text, txt_met_end |
492 | stdcall insert_text, txt_met_end |
461 | stdcall insert_text, txt_minus |
493 | stdcall insert_text, txt_minus |
462 | stdcall insert_text, txt_txt |
494 | stdcall insert_text, txt_txt |
463 | stdcall insert_text, edx |
495 | stdcall insert_text, edx |
464 | stdcall insert_text, txt_minus |
496 | stdcall insert_text, txt_minus |
465 | stdcall insert_text, txt_1 |
497 | stdcall insert_text, txt_1 |
466 | stdcall insert_text, txt_coma |
498 | stdcall insert_text, txt_coma |
467 | 499 | ||
468 | stdcall insert_text, txt_txt |
500 | stdcall insert_text, txt_txt |
469 | stdcall insert_text, edx |
501 | stdcall insert_text, edx |
470 | stdcall insert_text, txt_met_end |
502 | stdcall insert_text, txt_met_end |
471 | stdcall insert_text, txt_minus |
503 | stdcall insert_text, txt_minus |
472 | stdcall insert_text, txt_txt |
504 | stdcall insert_text, txt_txt |
473 | stdcall insert_text, edx |
505 | stdcall insert_text, edx |
474 | stdcall insert_text, txt_minus |
506 | stdcall insert_text, txt_minus |
475 | stdcall insert_text, txt_1 |
507 | stdcall insert_text, txt_1 |
476 | .null_string: |
508 | .null_string: |
477 | insert_nl |
509 | insert_nl |
478 | @@: |
510 | @@: |
479 | cmp dword[ebx],C_DTT |
511 | cmp dword[ebx],C_DTT |
480 | jne @f |
512 | jne @f |
481 | stdcall insert_text_label_data, ebx,0 |
513 | stdcall insert_text_label_data, ebx,0 |
482 | @@: |
514 | @@: |
483 | 515 | ||
484 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
516 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
485 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
517 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
486 | 518 | ||
487 | jmp .beg_iterat |
519 | jmp .beg_iterat |
488 | .find_no: |
520 | .find_no: |
489 | popad |
521 | popad |
490 | ret |
522 | ret |
491 | endp |
523 | endp |
492 | 524 | ||
493 | align 4 |
525 | align 4 |
494 | proc get_code_auto_data_el_cbox |
526 | proc get_code_auto_data_el_cbox |
495 | pushad |
527 | pushad |
496 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
528 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
497 | 529 | ||
498 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
530 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
499 | pop esi |
531 | pop esi |
500 | .beg_iterat: |
532 | .beg_iterat: |
501 | cmp esi,0 |
533 | cmp esi,0 |
502 | je .find_no |
534 | je .find_no |
503 | 535 | ||
504 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
536 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
505 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
537 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
506 | cmp ebx,0 |
538 | cmp ebx,0 |
507 | je .find_no |
539 | je .find_no |
508 | 540 | ||
509 | cmp dword[ebx],C_CHB |
541 | cmp dword[ebx],C_CHB |
510 | jne .no_check |
542 | jne .no_check |
511 | ;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt |
543 | ;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt |
512 | 544 | ||
513 | stdcall insert_text_prop, ebx,0 |
545 | stdcall insert_text_prop, ebx,0 |
514 | stdcall insert_text, txt_cbox |
546 | stdcall insert_text, txt_cbox |
515 | insert_sp |
547 | insert_sp |
516 | 548 | ||
517 | stdcall insert_2_prop_16_bit, ebx,1,3 |
549 | stdcall insert_2_prop_16_bit, ebx,1,3 |
518 | stdcall insert_text, txt_coma |
550 | stdcall insert_text, txt_coma |
519 | stdcall insert_2_prop_16_bit, ebx,2,4 |
551 | stdcall insert_2_prop_16_bit, ebx,2,4 |
520 | stdcall insert_text, txt_coma |
552 | stdcall insert_text, txt_coma |
521 | 553 | ||
522 | stdcall insert_text_prop, ebx,5 |
554 | stdcall insert_text_prop, ebx,5 |
523 | stdcall insert_text, txt_coma |
555 | stdcall insert_text, txt_coma |
524 | insert_sp |
556 | insert_sp |
525 | 557 | ||
526 | stdcall insert_text_prop, ebx,6 |
558 | stdcall insert_text_prop, ebx,6 |
527 | stdcall insert_text, txt_coma |
559 | stdcall insert_text, txt_coma |
528 | stdcall insert_text_prop, ebx,7 |
560 | stdcall insert_text_prop, ebx,7 |
529 | stdcall insert_text, txt_coma |
561 | stdcall insert_text, txt_coma |
530 | stdcall insert_text_prop, ebx,8 |
562 | stdcall insert_text_prop, ebx,8 |
531 | stdcall insert_text, txt_coma |
563 | stdcall insert_text, txt_coma |
532 | stdcall insert_text, txt_br |
564 | stdcall insert_text, txt_br |
533 | 565 | ||
534 | stdcall insert_text, txt_txt |
566 | stdcall insert_text, txt_txt |
535 | mov edx,fp_icon |
567 | mov edx,fp_icon |
536 | stdcall get_obj_id_str, ebx,edx |
568 | stdcall get_obj_id_str, ebx,edx |
537 | stdcall insert_text, edx |
569 | stdcall insert_text, edx |
538 | stdcall insert_text, txt_coma |
570 | stdcall insert_text, txt_coma |
539 | 571 | ||
540 | ;ä« £¨ |
572 | ;ä« £¨ |
541 | stdcall insert_text,txt_0 |
573 | stdcall insert_text,txt_0 |
542 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE |
574 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE |
543 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_T |
575 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_T |
544 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_M |
576 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_M |
545 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_B |
577 | stdcall insert_bit_prop, ebx,BIT_MOD_CHE_B |
546 | 578 | ||
547 | insert_nl |
579 | insert_nl |
548 | .no_check: |
580 | .no_check: |
549 | cmp dword[ebx],C_DTT |
581 | cmp dword[ebx],C_DTT |
550 | jne @f |
582 | jne @f |
551 | stdcall insert_text_label_data, ebx,0 |
583 | stdcall insert_text_label_data, ebx,0 |
552 | @@: |
584 | @@: |
553 | 585 | ||
554 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
586 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
555 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
587 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
556 | 588 | ||
557 | jmp .beg_iterat |
589 | jmp .beg_iterat |
558 | .find_no: |
590 | .find_no: |
559 | popad |
591 | popad |
560 | ret |
592 | ret |
561 | endp |
593 | endp |
562 | 594 | ||
563 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
595 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
564 | align 4 |
596 | align 4 |
565 | proc get_code_auto_data_libs_param |
597 | proc get_code_auto_data_libs_param |
566 | pushad |
598 | pushad |
567 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
599 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
568 | 600 | ||
569 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
601 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
570 | pop esi |
602 | pop esi |
571 | .beg_iterat: |
603 | .beg_iterat: |
572 | cmp esi,0 |
604 | cmp esi,0 |
573 | je .find_no |
605 | je .find_no |
574 | 606 | ||
575 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
607 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
576 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
608 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
577 | cmp ebx,0 |
609 | cmp ebx,0 |
578 | je .find_no |
610 | je .find_no |
579 | 611 | ||
580 | cmp dword[ebx],C_LIB |
612 | cmp dword[ebx],C_LIB |
581 | jne @f |
613 | jne @f |
582 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
614 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
583 | 615 | ||
584 | stdcall insert_text, txt_sys_dir |
616 | stdcall insert_text, txt_sys_dir |
585 | ;object code |
617 | ;object code |
586 | mov edx,fp_icon |
618 | mov edx,fp_icon |
587 | stdcall get_obj_id_str, ebx,edx |
619 | stdcall get_obj_id_str, ebx,edx |
588 | stdcall insert_text,edx |
620 | stdcall insert_text,edx |
589 | stdcall insert_text,txt_db |
621 | stdcall insert_text,txt_db |
590 | ;stdcall insert_text, txt_str_beg |
622 | ;stdcall insert_text, txt_str_beg |
591 | stdcall insert_text_prop, ebx,1 |
623 | stdcall insert_text_prop, ebx,1 |
592 | ;stdcall insert_text, txt_str_end |
624 | ;stdcall insert_text, txt_str_end |
593 | insert_nl |
625 | insert_nl |
594 | 626 | ||
595 | stdcall insert_text, txt_lib_name |
627 | stdcall insert_text, txt_lib_name |
596 | stdcall insert_text,edx |
628 | stdcall insert_text,edx |
597 | stdcall insert_text,txt_db |
629 | stdcall insert_text,txt_db |
598 | stdcall insert_text, txt_str_beg |
630 | stdcall insert_text, txt_str_beg |
599 | stdcall insert_text_prop, ebx,0 |
631 | stdcall insert_text_prop, ebx,0 |
600 | stdcall insert_text, txt_str_end |
632 | stdcall insert_text, txt_str_end |
601 | insert_nl |
633 | insert_nl |
602 | 634 | ||
603 | stdcall insert_text,txt_err_m_f_lib |
635 | stdcall insert_text,txt_err_m_f_lib |
604 | stdcall insert_text,edx |
636 | stdcall insert_text,edx |
605 | stdcall insert_text,txt_db |
637 | stdcall insert_text,txt_db |
606 | stdcall insert_text, txt_str_beg |
638 | stdcall insert_text, txt_str_beg |
607 | stdcall insert_text_prop, ebx,4 |
639 | stdcall insert_text_prop, ebx,4 |
608 | stdcall insert_text, txt_str_end |
640 | stdcall insert_text, txt_str_end |
609 | insert_nl |
641 | insert_nl |
610 | 642 | ||
611 | stdcall insert_text,txt_err_m_i_lib |
643 | stdcall insert_text,txt_err_m_i_lib |
612 | stdcall insert_text,edx |
644 | stdcall insert_text,edx |
613 | stdcall insert_text,txt_db |
645 | stdcall insert_text,txt_db |
614 | stdcall insert_text, txt_str_beg |
646 | stdcall insert_text, txt_str_beg |
615 | stdcall insert_text_prop, ebx,5 |
647 | stdcall insert_text_prop, ebx,5 |
616 | stdcall insert_text, txt_str_end |
648 | stdcall insert_text, txt_str_end |
617 | insert_nl |
649 | insert_nl |
618 | 650 | ||
619 | insert_nl |
651 | insert_nl |
620 | @@: |
652 | @@: |
621 | 653 | ||
622 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
654 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
623 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
655 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
624 | 656 | ||
625 | jmp .beg_iterat |
657 | jmp .beg_iterat |
626 | .find_no: |
658 | .find_no: |
627 | popad |
659 | popad |
628 | ret |
660 | ret |
629 | endp |
661 | endp |
630 | 662 | ||
631 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
663 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
632 | align 4 |
664 | align 4 |
633 | proc get_code_auto_data_libs_struc |
665 | proc get_code_auto_data_libs_struc |
634 | pushad |
666 | pushad |
635 | ;insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
667 | ;insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
636 | 668 | ||
637 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
669 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
638 | pop esi |
670 | pop esi |
639 | .beg_iterat: |
671 | .beg_iterat: |
640 | cmp esi,0 |
672 | cmp esi,0 |
641 | je .find_no |
673 | je .find_no |
642 | 674 | ||
643 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
675 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
644 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
676 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
645 | cmp ebx,0 |
677 | cmp ebx,0 |
646 | je .find_no |
678 | je .find_no |
647 | 679 | ||
648 | cmp dword[ebx],C_LIB |
680 | cmp dword[ebx],C_LIB |
649 | jne @f |
681 | jne @f |
650 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
682 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
651 | 683 | ||
652 | stdcall insert_text, txt_lib |
684 | stdcall insert_text, txt_lib |
653 | ;object code |
685 | ;object code |
654 | mov edx,fp_icon |
686 | mov edx,fp_icon |
655 | stdcall get_obj_id_str, ebx,edx |
687 | stdcall get_obj_id_str, ebx,edx |
656 | stdcall insert_text,edx |
688 | stdcall insert_text,edx |
657 | insert_sp |
689 | insert_sp |
658 | stdcall insert_text, txt_ll |
690 | stdcall insert_text, txt_ll |
659 | stdcall insert_text, txt_lib_name |
691 | stdcall insert_text, txt_lib_name |
660 | stdcall insert_text,edx |
692 | stdcall insert_text,edx |
661 | stdcall insert_text,txt_coma |
693 | stdcall insert_text,txt_coma |
662 | 694 | ||
663 | stdcall insert_text, txt_lib_path |
695 | stdcall insert_text, txt_lib_path |
664 | 696 | ||
665 | stdcall insert_text, txt_sys_dir |
697 | stdcall insert_text, txt_sys_dir |
666 | stdcall insert_text,edx |
698 | stdcall insert_text,edx |
667 | stdcall insert_text,txt_coma |
699 | stdcall insert_text,txt_coma |
668 | stdcall insert_text,txt_br |
700 | stdcall insert_text,txt_br |
669 | stdcall insert_text,txt_tab |
701 | stdcall insert_text,txt_tab |
670 | 702 | ||
671 | stdcall insert_text,txt_err_m_f_lib |
703 | stdcall insert_text,txt_err_m_f_lib |
672 | stdcall insert_text,edx |
704 | stdcall insert_text,edx |
673 | stdcall insert_text,txt_coma |
705 | stdcall insert_text,txt_coma |
674 | stdcall insert_text,txt_head_l |
706 | stdcall insert_text,txt_head_l |
675 | stdcall insert_text,txt_coma |
707 | stdcall insert_text,txt_coma |
676 | 708 | ||
677 | stdcall insert_text_prop, ebx,2 |
709 | stdcall insert_text_prop, ebx,2 |
678 | stdcall insert_text,txt_coma |
710 | stdcall insert_text,txt_coma |
679 | 711 | ||
680 | stdcall insert_text,txt_err_m_i_lib |
712 | stdcall insert_text,txt_err_m_i_lib |
681 | stdcall insert_text,edx |
713 | stdcall insert_text,edx |
682 | stdcall insert_text,txt_coma |
714 | stdcall insert_text,txt_coma |
683 | stdcall insert_text,txt_head_i |
715 | stdcall insert_text,txt_head_i |
684 | 716 | ||
685 | insert_nl |
717 | insert_nl |
686 | @@: |
718 | @@: |
687 | 719 | ||
688 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
720 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
689 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
721 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
690 | 722 | ||
691 | jmp .beg_iterat |
723 | jmp .beg_iterat |
692 | .find_no: |
724 | .find_no: |
693 | popad |
725 | popad |
694 | ret |
726 | ret |
695 | endp |
727 | endp |
696 | 728 | ||
697 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
729 | ;¤ ë¥ ¤«ï ¡¨¡«¨®â¥ª |
698 | align 4 |
730 | align 4 |
699 | proc get_code_auto_data_libs |
731 | proc get_code_auto_data_libs |
700 | pushad |
732 | pushad |
701 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
733 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
702 | 734 | ||
703 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
735 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
704 | pop esi |
736 | pop esi |
705 | .beg_iterat: |
737 | .beg_iterat: |
706 | cmp esi,0 |
738 | cmp esi,0 |
707 | je .find_no |
739 | je .find_no |
708 | 740 | ||
709 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
741 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
710 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
742 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
711 | cmp ebx,0 |
743 | cmp ebx,0 |
712 | je .find_no |
744 | je .find_no |
713 | 745 | ||
714 | cmp dword[ebx],C_LIB |
746 | cmp dword[ebx],C_LIB |
715 | jne @f |
747 | jne @f |
716 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
748 | ;0,1,2,3,4,5 - l_nam,s_dir,i_met,... |
717 | stdcall insert_text, txt_align_4 |
749 | stdcall insert_text, txt_align_4 |
718 | stdcall insert_text_prop, ebx,2 |
750 | stdcall insert_text_prop, ebx,2 |
719 | stdcall insert_text, txt_d_poi |
751 | stdcall insert_text, txt_d_poi |
720 | insert_nl |
752 | insert_nl |
721 | 753 | ||
722 | call get_code_lib_table |
754 | call get_code_lib_table |
723 | @@: |
755 | @@: |
724 | 756 | ||
725 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
757 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
726 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
758 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
727 | 759 | ||
728 | jmp .beg_iterat |
760 | jmp .beg_iterat |
729 | .find_no: |
761 | .find_no: |
730 | popad |
762 | popad |
731 | ret |
763 | ret |
732 | endp |
764 | endp |
733 | 765 | ||
734 | ;input: |
766 | ;input: |
735 | ; esi |
767 | ; esi |
736 | align 4 |
768 | align 4 |
737 | get_code_lib_table: |
769 | get_code_lib_table: |
738 | pushad |
770 | pushad |
739 | mov bl,byte[esi+2] |
771 | mov bl,byte[esi+2] |
740 | mov edi,esi |
772 | mov edi,esi |
741 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
773 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
742 | pop edx ;¯®«ã票¥ ¤ ëå த¨â¥«ì᪮£® ®¡ê¥ªâ |
774 | pop edx ;¯®«ã票¥ ¤ ëå த¨â¥«ì᪮£® ®¡ê¥ªâ |
743 | cmp edx,0 |
775 | cmp edx,0 |
744 | je @f |
776 | je @f |
745 | @@: |
777 | @@: |
746 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
778 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
747 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
779 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
748 | cmp esi,0 |
780 | cmp esi,0 |
749 | je @f |
781 | je @f |
750 | cmp byte[esi+2],bl ;lev |
782 | cmp byte[esi+2],bl ;lev |
751 | jle @f |
783 | jle @f |
752 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
784 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
753 | pop ecx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
785 | pop ecx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
754 | cmp ecx,0 |
786 | cmp ecx,0 |
755 | je @f |
787 | je @f |
756 | cmp dword[ecx],C_IFN |
788 | cmp dword[ecx],C_IFN |
757 | jne @b |
789 | jne @b |
758 | ;¢áâ ¢ª 㪠§ ⥫ï äãªæ¨î |
790 | ;¢áâ ¢ª 㪠§ ⥫ï äãªæ¨î |
759 | test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
791 | test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
760 | jae .no_com_0 |
792 | jae .no_com_0 |
761 | stdcall insert_text, txt_com |
793 | stdcall insert_text, txt_com |
762 | .no_com_0: |
794 | .no_com_0: |
763 | insert_tab |
795 | insert_tab |
764 | stdcall insert_text_prop, ecx,0 |
796 | stdcall insert_text_prop, ecx,0 |
765 | stdcall insert_text, txt_dd |
797 | stdcall insert_text, txt_dd |
766 | stdcall insert_text_prop, edx,3 ;¯à¨áâ ¢ª ª äãªæ¨¨ |
798 | stdcall insert_text_prop, edx,3 ;¯à¨áâ ¢ª ª äãªæ¨¨ |
767 | stdcall insert_text_prop, ecx,0 |
799 | stdcall insert_text_prop, ecx,0 |
768 | insert_nl |
800 | insert_nl |
769 | jmp @b |
801 | jmp @b |
770 | @@: |
802 | @@: |
771 | stdcall insert_text, txt_dd_0_0 |
803 | stdcall insert_text, txt_dd_0_0 |
772 | mov esi,edi |
804 | mov esi,edi |
773 | @@: |
805 | @@: |
774 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
806 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
775 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
807 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
776 | cmp esi,0 |
808 | cmp esi,0 |
777 | je @f |
809 | je @f |
778 | cmp byte[esi+2],bl ;lev |
810 | cmp byte[esi+2],bl ;lev |
779 | jle @f |
811 | jle @f |
780 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
812 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
781 | pop ecx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
813 | pop ecx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
782 | cmp ecx,0 |
814 | cmp ecx,0 |
783 | je @f |
815 | je @f |
784 | cmp dword[ecx],C_IFN |
816 | cmp dword[ecx],C_IFN |
785 | jne @b |
817 | jne @b |
786 | ;¢áâ ¢ª ¨¬¥¨ ¨¬¯®àâ¨à®¢ ®© äãªæ¨¨ |
818 | ;¢áâ ¢ª ¨¬¥¨ ¨¬¯®àâ¨à®¢ ®© äãªæ¨¨ |
787 | test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
819 | test_bool_prop ecx,BIT_MOD_IMPORT_FUNCT_COMMENT |
788 | jae .no_com_1 |
820 | jae .no_com_1 |
789 | stdcall insert_text, txt_com |
821 | stdcall insert_text, txt_com |
790 | .no_com_1: |
822 | .no_com_1: |
791 | insert_tab |
823 | insert_tab |
792 | stdcall insert_text_prop, edx,3 ;¯à¨áâ ¢ª ª äãªæ¨¨ |
824 | stdcall insert_text_prop, edx,3 ;¯à¨áâ ¢ª ª äãªæ¨¨ |
793 | stdcall insert_text_prop, ecx,0 |
825 | stdcall insert_text_prop, ecx,0 |
794 | stdcall insert_text, txt_db |
826 | stdcall insert_text, txt_db |
795 | stdcall insert_text, txt_str_beg |
827 | stdcall insert_text, txt_str_beg |
796 | stdcall insert_text_prop, ecx,1 |
828 | stdcall insert_text_prop, ecx,1 |
797 | stdcall insert_text, txt_str_end |
829 | stdcall insert_text, txt_str_end |
798 | insert_nl |
830 | insert_nl |
799 | jmp @b |
831 | jmp @b |
800 | @@: |
832 | @@: |
801 | popad |
833 | popad |
802 | ret |
834 | ret |
803 | 835 | ||
804 | ; |
836 | ; |
805 | align 4 |
837 | align 4 |
806 | proc get_code_auto_data_dop |
838 | proc get_code_auto_data_dop |
807 | pushad |
839 | pushad |
808 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
840 | insert_nl ;®âáâ㯠¤«ï ä®à¬ â¨à®¢ ¨ï |
809 | 841 | ||
810 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
842 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
811 | pop esi |
843 | pop esi |
812 | .beg_iterat: |
844 | .beg_iterat: |
813 | cmp esi,0 |
845 | cmp esi,0 |
814 | je .find_no |
846 | je .find_no |
815 | 847 | ||
816 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
848 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
817 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
849 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
818 | cmp ebx,0 |
850 | cmp ebx,0 |
819 | je .find_no |
851 | je .find_no |
820 | 852 | ||
821 | cmp dword[ebx],C_EDB |
853 | cmp dword[ebx],C_EDB |
822 | jne @f |
854 | jne @f |
823 | ;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
855 | ;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt |
824 | 856 | ||
825 | ;ä®à¬¨à㥬 ⥪áâ®¢ë¥ ¤ ë¥ ¤«ï editbox-®¢ |
857 | ;ä®à¬¨à㥬 ⥪áâ®¢ë¥ ¤ ë¥ ¤«ï editbox-®¢ |
826 | stdcall insert_text, txt_txt |
858 | stdcall insert_text, txt_txt |
827 | mov edx,fp_icon |
859 | mov edx,fp_icon |
828 | stdcall get_obj_id_str, ebx,edx |
860 | stdcall get_obj_id_str, ebx,edx |
829 | stdcall insert_text,edx |
861 | stdcall insert_text,edx |
830 | 862 | ||
831 | stdcall get_obj_text_col,ebx,10 |
863 | stdcall get_obj_text_col,ebx,10 |
832 | cmp byte[edx],0 |
864 | cmp byte[edx],0 |
833 | je .no_text |
865 | je .no_text |
834 | stdcall insert_text, txt_d_poi |
866 | stdcall insert_text, txt_d_poi |
835 | stdcall insert_text, txt_db |
867 | stdcall insert_text, txt_db |
836 | stdcall insert_text, txt_str_beg |
868 | stdcall insert_text, txt_str_beg |
837 | stdcall str_len,edx |
869 | stdcall str_len,edx |
838 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
870 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
839 | stdcall insert_text, txt_str_end |
871 | stdcall insert_text, txt_str_end |
840 | insert_nl |
872 | insert_nl |
841 | 873 | ||
842 | insert_tab |
874 | insert_tab |
843 | stdcall insert_text, txt_met_end |
875 | stdcall insert_text, txt_met_end |
844 | stdcall insert_text, txt_rb |
876 | stdcall insert_text, txt_rb |
845 | stdcall insert_text, txt_txt |
877 | stdcall insert_text, txt_txt |
846 | mov edx,fp_icon |
878 | mov edx,fp_icon |
847 | stdcall get_obj_id_str, ebx,edx |
879 | stdcall get_obj_id_str, ebx,edx |
848 | stdcall insert_text,edx |
880 | stdcall insert_text,edx |
849 | 881 | ||
850 | stdcall insert_text, txt_minus |
882 | stdcall insert_text, txt_minus |
851 | stdcall insert_text, txt_txt |
883 | stdcall insert_text, txt_txt |
852 | stdcall insert_text,edx |
884 | stdcall insert_text,edx |
853 | stdcall insert_text, txt_met_end |
885 | stdcall insert_text, txt_met_end |
854 | 886 | ||
855 | insert_plus |
887 | insert_plus |
856 | stdcall insert_text_prop,ebx,9 |
888 | stdcall insert_text_prop,ebx,9 |
857 | insert_plus |
889 | insert_plus |
858 | stdcall insert_text, txt_3 |
890 | stdcall insert_text, txt_3 |
859 | 891 | ||
860 | insert_nl |
892 | insert_nl |
861 | 893 | ||
862 | jmp @f |
894 | jmp @f |
863 | 895 | ||
864 | .no_text: ;¯¥à¢® ç «ì® â¥ªáâ ¥ § ¤ |
896 | .no_text: ;¯¥à¢® ç «ì® â¥ªáâ ¥ § ¤ |
865 | stdcall insert_text, txt_times |
897 | stdcall insert_text, txt_times |
866 | 898 | ||
867 | stdcall insert_text_prop,ebx,9 |
899 | stdcall insert_text_prop,ebx,9 |
868 | insert_plus |
900 | insert_plus |
869 | stdcall insert_text, txt_2 |
901 | stdcall insert_text, txt_2 |
870 | stdcall insert_text, txt_db |
902 | stdcall insert_text, txt_db |
871 | insert_0 |
903 | insert_0 |
872 | insert_nl |
904 | insert_nl |
873 | @@: |
905 | @@: |
874 | cmp dword[ebx],C_CHB |
906 | cmp dword[ebx],C_CHB |
875 | jne @f |
907 | jne @f |
876 | stdcall insert_text_label_data, ebx,9 |
908 | stdcall insert_text_label_data, ebx,9 |
877 | @@: |
909 | @@: |
878 | 910 | ||
879 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
911 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
880 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
912 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
881 | 913 | ||
882 | jmp .beg_iterat |
914 | jmp .beg_iterat |
883 | .find_no: |
915 | .find_no: |
884 | popad |
916 | popad |
885 | ret |
917 | ret |
886 | endp |
918 | endp |
887 | 919 | ||
888 | ;á¢ï§ë¢ ¥¬ ª®¯ª¨ á äãªæ¨ï¬¨ |
920 | ;á¢ï§ë¢ ¥¬ ª®¯ª¨ á äãªæ¨ï¬¨ |
889 | align 4 |
921 | align 4 |
890 | proc get_code_auto_but |
922 | proc get_code_auto_but |
891 | pushad |
923 | pushad |
892 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
924 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
893 | pop esi |
925 | pop esi |
894 | .beg_iterat: |
926 | .beg_iterat: |
895 | cmp esi,0 |
927 | cmp esi,0 |
896 | je .find_no |
928 | je .find_no |
897 | 929 | ||
898 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
930 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
899 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
931 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
900 | cmp ebx,0 |
932 | cmp ebx,0 |
901 | je .find_no |
933 | je .find_no |
902 | 934 | ||
903 | cmp dword[ebx],C_BUT |
935 | cmp dword[ebx],C_BUT |
904 | jne @f |
936 | jne @f |
905 | insert_tab |
937 | insert_tab |
906 | insert_cmp |
938 | insert_cmp |
907 | insert_reg8 txt_ah |
939 | insert_reg8 txt_ah |
908 | insert_coma |
940 | insert_coma |
909 | stdcall get_obj_text_col,ebx,0 |
941 | stdcall get_obj_text_col,ebx,0 |
910 | stdcall str_len,edx |
942 | stdcall str_len,edx |
911 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
943 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
912 | insert_nl |
944 | insert_nl |
913 | insert_tab |
945 | insert_tab |
914 | stdcall insert_text, txt_jne_f |
946 | stdcall insert_text, txt_jne_f |
915 | insert_nl |
947 | insert_nl |
916 | insert_tab |
948 | insert_tab |
917 | insert_tab |
949 | insert_tab |
918 | stdcall insert_text, txt_call |
950 | stdcall insert_text, txt_call |
919 | stdcall get_obj_text_col,ebx,6 |
951 | stdcall get_obj_text_col,ebx,6 |
920 | stdcall str_len,edx |
952 | stdcall str_len,edx |
921 | cmp eax,1 |
953 | cmp eax,1 |
922 | jl .c_fun |
954 | jl .c_fun |
923 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
955 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
924 | .c_fun: |
956 | .c_fun: |
925 | insert_nl |
957 | insert_nl |
926 | insert_tab |
958 | insert_tab |
927 | insert_a_met ;@@: |
959 | insert_a_met ;@@: |
928 | insert_nl |
960 | insert_nl |
929 | @@: |
961 | @@: |
930 | 962 | ||
931 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
963 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
932 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
964 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
933 | 965 | ||
934 | jmp .beg_iterat |
966 | jmp .beg_iterat |
935 | .find_no: |
967 | .find_no: |
936 | popad |
968 | popad |
937 | ret |
969 | ret |
938 | endp |
970 | endp |
939 | 971 | ||
940 | ;¡¥à¥¬ ª®¤ë ¤«ï äãªæ¨© ¦ ⨩ ª®¯ª¨ |
972 | ;¡¥à¥¬ ª®¤ë ¤«ï äãªæ¨© ¦ ⨩ ª®¯ª¨ |
941 | align 4 |
973 | align 4 |
942 | proc get_code_a_but_fun |
974 | proc get_code_a_but_fun |
943 | pushad |
975 | pushad |
944 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
976 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
945 | pop esi |
977 | pop esi |
946 | .beg_iterat: |
978 | .beg_iterat: |
947 | cmp esi,0 |
979 | cmp esi,0 |
948 | je .find_no |
980 | je .find_no |
949 | 981 | ||
950 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
982 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
951 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
983 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
952 | cmp ebx,0 |
984 | cmp ebx,0 |
953 | je .find_no |
985 | je .find_no |
954 | 986 | ||
955 | cmp dword[ebx],C_BUT |
987 | cmp dword[ebx],C_BUT |
956 | jne @f |
988 | jne @f |
957 | stdcall get_obj_text_col,ebx,6 |
989 | stdcall get_obj_text_col,ebx,6 |
958 | stdcall str_len,edx |
990 | stdcall str_len,edx |
959 | cmp eax,1 |
991 | cmp eax,1 |
960 | jl .c_fun |
992 | jl .c_fun |
961 | insert_nl |
993 | insert_nl |
962 | stdcall insert_text, txt_align_4 |
994 | stdcall insert_text, txt_align_4 |
963 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
995 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
964 | insert_d_poi |
996 | insert_d_poi |
965 | insert_nl |
997 | insert_nl |
966 | insert_tab |
998 | insert_tab |
967 | insert_ret |
999 | insert_ret |
968 | .c_fun: |
1000 | .c_fun: |
969 | @@: |
1001 | @@: |
970 | 1002 | ||
971 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
1003 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
972 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
1004 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
973 | 1005 | ||
974 | jmp .beg_iterat |
1006 | jmp .beg_iterat |
975 | .find_no: |
1007 | .find_no: |
976 | popad |
1008 | popad |
977 | ret |
1009 | ret |
978 | endp |
1010 | endp |
979 | 1011 | ||
980 | align 4 |
1012 | align 4 |
981 | proc get_code_key, p_obj:dword |
1013 | proc get_code_key, p_obj:dword |
982 | pushad |
1014 | pushad |
983 | insert_nl |
1015 | insert_nl |
984 | mov ebx,dword[p_obj] |
1016 | mov ebx,dword[p_obj] |
985 | 1017 | ||
986 | insert_key_beg |
1018 | insert_key_beg |
987 | call get_code_funct_key ;ª®¤ë ¢ë§®¢ ª®¯®ª |
1019 | call get_code_funct_key ;ª®¤ë ¢ë§®¢ ª®¯®ª |
988 | insert_key_end |
1020 | insert_key_end |
989 | 1021 | ||
990 | insert_nl |
1022 | insert_nl |
991 | popad |
1023 | popad |
992 | ret |
1024 | ret |
993 | endp |
1025 | endp |
994 | 1026 | ||
995 | align 4 |
1027 | align 4 |
996 | proc get_code_funct_key |
1028 | proc get_code_funct_key |
997 | pushad |
1029 | pushad |
998 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
1030 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
999 | pop esi |
1031 | pop esi |
1000 | .beg_iterat: |
1032 | .beg_iterat: |
1001 | cmp esi,0 |
1033 | cmp esi,0 |
1002 | je .find_no |
1034 | je .find_no |
1003 | 1035 | ||
1004 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
1036 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
1005 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
1037 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
1006 | cmp ebx,0 |
1038 | cmp ebx,0 |
1007 | je .find_no |
1039 | je .find_no |
1008 | 1040 | ||
1009 | cmp dword[ebx],C_EDB |
1041 | cmp dword[ebx],C_EDB |
1010 | jne @f |
1042 | jne @f |
1011 | stdcall insert_text, txt_std_key_ed |
1043 | stdcall insert_text, txt_std_key_ed |
1012 | stdcall insert_text_prop,ebx,0 |
1044 | stdcall insert_text_prop,ebx,0 |
1013 | insert_nl |
1045 | insert_nl |
1014 | @@: |
1046 | @@: |
1015 | 1047 | ||
1016 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
1048 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
1017 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
1049 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
1018 | 1050 | ||
1019 | jmp .beg_iterat |
1051 | jmp .beg_iterat |
1020 | .find_no: |
1052 | .find_no: |
1021 | popad |
1053 | popad |
1022 | ret |
1054 | ret |
1023 | endp |
1055 | endp |
1024 | 1056 | ||
1025 | ;®¡ê¥ªâë ¯®¤ª«î票ï ä ©«®¢ 'include ...' |
1057 | ;®¡ê¥ªâë ¯®¤ª«î票ï ä ©«®¢ 'include ...' |
1026 | align 4 |
1058 | align 4 |
1027 | proc get_code_incl, p_obj:dword |
1059 | proc get_code_incl, p_obj:dword |
1028 | pushad |
1060 | pushad |
1029 | stdcall insert_text, txt_incl |
1061 | stdcall insert_text, txt_incl |
1030 | mov ebx,dword[p_obj] |
1062 | mov ebx,dword[p_obj] |
1031 | stdcall insert_text_prop,ebx,0 |
1063 | stdcall insert_text_prop,ebx,0 |
1032 | 1064 | ||
1033 | stdcall get_obj_text_col,ebx,1 |
1065 | stdcall get_obj_text_col,ebx,1 |
1034 | stdcall str_len,edx |
1066 | stdcall str_len,edx |
1035 | cmp eax,1 |
1067 | cmp eax,1 |
1036 | jl @f |
1068 | jl @f |
1037 | insert_sp |
1069 | insert_sp |
1038 | insert_com |
1070 | insert_com |
1039 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
1071 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
1040 | @@: |
1072 | @@: |
1041 | 1073 | ||
1042 | insert_nl |
1074 | insert_nl |
1043 | popad |
1075 | popad |
1044 | ret |
1076 | ret |
1045 | endp |
1077 | endp |
1046 | 1078 | ||
1047 | ;ᮧ¤ ¥¬ ª®¤ § ¤ ¨ï ®ª |
1079 | ;ᮧ¤ ¥¬ ª®¤ § ¤ ¨ï ®ª |
1048 | align 4 |
1080 | align 4 |
1049 | proc get_code_window, p_obj:dword |
1081 | proc get_code_window, p_obj:dword |
1050 | pushad |
1082 | pushad |
1051 | mov ebx,dword[p_obj] |
1083 | mov ebx,dword[p_obj] |
1052 | ;2,3,4,5,6 - x,y,w,h,col_bkg |
1084 | ;2,3,4,5,6 - x,y,w,h,col_bkg |
1053 | 1085 | ||
1054 | stdcall insert_text, txt_draw_wb |
1086 | stdcall insert_text, txt_draw_wb |
1055 | 1087 | ||
1056 | insert_tab |
1088 | insert_tab |
1057 | insert_xor |
1089 | insert_xor |
1058 | insert_reg txt_eax |
1090 | insert_reg txt_eax |
1059 | insert_coma |
1091 | insert_coma |
1060 | insert_reg txt_eax |
1092 | insert_reg txt_eax |
1061 | insert_nl |
1093 | insert_nl |
1062 | 1094 | ||
1063 | ;mov ebx,... |
1095 | ;mov ebx,... |
1064 | insert_tab |
1096 | insert_tab |
1065 | stdcall insert_text, txt_mov |
1097 | stdcall insert_text, txt_mov |
1066 | insert_reg txt_ebx |
1098 | insert_reg txt_ebx |
1067 | insert_coma |
1099 | insert_coma |
1068 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1100 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1069 | insert_nl |
1101 | insert_nl |
1070 | 1102 | ||
1071 | ;mov ecx,... |
1103 | ;mov ecx,... |
1072 | insert_tab |
1104 | insert_tab |
1073 | stdcall insert_text, txt_mov |
1105 | stdcall insert_text, txt_mov |
1074 | insert_reg txt_ecx |
1106 | insert_reg txt_ecx |
1075 | insert_coma |
1107 | insert_coma |
1076 | stdcall insert_2_prop_16_bit, ebx,3,5 |
1108 | stdcall insert_2_prop_16_bit, ebx,3,5 |
1077 | insert_nl |
1109 | insert_nl |
1078 | 1110 | ||
1079 | ;mov edx,... |
1111 | ;mov edx,... |
1080 | insert_tab |
1112 | insert_tab |
1081 | stdcall insert_text, txt_mov |
1113 | stdcall insert_text, txt_mov |
1082 | insert_reg txt_edx |
1114 | insert_reg txt_edx |
1083 | insert_coma |
1115 | insert_coma |
1084 | stdcall insert_text_prop, ebx,6 |
1116 | stdcall insert_text_prop, ebx,6 |
1085 | insert_nl |
1117 | insert_nl |
1086 | 1118 | ||
1087 | ;or edx,0x33000000 |
1119 | ;or edx,0x33000000 |
1088 | insert_tab |
1120 | insert_tab |
1089 | stdcall insert_text, txt_or |
1121 | stdcall insert_text, txt_or |
1090 | insert_reg txt_edx |
1122 | insert_reg txt_edx |
1091 | insert_coma |
1123 | insert_coma |
1092 | stdcall insert_text, txt_0x33000000 |
1124 | stdcall insert_text, txt_0x33000000 |
1093 | insert_nl |
1125 | insert_nl |
1094 | 1126 | ||
1095 | ;mov edi,... |
1127 | ;mov edi,... |
1096 | insert_tab |
1128 | insert_tab |
1097 | stdcall insert_text, txt_mov |
1129 | stdcall insert_text, txt_mov |
1098 | insert_reg txt_edi |
1130 | insert_reg txt_edi |
1099 | insert_coma |
1131 | insert_coma |
1100 | stdcall insert_text_prop, ebx,0 |
1132 | stdcall insert_text_prop, ebx,0 |
1101 | insert_nl |
1133 | insert_nl |
1102 | 1134 | ||
1103 | insert_tab |
1135 | insert_tab |
1104 | stdcall insert_text, txt_i_40 |
1136 | stdcall insert_text, txt_i_40 |
1105 | insert_nl |
1137 | insert_nl |
1106 | 1138 | ||
1107 | call get_code_draw_obj |
1139 | call get_code_draw_obj |
1108 | - | ||
1109 | stdcall insert_text, txt_draw_we ;ª®¤ § ¢¥àè î騩 äãªæ¨î à¨á®¢ ¨ï |
- | |
1110 | popad |
1140 | popad |
1111 | ret |
1141 | ret |
1112 | endp |
1142 | endp |
1113 | 1143 | ||
1114 | 1144 | ||
1115 | ;ä®à¬¨à㥬 ¢ë§®¢ äãªæ¨© ¤«ï à¨á®¢ ¨ï ®¡ê¥ªâ®¢ |
1145 | ;ä®à¬¨à㥬 ¢ë§®¢ äãªæ¨© ¤«ï à¨á®¢ ¨ï ®¡ê¥ªâ®¢ |
1116 | align 4 |
1146 | align 4 |
1117 | proc get_code_draw_obj |
1147 | proc get_code_draw_obj |
1118 | pushad |
1148 | pushad |
1119 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
1149 | stdcall dword[tl_node_poi_get_info], 0,tree2 |
1120 | pop esi |
1150 | pop esi |
1121 | .beg_iterat: |
1151 | .beg_iterat: |
1122 | cmp esi,0 |
1152 | cmp esi,0 |
1123 | je .find_no |
1153 | je .find_no |
1124 | 1154 | ||
1125 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
1155 | stdcall dword[tl_node_poi_get_data], esi,tree2 |
1126 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
1156 | pop ebx ;¯®«ãç ¥¬ ¤ ë¥ ã§« |
1127 | cmp ebx,0 |
1157 | cmp ebx,0 |
1128 | je .find_no |
1158 | je .find_no |
1129 | 1159 | ||
1130 | cmp dword[ebx],C_EDB |
1160 | cmp dword[ebx],C_EDB |
1131 | jne @f |
1161 | jne @f |
1132 | stdcall insert_text, txt_editb_draw |
1162 | stdcall insert_text, txt_editb_draw |
1133 | stdcall insert_text_prop, ebx,0 |
1163 | stdcall insert_text_prop, ebx,0 |
1134 | insert_nl |
1164 | insert_nl |
1135 | @@: |
1165 | @@: |
1136 | cmp dword[ebx],C_CHB |
1166 | cmp dword[ebx],C_CHB |
1137 | jne @f |
1167 | jne @f |
1138 | stdcall insert_text, txt_cbox_draw |
1168 | stdcall insert_text, txt_cbox_draw |
1139 | stdcall insert_text_prop, ebx,0 |
1169 | stdcall insert_text_prop, ebx,0 |
1140 | insert_nl |
1170 | insert_nl |
1141 | @@: |
1171 | @@: |
1142 | cmp dword[ebx],C_BUT |
1172 | cmp dword[ebx],C_BUT |
1143 | jne .ob_draw_but |
1173 | jne .ob_draw_but |
1144 | insert_tab |
1174 | insert_tab |
1145 | stdcall insert_text, txt_mov |
1175 | stdcall insert_text, txt_mov |
1146 | insert_reg txt_eax |
1176 | insert_reg txt_eax |
1147 | insert_coma |
1177 | insert_coma |
1148 | stdcall insert_text, txt_8 |
1178 | stdcall insert_text, txt_8 |
1149 | insert_nl |
1179 | insert_nl |
1150 | 1180 | ||
1151 | insert_tab |
1181 | insert_tab |
1152 | stdcall insert_text, txt_mov |
1182 | stdcall insert_text, txt_mov |
1153 | insert_reg txt_ebx |
1183 | insert_reg txt_ebx |
1154 | insert_coma |
1184 | insert_coma |
1155 | stdcall insert_2_prop_16_bit, ebx,1,3 |
1185 | stdcall insert_2_prop_16_bit, ebx,1,3 |
1156 | insert_nl |
1186 | insert_nl |
1157 | 1187 | ||
1158 | insert_tab |
1188 | insert_tab |
1159 | stdcall insert_text, txt_mov |
1189 | stdcall insert_text, txt_mov |
1160 | insert_reg txt_ecx |
1190 | insert_reg txt_ecx |
1161 | insert_coma |
1191 | insert_coma |
1162 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1192 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1163 | insert_nl |
1193 | insert_nl |
1164 | 1194 | ||
1165 | insert_tab |
1195 | insert_tab |
1166 | stdcall insert_text, txt_mov |
1196 | stdcall insert_text, txt_mov |
1167 | insert_reg txt_edx |
1197 | insert_reg txt_edx |
1168 | insert_coma |
1198 | insert_coma |
1169 | stdcall insert_text_prop, ebx,0 |
1199 | stdcall insert_text_prop, ebx,0 |
1170 | test_bool_prop ebx,BIT_MOD_BUT_NFON |
1200 | test_bool_prop ebx,BIT_MOD_BUT_NFON |
1171 | jnc @f |
1201 | jnc @f |
1172 | stdcall insert_text, txt_plus |
1202 | stdcall insert_text, txt_plus |
1173 | stdcall insert_text, txt_bit_30 |
1203 | stdcall insert_text, txt_bit_30 |
1174 | @@: |
1204 | @@: |
1175 | test_bool_prop ebx,BIT_MOD_BUT_NBORD |
1205 | test_bool_prop ebx,BIT_MOD_BUT_NBORD |
1176 | jnc @f |
1206 | jnc @f |
1177 | stdcall insert_text, txt_plus |
1207 | stdcall insert_text, txt_plus |
1178 | stdcall insert_text, txt_bit_29 |
1208 | stdcall insert_text, txt_bit_29 |
1179 | @@: |
1209 | @@: |
1180 | insert_nl |
1210 | insert_nl |
1181 | 1211 | ||
1182 | insert_tab |
1212 | insert_tab |
1183 | stdcall insert_text, txt_mov |
1213 | stdcall insert_text, txt_mov |
1184 | insert_reg txt_esi |
1214 | insert_reg txt_esi |
1185 | insert_coma |
1215 | insert_coma |
1186 | stdcall insert_text_prop, ebx,5 ;button color |
1216 | stdcall insert_text_prop, ebx,5 ;button color |
1187 | insert_nl |
1217 | insert_nl |
1188 | 1218 | ||
1189 | insert_tab |
1219 | insert_tab |
1190 | stdcall insert_text, txt_i_40 |
1220 | stdcall insert_text, txt_i_40 |
1191 | insert_nl |
1221 | insert_nl |
1192 | .ob_draw_but: |
1222 | .ob_draw_but: |
1193 | cmp dword[ebx],C_REC |
1223 | cmp dword[ebx],C_REC |
1194 | jne @f |
1224 | jne @f |
1195 | insert_tab |
1225 | insert_tab |
1196 | stdcall insert_text, txt_mov |
1226 | stdcall insert_text, txt_mov |
1197 | insert_reg txt_eax |
1227 | insert_reg txt_eax |
1198 | insert_coma |
1228 | insert_coma |
1199 | stdcall insert_text, txt_1 |
1229 | stdcall insert_text, txt_1 |
1200 | stdcall insert_text, txt_3 |
1230 | stdcall insert_text, txt_3 |
1201 | insert_nl |
1231 | insert_nl |
1202 | 1232 | ||
1203 | insert_tab |
1233 | insert_tab |
1204 | stdcall insert_text, txt_mov |
1234 | stdcall insert_text, txt_mov |
1205 | insert_reg txt_ebx |
1235 | insert_reg txt_ebx |
1206 | insert_coma |
1236 | insert_coma |
1207 | stdcall insert_2_prop_16_bit, ebx,1,3 |
1237 | stdcall insert_2_prop_16_bit, ebx,1,3 |
1208 | insert_nl |
1238 | insert_nl |
1209 | 1239 | ||
1210 | insert_tab |
1240 | insert_tab |
1211 | stdcall insert_text, txt_mov |
1241 | stdcall insert_text, txt_mov |
1212 | insert_reg txt_ecx |
1242 | insert_reg txt_ecx |
1213 | insert_coma |
1243 | insert_coma |
1214 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1244 | stdcall insert_2_prop_16_bit, ebx,2,4 |
1215 | insert_nl |
1245 | insert_nl |
1216 | 1246 | ||
1217 | insert_tab |
1247 | insert_tab |
1218 | stdcall insert_text, txt_mov |
1248 | stdcall insert_text, txt_mov |
1219 | insert_reg txt_edx |
1249 | insert_reg txt_edx |
1220 | insert_coma |
1250 | insert_coma |
1221 | stdcall insert_text_prop, ebx,0 ;rect color |
1251 | stdcall insert_text_prop, ebx,0 ;rect color |
1222 | insert_nl |
1252 | insert_nl |
1223 | 1253 | ||
1224 | insert_tab |
1254 | insert_tab |
1225 | stdcall insert_text, txt_i_40 |
1255 | stdcall insert_text, txt_i_40 |
1226 | insert_nl |
1256 | insert_nl |
1227 | @@: |
1257 | @@: |
1228 | cmp dword[ebx],C_DTT ;à¨á®¢ ¨¥ ⥪áâ ç¥à¥§ á¨áâ. ä. 4 |
1258 | cmp dword[ebx],C_DTT ;à¨á®¢ ¨¥ ⥪áâ ç¥à¥§ á¨áâ. ä. 4 |
1229 | jne .ob_draw_text |
1259 | jne .ob_draw_text |
1230 | insert_tab |
1260 | insert_tab |
1231 | stdcall insert_text, txt_mov |
1261 | stdcall insert_text, txt_mov |
1232 | insert_reg txt_eax |
1262 | insert_reg txt_eax |
1233 | insert_coma |
1263 | insert_coma |
1234 | stdcall insert_text, txt_4 |
1264 | stdcall insert_text, txt_4 |
1235 | insert_nl |
1265 | insert_nl |
1236 | 1266 | ||
1237 | insert_tab |
1267 | insert_tab |
1238 | stdcall insert_text, txt_mov |
1268 | stdcall insert_text, txt_mov |
1239 | insert_reg txt_ebx |
1269 | insert_reg txt_ebx |
1240 | insert_coma |
1270 | insert_coma |
1241 | stdcall insert_2_prop_16_bit, ebx,1,2 |
1271 | stdcall insert_2_prop_16_bit, ebx,1,2 |
1242 | insert_nl |
1272 | insert_nl |
1243 | 1273 | ||
1244 | insert_tab |
1274 | insert_tab |
1245 | stdcall insert_text, txt_mov |
1275 | stdcall insert_text, txt_mov |
1246 | insert_reg txt_ecx |
1276 | insert_reg txt_ecx |
1247 | insert_coma |
1277 | insert_coma |
1248 | stdcall insert_text_prop, ebx,3 |
1278 | stdcall insert_text_prop, ebx,3 |
1249 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_ASCII_0 ;31 - ¡¨â ¤«ï áâப¨ ASCIIZ |
1279 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_ASCII_0 ;31 - ¡¨â ¤«ï áâப¨ ASCIIZ |
1250 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_NO_TRAN ;30 - ¡¨â ¤«ï ¥ ¯à®§à 箣® ⥪áâ |
1280 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_NO_TRAN ;30 - ¡¨â ¤«ï ¥ ¯à®§à 箣® ⥪áâ |
1251 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_CHAR2 ;28 - ¡¨â ¤«ï 2-£® á¨áâ. èà¨äâ |
1281 | stdcall insert_bit_prop, ebx,BIT_MOD_TXT_CHAR2 ;28 - ¡¨â ¤«ï 2-£® á¨áâ. èà¨äâ |
1252 | insert_nl |
1282 | insert_nl |
1253 | 1283 | ||
1254 | insert_tab |
1284 | insert_tab |
1255 | stdcall insert_text, txt_mov |
1285 | stdcall insert_text, txt_mov |
1256 | insert_reg txt_edx |
1286 | insert_reg txt_edx |
1257 | insert_coma |
1287 | insert_coma |
1258 | stdcall insert_text, txt_txt |
1288 | stdcall insert_text, txt_txt |
1259 | mov edx,fp_icon |
1289 | mov edx,fp_icon |
1260 | stdcall get_obj_id_str, ebx,edx |
1290 | stdcall get_obj_id_str, ebx,edx |
1261 | stdcall insert_text,edx |
1291 | stdcall insert_text,edx |
1262 | insert_nl |
1292 | insert_nl |
1263 | 1293 | ||
1264 | ;mov esi,... |
1294 | ;mov esi,... |
1265 | test_bool_prop ebx,BIT_MOD_TXT_NO_TRAN |
1295 | test_bool_prop ebx,BIT_MOD_TXT_NO_TRAN |
1266 | jnc @f |
1296 | jnc @f |
1267 | insert_tab |
1297 | insert_tab |
1268 | stdcall insert_text, txt_mov |
1298 | stdcall insert_text, txt_mov |
1269 | insert_reg txt_edi |
1299 | insert_reg txt_edi |
1270 | insert_coma |
1300 | insert_coma |
1271 | stdcall insert_text_prop, ebx,4 ;梥â ä® |
1301 | stdcall insert_text_prop, ebx,4 ;梥â ä® |
1272 | insert_nl |
1302 | insert_nl |
1273 | @@: |
1303 | @@: |
1274 | 1304 | ||
1275 | insert_tab |
1305 | insert_tab |
1276 | stdcall insert_text, txt_i_40 |
1306 | stdcall insert_text, txt_i_40 |
1277 | insert_nl |
1307 | insert_nl |
1278 | .ob_draw_text: |
1308 | .ob_draw_text: |
1279 | 1309 | ||
1280 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
1310 | stdcall dword[tl_node_poi_get_next_info], esi,tree2 |
1281 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
1311 | pop esi ;¯¥à¥å®¤¨¬ ª á«¥¤ã饬ã 㧫ã |
1282 | 1312 | ||
1283 | jmp .beg_iterat |
1313 | jmp .beg_iterat |
1284 | .find_no: |
1314 | .find_no: |
1285 | popad |
1315 | popad |
1286 | ret |
1316 | ret |
1287 | endp |
1317 | endp |
1288 | 1318 | ||
1289 | ;ᮧ¤ âì ª®¤ ®¡ê¥¨ï ¯¥à¥¬¥®© |
1319 | ;ᮧ¤ âì ª®¤ ®¡ê¥¨ï ¯¥à¥¬¥®© |
1290 | align 4 |
1320 | align 4 |
1291 | proc get_code_variable, p_obj:dword,o_lev:dword |
1321 | proc get_code_variable, p_obj:dword,o_lev:dword |
1292 | pushad |
1322 | pushad |
1293 | mov ebx,dword[p_obj] |
1323 | mov ebx,dword[p_obj] |
1294 | ;0,1,2 - name,value,comment |
1324 | ;0,1,2 - name,value,comment |
1295 | 1325 | ||
1296 | mov ecx,dword[o_lev] |
1326 | mov ecx,dword[o_lev] |
1297 | cmp cl,0 |
1327 | cmp cl,0 |
1298 | je .no_tab ;¨§¡¥£ ¥¬ § 横«¨¢ ¨ï (0-1 = 2^32-1) |
1328 | je .no_tab ;¨§¡¥£ ¥¬ § 横«¨¢ ¨ï (0-1 = 2^32-1) |
1299 | and ecx,0xff |
1329 | and ecx,0xff |
1300 | cld |
1330 | cld |
1301 | @@: |
1331 | @@: |
1302 | insert_tab ;ä®à¬¨à®¢ ¨¥ ®âáâ㯠¯¥à¥¤ ¯¥à¥¬¥®© |
1332 | insert_tab ;ä®à¬¨à®¢ ¨¥ ®âáâ㯠¯¥à¥¤ ¯¥à¥¬¥®© |
1303 | loop @b |
1333 | loop @b |
1304 | .no_tab: |
1334 | .no_tab: |
1305 | 1335 | ||
1306 | stdcall insert_text_prop, ebx,0 ;¨¬ï ¯¥à¥¬¥®© |
1336 | stdcall insert_text_prop, ebx,0 ;¨¬ï ¯¥à¥¬¥®© |
1307 | insert_sp |
1337 | insert_sp |
1308 | 1338 | ||
1309 | mov ecx,dword[ebx+u_object.typid-u_object] ;ecx - ®â®á¨â¥«ìë© ¨¤¥ªá த¨â¥«ì᪮£® ®¡ê¥ªâ (¢ ¯ ¬ïâ¨) |
1339 | mov ecx,dword[ebx+u_object.typid-u_object] ;ecx - ®â®á¨â¥«ìë© ¨¤¥ªá த¨â¥«ì᪮£® ®¡ê¥ªâ (¢ ¯ ¬ïâ¨) |
1310 | xor eax,eax |
1340 | xor eax,eax |
1311 | mov ax,[tree2.info_size] |
1341 | mov ax,[tree2.info_size] |
1312 | imul ecx,eax ;㬮¦ ¥¬ ¨¤¥ªá à §¬¥à áâàãªâãàë |
1342 | imul ecx,eax ;㬮¦ ¥¬ ¨¤¥ªá à §¬¥à áâàãªâãàë |
1313 | add ecx,[tree2.data_info] ;ecx - 㪠§ â¥«ì ¤ ë¥ à®¤¨â¥«ì᪮£® 㧫 |
1343 | add ecx,[tree2.data_info] ;ecx - 㪠§ â¥«ì ¤ ë¥ à®¤¨â¥«ì᪮£® 㧫 |
1314 | 1344 | ||
1315 | ;¯à®¢¥àªã ¯à ¢¨«ì®áâì ecx ??? |
1345 | ;¯à®¢¥àªã ¯à ¢¨«ì®áâì ecx ??? |
1316 | 1346 | ||
1317 | stdcall insert_text_prop, ecx,0 ;⨯ ¯¥à¥¬¥®© |
1347 | stdcall insert_text_prop, ecx,0 ;⨯ ¯¥à¥¬¥®© |
1318 | insert_sp |
1348 | insert_sp |
1319 | stdcall insert_text_prop, ebx,1 ;§ 票¥ |
1349 | stdcall insert_text_prop, ebx,1 ;§ 票¥ |
1320 | 1350 | ||
1321 | stdcall get_obj_text_col,ebx,2 ;ª®¬¬¥â ਩ |
1351 | stdcall get_obj_text_col,ebx,2 ;ª®¬¬¥â ਩ |
1322 | stdcall str_len,edx |
1352 | stdcall str_len,edx |
1323 | cmp eax,1 |
1353 | cmp eax,1 |
1324 | jl @f |
1354 | jl @f |
1325 | insert_sp |
1355 | insert_sp |
1326 | insert_com |
1356 | insert_com |
1327 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
1357 | stdcall [ted_text_add], tedit0,edx,eax,ted_opt_ed_move_cursor |
1328 | @@: |
1358 | @@: |
1329 | insert_nl |
1359 | insert_nl |
1330 | 1360 | ||
1331 | popad |
1361 | popad |
1332 | ret |
1362 | ret |
1333 | endp |
1363 | endp |
1334 | 1364 | ||
1335 | 1365 | ||
1336 | 1366 | ||
1337 | ;--- ⥪áâ®¢ë¥ ª®áâ âë --- |
1367 | ;--- ⥪áâ®¢ë¥ ª®áâ âë --- |
1338 | txt_str_beg db 39,0 |
1368 | txt_str_beg db 39,0 |
1339 | txt_str_end db 39,',0',0 |
1369 | txt_str_end db 39,',0',0 |
1340 | txt_coma db ',',0 |
1370 | txt_coma db ',',0 |
1341 | txt_skob_o db '(',0 |
1371 | txt_skob_o db '(',0 |
1342 | txt_skob_c db ')',0 |
1372 | txt_skob_c db ')',0 |
1343 | txt_skob_fo db '{',0 ;᪮¡ª 䨣ãà ï ®âªàë¢ îé ï |
1373 | txt_skob_fo db '{',0 ;᪮¡ª 䨣ãà ï ®âªàë¢ îé ï |
1344 | txt_skob_fc db '}',0 ;᪮¡ª 䨣ãà ï § ªàë¢ îé ï |
1374 | txt_skob_fc db '}',0 ;᪮¡ª 䨣ãà ï § ªàë¢ îé ï |
1345 | txt_i_40 db 'int 0x40',13,0 |
1375 | txt_i_40 db 'int 0x40',13,0 |
1346 | txt_0 db '0',0 |
1376 | txt_0 db '0',0 |
1347 | txt_1 db '1',0 |
1377 | txt_1 db '1',0 |
1348 | txt_2 db '2',0 |
1378 | txt_2 db '2',0 |
1349 | txt_3 db '3',0 |
1379 | txt_3 db '3',0 |
1350 | txt_4 db '4',0 |
1380 | txt_4 db '4',0 |
1351 | txt_8 db '8',0 |
1381 | txt_8 db '8',0 |
1352 | txt_plus db '+',0 |
1382 | txt_plus db '+',0 |
1353 | txt_minus db '-',0 |
1383 | txt_minus db '-',0 |
1354 | ;txt_dol db '$',0 |
1384 | ;txt_dol db '$',0 |
1355 | txt_nl db 13,0 |
1385 | txt_nl db 13,0 |
1356 | txt_com db ';',0 |
1386 | txt_com db ';',0 |
1357 | txt_sp db ' ',0 |
1387 | txt_sp db ' ',0 |
1358 | txt_tab db 9,0 |
1388 | txt_tab db 9,0 |
1359 | txt_br db '\',13,9,0 |
1389 | txt_br db '\',13,9,0 |
1360 | txt_txt db 'txt_',0 |
1390 | txt_txt db 'txt_',0 |
1361 | txt_db db ' db ',0 |
1391 | txt_db db ' db ',0 |
1362 | txt_dd db ' dd ',0 |
1392 | txt_dd db ' dd ',0 |
1363 | txt_rb db ' rb ',0 |
1393 | txt_rb db ' rb ',0 |
1364 | txt_dd_0_0 db 9,'dd 0,0',13,0 |
1394 | txt_dd_0_0 db 9,'dd 0,0',13,0 |
1365 | txt_mouse_dd db ', mouse_dd, ',0 |
1395 | txt_mouse_dd db ', mouse_dd, ',0 |
1366 | txt_times db ':',13,9,'times ',0 |
1396 | txt_times db ':',13,9,'times ',0 |
1367 | txt_draw_wb: |
1397 | txt_draw_wb: |
1368 | db 13,'align 4',13,'draw_window:',13,'pushad',13,9,'mcall 12,1',13,0 |
1398 | db 13,'align 4',13,'draw_window:',13,'pushad',13,9,'mcall 12,1',13,0 |
1369 | txt_draw_we: |
1399 | txt_draw_we: |
1370 | db 9,'mcall 12,2',13,'popad',13,9,'ret',13,0 |
1400 | db 9,'mcall 12,2',13,'popad',13,9,'ret',13,0 |
1371 | txt_sys_dir db 'system_dir_',0 |
1401 | txt_sys_dir db 'system_dir_',0 |
1372 | txt_lib_name db 'lib_name_',0 |
1402 | txt_lib_name db 'lib_name_',0 |
1373 | txt_lib_path db ' sys_path, library_path, ',0 |
1403 | txt_lib_path db ' sys_path, library_path, ',0 |
1374 | txt_sys_err db '¨á⥬ ï ®è¨¡ª ',0 |
1404 | txt_sys_err db '¨á⥬ ï ®è¨¡ª ',0 |
1375 | txt_ll_start db 'l_libs_start:',13,0 |
1405 | txt_ll_start db 'l_libs_start:',13,0 |
1376 | txt_lib db 9,'lib_',0 |
1406 | txt_lib db 9,'lib_',0 |
1377 | txt_ll db 'l_libs ',0 |
1407 | txt_ll db 'l_libs ',0 |
1378 | txt_err_m_f_lib db 'err_msg_found_lib_',0 |
1408 | txt_err_m_f_lib db 'err_msg_found_lib_',0 |
1379 | txt_head_l db 'head_f_l',0 |
1409 | txt_head_l db 'head_f_l',0 |
1380 | txt_err_m_i_lib db 'err_msg_import_',0 |
1410 | txt_err_m_i_lib db 'err_msg_import_',0 |
1381 | txt_head_i db 'head_f_i',0 |
1411 | txt_head_i db 'head_f_i',0 |
1382 | txt_ll_end db 'l_libs_end:',13,0 |
1412 | txt_ll_end db 'l_libs_end:',13,0 |
1383 | ;txt_bit_28 db '0x10000000',0 |
1413 | ;txt_bit_28 db '0x10000000',0 |
1384 | txt_bit_29 db '0x20000000',0 |
1414 | txt_bit_29 db '0x20000000',0 |
1385 | txt_bit_30 db '0x40000000',0 |
1415 | txt_bit_30 db '0x40000000',0 |
1386 | ;txt_bit_31 db '0x80000000',0 |
1416 | ;txt_bit_31 db '0x80000000',0 |
1387 | txt_0x33000000 db '0x33000000',0 ;tmp |
1417 | txt_0x33000000 db '0x33000000',0 ;tmp |
1388 | txt_struc db 'struc',0 |
1418 | txt_struc db 'struc',0 |
1389 | txt_t db 't',0 |
1419 | txt_t db 't',0 |
1390 | txt_met_end db '.end',0 |
1420 | txt_met_end db '.end',0 |
1391 | txt_ends db 'ends',13,13,0 |
1421 | txt_ends db 'ends',13,13,0 |
1392 | txt_mov db 'mov ',0 |
1422 | txt_mov db 'mov ',0 |
1393 | txt_xor db 'xor ',0 |
1423 | txt_xor db 'xor ',0 |
1394 | txt_or db 'or ',0 |
1424 | txt_or db 'or ',0 |
1395 | txt_cmp db 'cmp ',0 |
1425 | txt_cmp db 'cmp ',0 |
1396 | txt_call db 'call ',0 |
1426 | txt_call db 'call ',0 |
1397 | txt_jne_f db 'jne @f',0 |
1427 | txt_jne_f db 'jne @f',0 |
1398 | txt_a_met db '@@:',0 |
1428 | txt_a_met db '@@:',0 |
1399 | txt_ah db 'ah',0 |
1429 | txt_ah db 'ah',0 |
1400 | txt_eax db 'eax',0 |
1430 | txt_eax db 'eax',0 |
1401 | txt_ebx db 'ebx',0 |
1431 | txt_ebx db 'ebx',0 |
1402 | txt_ecx db 'ecx',0 |
1432 | txt_ecx db 'ecx',0 |
1403 | txt_edx db 'edx',0 |
1433 | txt_edx db 'edx',0 |
1404 | txt_edi db 'edi',0 |
1434 | txt_edi db 'edi',0 |
1405 | txt_esi db 'esi',0 |
1435 | txt_esi db 'esi',0 |
1406 | txt_align_4 db 'align 4',13,0 |
1436 | txt_align_4 db 'align 4',13,0 |
1407 | txt_d_poi db ':',0 |
1437 | txt_d_poi db ':',0 |
1408 | txt_ret db 'ret',13,0 |
1438 | txt_ret db 'ret',13,0 |
1409 | txt_shl_16 db ' shl 16',0 |
1439 | txt_shl_16 db ' shl 16',0 |
1410 | txt_std_mouse_ed: |
1440 | txt_std_mouse_ed: |
1411 | db 9,'stdcall [edit_box_mouse], ',0 |
1441 | db 9,'stdcall [edit_box_mouse], ',0 |
1412 | txt_std_init_cb: |
1442 | txt_std_init_cb: |
1413 | db 9,'init_checkboxes2 check_boxes,check_boxes_end',13,0 |
1443 | db 9,'init_checkboxes2 check_boxes,check_boxes_end',13,0 |
1414 | txt_std_mouse_cb: |
1444 | txt_std_mouse_cb: |
1415 | db 9,'stdcall [check_box_mouse], ',0 |
1445 | db 9,'stdcall [check_box_mouse], ',0 |
1416 | txt_std_key_ed: |
1446 | txt_std_key_ed: |
1417 | db 9,'stdcall [edit_box_key], ',0 |
1447 | db 9,'stdcall [edit_box_key], ',0 |
1418 | txt_incl: |
1448 | txt_incl: |
1419 | db 'include ',0 |
1449 | db 'include ',0 |
1420 | 1450 | ||
1421 | txt_cbox db ' check_box2',0 |
1451 | txt_cbox db ' check_box2',0 |
1422 | txt_cb_b db 13,'check_boxes:',0 |
1452 | txt_cb_b db 13,'check_boxes:',0 |
1423 | txt_cb_e db 'check_boxes_end:',13,0 |
1453 | txt_cb_e db 'check_boxes_end:',13,0 |
1424 | 1454 | ||
1425 | txt_ebox db ' edit_box',0 |
1455 | txt_ebox db ' edit_box',0 |
1426 | txt_editb_draw: |
- | |
1427 | db 9,'stdcall [edit_box_draw], ',0 |
1456 | txt_editb_draw db 9,'stdcall [edit_box_draw], ',0 |
1428 | txt_cbox_draw: |
- | |
1429 | db 9,'stdcall [check_box_draw], ',0 |
1457 | txt_cbox_draw db 9,'stdcall [check_box_draw], ',0 |
1430 | 1458 | ||
1431 | txt_but_1: |
1459 | ; ç «® äãªæ¨¨ ª®¯®ª |
1432 | db 'align 4',13,'button:',13,9,'mcall 17',13 |
1460 | txt_but_beg db 'align 4',13,'button:',13,9,'mcall 17',13,0 |
1433 | txt_but_2: |
- | |
1434 | db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,9,'mcall -1',13 |
1461 | txt_but_mid db 9,'cmp ah,1',13,9,'jne still',13,'.exit:',13,0 |
- | 1462 | ;ª®¥æ äãªæ¨¨ ª®¯®ª (§ ¢¥à襨¥ ¯à®£à ¬ë) |
|
1435 | txt_but_3: |
1463 | txt_but_end db 9,'mcall -1',13,0 |
1436 | 1464 | ||
1437 | txt_key_1: |
1465 | txt_key_1: |
1438 | db 'align 4',13,'key:',13,9,'mcall 2',13 |
1466 | db 'align 4',13,'key:',13,9,'mcall 2',13 |
1439 | txt_key_2: |
1467 | txt_key_2: |
1440 | db 9,'jmp still',13 |
1468 | db 9,'jmp still',13 |
1441 | txt_key_3: |
1469 | txt_key_3: |
1442 | 1470 | ||
1443 | ;¯®«ãç ¥¬ ¯®à浪®¢ë© ®¬¥à ®¡ê¥ªâ ®â®á¨â¥«ì® ¯ ¬ïâ¨ í«¥¬¥â tree2 |
1471 | ;¯®«ãç ¥¬ ¯®à浪®¢ë© ®¬¥à ®¡ê¥ªâ ®â®á¨â¥«ì® ¯ ¬ïâ¨ í«¥¬¥â tree2 |
1444 | ;output: |
1472 | ;output: |
1445 | ; txt_buf - áâப á ®¬¥à®¬ ®¡ê¥ªâ |
1473 | ; txt_buf - áâப á ®¬¥à®¬ ®¡ê¥ªâ |
1446 | align 4 |
1474 | align 4 |
1447 | proc get_obj_id_str, p_obj:dword, txt_buf:dword |
1475 | proc get_obj_id_str, p_obj:dword, txt_buf:dword |
1448 | push eax ecx edx |
1476 | push eax ecx edx |
1449 | mov eax,dword[p_obj] |
1477 | mov eax,dword[p_obj] |
1450 | sub eax,[tree2.data_info] |
1478 | sub eax,[tree2.data_info] |
1451 | xor edx,edx |
1479 | xor edx,edx |
1452 | xor ecx,ecx |
1480 | xor ecx,ecx |
1453 | mov cx,word[tree2.info_size] |
1481 | mov cx,word[tree2.info_size] |
1454 | div ecx |
1482 | div ecx |
1455 | 1483 | ||
1456 | mov edx,dword[txt_buf] |
1484 | mov edx,dword[txt_buf] |
1457 | mov byte[edx],0 |
1485 | mov byte[edx],0 |
1458 | stdcall str_cat_value,edx,eax |
1486 | stdcall str_cat_value,edx,eax |
1459 | pop edx ecx eax |
1487 | pop edx ecx eax |
1460 | ret |
1488 | ret |
1461 | endp |
1489 | endp |
1462 | 1490 | ||
1463 | ;¯®«ãç ¥¬ ¯®à浪®¢ë© ®¬¥à ®¡ê¥ªâ ®â®á¨â¥«ì® ¯ ¬ïâ¨ í«¥¬¥â tree2 |
1491 | ;¯®«ãç ¥¬ ¯®à浪®¢ë© ®¬¥à ®¡ê¥ªâ ®â®á¨â¥«ì® ¯ ¬ïâ¨ í«¥¬¥â tree2 |
1464 | ;output: |
1492 | ;output: |
1465 | ; eax - ®¬¥à ®¡ê¥ªâ |
1493 | ; eax - ®¬¥à ®¡ê¥ªâ |
1466 | align 4 |
1494 | align 4 |
1467 | proc get_obj_id, p_obj:dword |
1495 | proc get_obj_id, p_obj:dword |
1468 | push ecx edx |
1496 | push ecx edx |
1469 | mov eax,dword[p_obj] |
1497 | mov eax,dword[p_obj] |
1470 | sub eax,[tree2.data_info] |
1498 | sub eax,[tree2.data_info] |
1471 | xor edx,edx |
1499 | xor edx,edx |
1472 | xor ecx,ecx |
1500 | xor ecx,ecx |
1473 | mov cx,word[tree2.info_size] |
1501 | mov cx,word[tree2.info_size] |
1474 | div ecx |
1502 | div ecx |
1475 | pop edx ecx |
1503 | pop edx ecx |
1476 | ret |
1504 | ret |
1477 | endp |
1505 | endp |
1478 | 1506 | ||
1479 | ;--- ⥪áâ®¢ë¥ äãªæ¨¨ --- |
1507 | ;--- ⥪áâ®¢ë¥ äãªæ¨¨ --- |
1480 | 1508 | ||
1481 | ;¢ë¡¨à ¥¬ áâப㠨§ ¬ ᨢ , ¯® 㪠§ ®¬ã ¨¤¥ªáã |
1509 | ;¢ë¡¨à ¥¬ áâப㠨§ ¬ ᨢ , ¯® 㪠§ ®¬ã ¨¤¥ªáã |
1482 | ;input: |
1510 | ;input: |
1483 | ; str - 㪠§ â¥«ì ¬ ᨢ áâப |
1511 | ; str - 㪠§ â¥«ì ¬ ᨢ áâப |
1484 | ; ind - ¨¤¥ªá ¨áª®¬®© áâப¨ |
1512 | ; ind - ¨¤¥ªá ¨áª®¬®© áâப¨ |
1485 | ;output: |
1513 | ;output: |
1486 | ; edi - 㪠§ â¥«ì ©¤¥ãî áâபã |
1514 | ; edi - 㪠§ â¥«ì ©¤¥ãî áâபã |
1487 | align 4 |
1515 | align 4 |
1488 | proc get_string_by_ind, str:dword, ind:dword |
1516 | proc get_string_by_ind, str:dword, ind:dword |
1489 | push eax ebx ecx |
1517 | push eax ebx ecx |
1490 | mov edi,[str] |
1518 | mov edi,[str] |
1491 | mov ebx,[ind] |
1519 | mov ebx,[ind] |
1492 | xor al,al ;0 - ᨬ¢®« ª®æ áâப¨ |
1520 | xor al,al ;0 - ᨬ¢®« ª®æ áâப¨ |
1493 | @@: |
1521 | @@: |
1494 | cmp ebx,0 |
1522 | cmp ebx,0 |
1495 | jle @f ;¥á«¨ ©¤¥ áâப á 㪠§ ë¬ ¨¤¥ªá®¬ |
1523 | jle @f ;¥á«¨ ©¤¥ áâப á 㪠§ ë¬ ¨¤¥ªá®¬ |
1496 | xor ecx,ecx |
1524 | xor ecx,ecx |
1497 | dec ecx ;ecx - ç¨á«® ¯à®á¬ âਢ ¥¬ëå ¡ ©â |
1525 | dec ecx ;ecx - ç¨á«® ¯à®á¬ âਢ ¥¬ëå ¡ ©â |
1498 | cld |
1526 | cld |
1499 | repne scasb ;¨é¥¬ ª®¥æ áâப¨ (al=0) |
1527 | repne scasb ;¨é¥¬ ª®¥æ áâப¨ (al=0) |
1500 | cmp byte[edi],0 |
1528 | cmp byte[edi],0 |
1501 | je @f ;¥á«¨ á«¥¤ãî饩 áâப¨ ¥â ¢ë室 ¨§ 横« |
1529 | je @f ;¥á«¨ á«¥¤ãî饩 áâப¨ ¥â ¢ë室 ¨§ 横« |
1502 | dec ebx |
1530 | dec ebx |
1503 | jmp @b |
1531 | jmp @b |
1504 | @@: |
1532 | @@: |
1505 | pop ecx ebx eax |
1533 | pop ecx ebx eax |
1506 | ret |
1534 | ret |
1507 | endp |
1535 | endp |
1508 | 1536 | ||
1509 | align 4 |
1537 | align 4 |
1510 | proc mem_clear, mem:dword, len:dword |
1538 | proc mem_clear, mem:dword, len:dword |
1511 | push eax ecx edi |
1539 | push eax ecx edi |
1512 | cld |
1540 | cld |
1513 | xor al,al |
1541 | xor al,al |
1514 | mov edi, dword[mem] |
1542 | mov edi, dword[mem] |
1515 | mov ecx, dword[len] |
1543 | mov ecx, dword[len] |
1516 | repne stosb |
1544 | repne stosb |
1517 | pop edi ecx eax |
1545 | pop edi ecx eax |
1518 | ret |
1546 | ret |
1519 | endp |
1547 | endp |
1520 | 1548 | ||
1521 | align 4 |
1549 | align 4 |
1522 | proc str_cat, str1:dword, str2:dword |
1550 | proc str_cat, str1:dword, str2:dword |
1523 | push eax ecx edi esi |
1551 | push eax ecx edi esi |
1524 | mov esi,dword[str2] |
1552 | mov esi,dword[str2] |
1525 | stdcall str_len,esi |
1553 | stdcall str_len,esi |
1526 | mov ecx,eax |
1554 | mov ecx,eax |
1527 | inc ecx |
1555 | inc ecx |
1528 | mov edi,dword[str1] |
1556 | mov edi,dword[str1] |
1529 | stdcall str_len,edi |
1557 | stdcall str_len,edi |
1530 | add edi,eax |
1558 | add edi,eax |
1531 | cld |
1559 | cld |
1532 | repne movsb |
1560 | repne movsb |
1533 | pop esi edi ecx eax |
1561 | pop esi edi ecx eax |
1534 | ret |
1562 | ret |
1535 | endp |
1563 | endp |
1536 | 1564 | ||
1537 | align 4 |
1565 | align 4 |
1538 | proc str_cat_value, str1:dword, value:dword |
1566 | proc str_cat_value, str1:dword, value:dword |
1539 | pushad |
1567 | pushad |
1540 | mov edi,[str1] |
1568 | mov edi,[str1] |
1541 | stdcall str_len,edi |
1569 | stdcall str_len,edi |
1542 | add edi,eax |
1570 | add edi,eax |
1543 | mov eax,[value] |
1571 | mov eax,[value] |
1544 | call tl_convert_to_str |
1572 | call tl_convert_to_str |
1545 | popad |
1573 | popad |
1546 | ret |
1574 | ret |
1547 | endp |
1575 | endp |
1548 | 1576 | ||
1549 | ;output: |
1577 | ;output: |
1550 | ; eax = strlen |
1578 | ; eax = strlen |
1551 | align 4 |
1579 | align 4 |
1552 | proc str_len, str1:dword |
1580 | proc str_len, str1:dword |
1553 | mov eax,[str1] |
1581 | mov eax,[str1] |
1554 | @@: |
1582 | @@: |
1555 | cmp byte[eax],0 |
1583 | cmp byte[eax],0 |
1556 | je @f |
1584 | je @f |
1557 | inc eax |
1585 | inc eax |
1558 | jmp @b |
1586 | jmp @b |
1559 | @@: |
1587 | @@: |
1560 | sub eax,[str1] |
1588 | sub eax,[str1] |
1561 | ret |
1589 | ret |
1562 | endp |
1590 | endp |
1563 | 1591 | ||
1564 | ;input: |
1592 | ;input: |
1565 | ; eax = value |
1593 | ; eax = value |
1566 | ; edi = string buffer |
1594 | ; edi = string buffer |
1567 | align 4 |
1595 | align 4 |
1568 | tl_convert_to_str: |
1596 | tl_convert_to_str: |
1569 | pushad |
1597 | pushad |
1570 | stdcall mem_clear,edi,12 |
1598 | stdcall mem_clear,edi,12 |
1571 | call .str |
1599 | call .str |
1572 | popad |
1600 | popad |
1573 | ret |
1601 | ret |
1574 | 1602 | ||
1575 | align 4 |
1603 | align 4 |
1576 | .str: |
1604 | .str: |
1577 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1605 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1578 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâà®ªã ¢å®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1606 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâà®ªã ¢å®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1579 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1607 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1580 | jb @f |
1608 | jb @f |
1581 | xor edx,edx ;®ç¨áâ¨âì edx |
1609 | xor edx,edx ;®ç¨áâ¨âì edx |
1582 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1610 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1583 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1611 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1584 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1612 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1585 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1613 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1586 | pop eax |
1614 | pop eax |
1587 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1615 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1588 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
1616 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
1589 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
1617 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
1590 | ret |
1618 | ret |