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