Rev 5565 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5565 | Rev 5984 | ||
---|---|---|---|
Line 9... | Line 9... | ||
9 | ;; Distributed under GPL. See file COPYING for details. ;; |
9 | ;; Distributed under GPL. See file COPYING for details. ;; |
10 | ;; Copyright 2003 Ville Turjanmaa ;; |
10 | ;; Copyright 2003 Ville Turjanmaa ;; |
11 | ;; ;; |
11 | ;; ;; |
12 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
12 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 13... | Line 13... | ||
13 | 13 | ||
Line 14... | Line 14... | ||
14 | $Revision: 5565 $ |
14 | $Revision: 5984 $ |
15 | 15 | ||
16 | align 4 ;3A08 |
16 | align 4 ;3A08 |
17 | build_interrupt_table: |
17 | build_interrupt_table: |
Line 261... | Line 261... | ||
261 | DEBUGF 1, " [ESP+04]: %x",[ebx] |
261 | DEBUGF 1, " [ESP+04]: %x",[ebx] |
262 | add ebx, 4 |
262 | add ebx, 4 |
263 | call .check_ESP |
263 | call .check_ESP |
264 | test eax, eax |
264 | test eax, eax |
265 | jnz .error_ESP |
265 | jnz .error_ESP |
266 | DEBUGF 1, " [ESP+08]: %x\n",[ebx] |
266 | DEBUGF 1, " [ESP+08]: %x\n",[ebx] |
267 | add ebx, 4 |
267 | add ebx, 4 |
268 | call .check_ESP |
268 | call .check_ESP |
269 | test eax, eax |
269 | test eax, eax |
270 | jnz .error_ESP |
270 | jnz .error_ESP |
271 | DEBUGF 1, "K : [ESP+12]: %x",[ebx] |
271 | DEBUGF 1, "K : [ESP+12]: %x",[ebx] |
Line 291... | Line 291... | ||
291 | DEBUGF 1, " [ESP+28]: %x",[ebx] |
291 | DEBUGF 1, " [ESP+28]: %x",[ebx] |
292 | add ebx, 4 |
292 | add ebx, 4 |
293 | call .check_ESP |
293 | call .check_ESP |
294 | test eax, eax |
294 | test eax, eax |
295 | jnz .error_ESP |
295 | jnz .error_ESP |
296 | DEBUGF 1, " [ESP+32]: %x\n",[ebx] |
296 | DEBUGF 1, " [ESP+32]: %x\n",[ebx] |
297 | pop edx ecx ebx eax |
297 | pop edx ecx ebx eax |
298 | ret |
298 | ret |
299 | .error_ESP: |
299 | .error_ESP: |
300 | pop edx ecx ebx eax |
300 | pop edx ecx ebx eax |
301 | DEBUGF 1, "\n" |
301 | DEBUGF 1, "\n" |
Line 313... | Line 313... | ||
313 | ;incorrect address in the program |
313 | ;incorrect address in the program |
Line 314... | Line 314... | ||
314 | 314 | ||
315 | mov eax, [page_tabs+ebx*4] |
315 | mov eax, [page_tabs+ebx*4] |
316 | test eax, 2 |
316 | test eax, 2 |
317 | jz .fail ;address not reserved for use. error |
317 | jz .fail ;address not reserved for use. error |
318 | 318 | ||
319 | pop ebx |
319 | pop ebx |
320 | xor eax, eax |
320 | xor eax, eax |
321 | ret |
321 | ret |
322 | 322 | ||
323 | .fail: |
323 | .fail: |
324 | pop ebx |
324 | pop ebx |
325 | xor eax, eax |
325 | xor eax, eax |
326 | dec eax |
326 | dec eax |
Line 579... | Line 579... | ||
579 | mov [esi+WDATA.box.top], eax |
579 | mov [esi+WDATA.box.top], eax |
580 | mov [esi+WDATA.box.height], eax |
580 | mov [esi+WDATA.box.height], eax |
581 | mov [esi+WDATA.cl_workarea], eax |
581 | mov [esi+WDATA.cl_workarea], eax |
582 | mov [esi+WDATA.cl_titlebar], eax |
582 | mov [esi+WDATA.cl_titlebar], eax |
583 | mov [esi+WDATA.cl_frames], eax |
583 | mov [esi+WDATA.cl_frames], eax |
584 | mov dword [esi+WDATA.reserved], eax; clear all flags: wstate, redraw, wdrawn |
584 | mov dword [esi+WDATA.z_modif], eax; clear all flags: z_modif, wstate, redraw, wdrawn |
585 | lea edi, [esi-window_data+draw_data] |
585 | lea edi, [esi-window_data+draw_data] |
586 | mov ecx, 32/4 |
586 | mov ecx, 32/4 |
587 | rep stosd |
587 | rep stosd |
588 | popa |
588 | popa |