Subversion Repositories Kolibri OS

Rev

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

Rev 3032 Rev 3618
Line 290... Line 290...
290
 
290
 
291
include 'config.inc'
291
include 'config.inc'
292
;__CPU_type equ p5
292
;__CPU_type equ p5
Line 293... Line 293...
293
SYSENTER_VAR    equ 0
293
SYSENTER_VAR    equ 0
-
 
294
 
294
 
295
macro mcall a,b,c,d,e,f {   ; mike.dld, updated by Ghost for Fast System Calls
295
macro mcall a,b,c,d,e,f {   ; mike.dld
296
 local  ..ret_point
296
 __mov eax,a
297
 __mov eax,a
297
 __mov ebx,b
298
 __mov ebx,b
298
 __mov ecx,c
299
 __mov ecx,c
299
 __mov edx,d
300
 __mov edx,d
Line -... Line 301...
-
 
301
 __mov esi,e
300
 __mov esi,e
302
 __mov edi,f
-
 
303
 
-
 
304
 if __CPU_type eq p5
-
 
305
        int     0x40
-
 
306
 else
-
 
307
  if __CPU_type eq p6
-
 
308
        push    ebp
-
 
309
        mov     ebp, esp
-
 
310
        push    ..ret_point     ; it may be 2 or 5 byte
-
 
311
        sysenter
-
 
312
 ..ret_point:
-
 
313
        pop     edx
-
 
314
        pop     ecx
-
 
315
 
-
 
316
  else
-
 
317
   if __CPU_type eq k6
-
 
318
        push    ecx
-
 
319
        syscall
-
 
320
        pop     ecx
-
 
321
   else
-
 
322
        display 'ERROR : unknown CPU type (set to p5)', 10, 13
-
 
323
        __CPU_type equ p5
-
 
324
        int     0x40
301
 __mov edi,f
325
   end if
Line 302... Line 326...
302
 
326
  end if
303
   int 0x40
327
 end if
Line 501... Line 525...
501
  DateAccess FILEDATE
525
  DateAccess FILEDATE
502
  DateModify FILEDATE
526
  DateModify FILEDATE
503
  Size       dq ?
527
  Size       dq ?
504
ends
528
ends
Line -... Line 529...
-
 
529
 
-
 
530
 
-
 
531
if __CPU_type eq p5             ; CMOVcc isnt supported on the P5
-
 
532
 
-
 
533
cmove   fix     cmovz
-
 
534
macro cmovz reg1, reg2 {
-
 
535
 
-
 
536
local   .jumpaddr
-
 
537
 
-
 
538
        jnz     .jumpaddr
-
 
539
        mov     reg1, reg2
-
 
540
       .jumpaddr:
-
 
541
}
-
 
542
 
-
 
543
cmovne  fix     cmovnz
-
 
544
macro cmovnz reg1, reg2 {
-
 
545
 
-
 
546
local   .jumpaddr
-
 
547
 
-
 
548
        jz      .jumpaddr
-
 
549
        mov     reg1, reg2
-
 
550
       .jumpaddr:
-
 
551
}
-
 
552
 
-
 
553
macro cmovg reg1, reg2 {
-
 
554
 
-
 
555
local   .jumpaddr
-
 
556
 
-
 
557
        jle     .jumpaddr
-
 
558
        mov     reg1, reg2
-
 
559
       .jumpaddr:
-
 
560
}
-
 
561
 
-
 
562
macro cmovl reg1, reg2 {
-
 
563
 
-
 
564
local   .jumpaddr
-
 
565
 
-
 
566
        jge     .jumpaddr
-
 
567
        mov     reg1, reg2
-
 
568
       .jumpaddr:
-
 
569
}
-
 
570
 
-
 
571
end if
505
 
572
 
Line 506... Line 573...
506
; constants
573
; constants
507
 
574
 
508
; events
575
; events
Line 524... Line 591...
524
EVM_EXIT       =     1000b
591
EVM_EXIT       =       1000b
525
EVM_BACKGROUND =    10000b
592
EVM_BACKGROUND =      10000b
526
EVM_MOUSE      =   100000b
593
EVM_MOUSE      =     100000b
527
EVM_IPC        =  1000000b
594
EVM_IPC        =    1000000b
528
EVM_STACK      = 10000000b
595
EVM_STACK      =   10000000b
-
 
596
EVM_DEBUG      =  100000000b
-
 
597
EVM_STACK2     = 1000000000b