Ignore:
Timestamp:
Sep 9, 2003, 9:21:51 PM (22 years ago)
Author:
bird
Message:

Fixed testcase.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/testcase/optlink/tst2asm.asm

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r677 r678  
    1 ; $Id$
    2 ;
    3 ; Optlink testcase no. 2.
    4 ;
    5 ; InnoTek Systemberatung GmbH confidential
    6 ;
    7 ; Copyright (c) 2003 InnoTek Systemberatung GmbH
    8 ; Author: knut st. osmundsen <bird-srcspam@anduin.net>
    9 ;
    10 ; All Rights Reserved
    11 ;
    12 ;
    13 
    14 
    15     .386
    16 
     1        .386
     2        .387
    173CODE32  segment para use32 public 'CODE'
    184CODE32  ends
     5DATA32  segment para use32 public 'DATA'
     6DATA32  ends
    197CONST32_RO      segment para use32 public 'CONST'
    208CONST32_RO      ends
    21 
    22 
     9BSS32   segment para use32 public 'BSS'
     10BSS32   ends
     11DGROUP  group BSS32, DATA32
     12        assume  cs:FLAT, ds:FLAT, ss:FLAT, es:FLAT
    2313CONST32_RO      segment
    2414@CBE1   dq 3ff8000000000000r    ; 1.5000000000000000e+00
    2515CONST32_RO      ends
    26 
    2716CODE32  segment
    28     ASSUME ds:FLAT, es:FLAT, ss:FLAT
    2917
    3018; 21 int _Optlink asmfoo(int i1, struct sss s1, void *pv, float rf1, struct sss s2)
     
    3321        public asmfoo
    3422asmfoo  proc
     23        push    ebp
     24        mov     ebp,esp
     25        mov     [ebp+08h],eax;  i1
     26        mov     [ebp+014h],edx; pv
     27        fstp    dword ptr [ebp+018h];   rf1
    3528
    3629; 23     if (i1 != 1)
    37         cmp     eax,01h
     30        cmp     dword ptr [ebp+08h],01h;        i1
    3831        je      @BLBL1
    39         fstp    st(0)
    4032
    4133; 24         return 1;
    4234        mov     eax,01h
     35        pop     ebp
    4336        ret     
    4437        align 010h
     
    4639
    4740; 25     if (s1.a != 2)
    48         cmp     dword ptr [esp+08h],02h;        s1
     41        cmp     dword ptr [ebp+0ch],02h;        s1
    4942        je      @BLBL2
    50         fstp    st(0)
    5143
    5244; 26         return 2;
    53         inc     eax
     45        mov     eax,02h
     46        pop     ebp
    5447        ret     
    5548        align 010h
     
    5750
    5851; 27     if (s1.b != 3)
    59         cmp     dword ptr [esp+0ch],03h;        s1
     52        cmp     dword ptr [ebp+010h],03h;       s1
    6053        je      @BLBL3
    61         fstp    st(0)
    6254
    6355; 28         return 3;
    64         lea     eax,[eax+02h]
     56        mov     eax,03h
     57        pop     ebp
    6558        ret     
    6659        align 010h
     
    6861
    6962; 29     if (pv != (void*)4)
    70         cmp     edx,04h
     63        cmp     dword ptr [ebp+014h],04h;       pv
    7164        je      @BLBL4
    72         fstp    st(0)
    7365
    7466; 30         return 4;
    75         lea     eax,[eax+03h]
     67        mov     eax,04h
     68        pop     ebp
    7669        ret     
    7770        align 010h
    7871@BLBL4:
    7972
    80 ; 31     if (rf1 != 1.5)
     73; 31     if (rf1 != (float)1.5)
    8174        fld     dword ptr  @CBE2
     75        fld     dword ptr [ebp+018h];   rf1
    8276        fucompp
    8377        fnstsw  ax
     
    8781
    8882; 32         return 5;
    89         lea     eax,[edx+01h]
     83        mov     eax,05h
     84        pop     ebp
    9085        ret     
    9186        align 010h
     
    9388
    9489; 33     if (s2.a != 6)
    95         cmp     dword ptr [esp+018h],06h;       s2
     90        cmp     dword ptr [ebp+01ch],06h;       s2
    9691        je      @BLBL6
    9792
    9893; 34         return 6;
    99         lea     eax,[edx+02h]
     94        mov     eax,06h
     95        pop     ebp
    10096        ret     
    10197        align 010h
     
    10399
    104100; 35     if (s2.b != 7)
     101        cmp     dword ptr [ebp+020h],07h;       s2
     102        je      @BLBL7
     103
    105104; 36         return 7;
    106         xor     eax,eax
    107         cmp     dword ptr [esp+01ch],07h;       s2
    108         setne   al
    109         neg     eax
    110         and     eax,07h
     105        mov     eax,07h
     106        pop     ebp
     107        ret     
     108        align 010h
     109@BLBL7:
     110
     111; 37     return 0;
     112        mov     eax,0h
     113        pop     ebp
    111114        ret     
    112115asmfoo  endp
    113 
    114116CONST32_RO      segment
    115117        align 04h
    116118@CBE2   dd 3fc00000r    ; 1.5000000e+00
    117119CONST32_RO      ends
    118 
    119120CODE32  ends
    120 
    121121end
    122 
Note: See TracChangeset for help on using the changeset viewer.