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