Subversion Repositories Kolibri OS

Rev

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