Subversion Repositories Kolibri OS

Rev

Rev 8534 | Rev 8867 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8534 Rev 8840
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 8534 $
8
$Revision: 8840 $
9
 
9
 
10
 
10
 
Line 150... Line 150...
150
        jne     .ret
150
        jne     .ret
Line 151... Line 151...
151
 
151
 
152
        inc     ebx                 ; 1 - get sse context
152
        inc     ebx                 ; 1 - get sse context
153
                                  ; TODO legacy 32-bit FPU/MMX context
153
                                  ; TODO legacy 32-bit FPU/MMX context
154
.std_ctx:
-
 
155
;        push    ecx
-
 
156
;        mov     ecx, esi
-
 
157
        call    check_region
-
 
158
;        pop     ecx
-
 
159
        dec     eax
-
 
160
        jnz     .ret
154
.std_ctx:
161
        call    get_debuggee_slot
155
        call    get_debuggee_slot
Line 162... Line 156...
162
        jc      .ret
156
        jc      .ret
163
 
157
 
Line 231... Line 225...
231
; edx=sizeof(CONTEXT)
225
; edx=sizeof(CONTEXT)
232
; esi->CONTEXT
226
; esi->CONTEXT
233
; destroys eax,ecx,edx,esi,edi
227
; destroys eax,ecx,edx,esi,edi
234
        cmp     edx, 28h
228
        cmp     edx, 28h
235
        jnz     .ret
229
        jnz     .ret
236
;        push    ebx
-
 
237
;        mov     ebx, edx
-
 
238
        call    check_region
-
 
239
;        pop     ebx
-
 
240
        dec     eax
-
 
241
        jnz     .ret
-
 
-
 
230
 
242
        call    get_debuggee_slot
231
        call    get_debuggee_slot
243
        jc      .stiret
232
        jc      .stiret
244
;        mov     esi, edx
233
;        mov     esi, edx
245
        mov     eax, [eax*8+SLOT_BASE+APPDATA.pl0_stack]
234
        mov     eax, [eax*8+SLOT_BASE+APPDATA.pl0_stack]
246
        lea     edi, [eax+RING0_STACK_SIZE]
235
        lea     edi, [eax+RING0_STACK_SIZE]
Line 361... Line 350...
361
; edx=length
350
; edx=length
362
; edi->buffer in debugger
351
; edi->buffer in debugger
363
; esi=address in debuggee
352
; esi=address in debuggee
364
; out: [esp+36]=sizeof(read)
353
; out: [esp+36]=sizeof(read)
365
; destroys all
354
; destroys all
366
;        push    ebx
-
 
367
;        mov     ebx, esi
-
 
368
        call    check_region
-
 
369
;        pop     ebx
-
 
370
        dec     eax
-
 
371
        jnz     .err
-
 
372
        call    get_debuggee_slot
355
        call    get_debuggee_slot
373
        jc      .err
356
        jc      .err
374
        shr     eax, 5
357
        shr     eax, 5
375
        mov     ecx, edi
358
        mov     ecx, edi
376
        call    read_process_memory
359
        call    read_process_memory
Line 387... Line 370...
387
; edx=length
370
; edx=length
388
; edi->buffer in debugger
371
; edi->buffer in debugger
389
; esi=address in debuggee
372
; esi=address in debuggee
390
; out: [esp+36]=sizeof(write)
373
; out: [esp+36]=sizeof(write)
391
; destroys all
374
; destroys all
392
;        push    ebx
-
 
393
;        mov     ebx, esi
-
 
394
        call    check_region
-
 
395
;        pop     ebx
-
 
396
        dec     eax
-
 
397
        jnz     debug_read_process_memory.err
-
 
398
        call    get_debuggee_slot
375
        call    get_debuggee_slot
399
        jc      debug_read_process_memory.err
376
        jc      debug_read_process_memory.err
400
        shr     eax, 5
377
        shr     eax, 5
401
        mov     ecx, edi
378
        mov     ecx, edi
402
        call    write_process_memory
379
        call    write_process_memory