Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. # 1 "longjmp.s"
  2. #include<libc/asm.h>
  3. MK_C_SYM(longjmp)
  4.         movl    4(%esp),%edi   
  5.         movl    8(%esp),%eax   
  6.         movl    %eax,0(%edi)
  7.  
  8.         movw    46(%edi),%fs
  9.         movw    48(%edi),%gs
  10.         movl    4(%edi),%ebx
  11.         movl    8(%edi),%ecx
  12.         movl    12(%edi),%edx
  13.         movl    24(%edi),%ebp
  14.  
  15.         movw    50(%edi),%es
  16.         movl    28(%edi),%esi
  17.         subl    $28,%esi
  18.  
  19.         movl    60(%edi),%eax
  20.         es
  21.         movl    %eax,(%esi)    
  22.  
  23.         movzwl  42(%edi),%eax
  24.         es
  25.         movl    %eax,4(%esi)     
  26.  
  27.         movl    20(%edi),%eax
  28.         es
  29.         movl    %eax,8(%esi)     
  30.  
  31.         movl    16(%edi),%eax
  32.         es
  33.         movl    %eax,12(%esi)    
  34.  
  35.         movl    32(%edi),%eax
  36.         es
  37.         movl    %eax,16(%esi)    
  38.  
  39.         movl    40(%edi),%eax
  40.         es
  41.         movl    %eax,20(%esi)    
  42.  
  43.         movl    36(%edi),%eax
  44.         es
  45.         movl    %eax,24(%esi)    
  46.  
  47.         movl    0(%edi),%eax
  48.         movw    44(%edi),%es
  49.  
  50.         movw    50(%edi),%ss
  51.         movl    %esi,%esp
  52.  
  53.         popl    C_SYM(__djgpp_exception_state_ptr)
  54.         popl    %ds
  55.         popl    %edi
  56.         popl    %esi
  57.  
  58.         iret                     
  59.  
  60. MK_C_SYM(__djgpp_exception_state_ptr)
  61.  .word 0
  62.  .word 0
  63.  .word 0
  64.  .word 0
  65.