Changeset 678 for trunk/testcase/optlink/tst2asm.asm
- Timestamp:
- Sep 9, 2003, 9:21:51 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/testcase/optlink/tst2asm.asm
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.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 17 3 CODE32 segment para use32 public 'CODE' 18 4 CODE32 ends 5 DATA32 segment para use32 public 'DATA' 6 DATA32 ends 19 7 CONST32_RO segment para use32 public 'CONST' 20 8 CONST32_RO ends 21 22 9 BSS32 segment para use32 public 'BSS' 10 BSS32 ends 11 DGROUP group BSS32, DATA32 12 assume cs:FLAT, ds:FLAT, ss:FLAT, es:FLAT 23 13 CONST32_RO segment 24 14 @CBE1 dq 3ff8000000000000r ; 1.5000000000000000e+00 25 15 CONST32_RO ends 26 27 16 CODE32 segment 28 ASSUME ds:FLAT, es:FLAT, ss:FLAT29 17 30 18 ; 21 int _Optlink asmfoo(int i1, struct sss s1, void *pv, float rf1, struct sss s2) … … 33 21 public asmfoo 34 22 asmfoo 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 35 28 36 29 ; 23 if (i1 != 1) 37 cmp eax,01h30 cmp dword ptr [ebp+08h],01h; i1 38 31 je @BLBL1 39 fstp st(0)40 32 41 33 ; 24 return 1; 42 34 mov eax,01h 35 pop ebp 43 36 ret 44 37 align 010h … … 46 39 47 40 ; 25 if (s1.a != 2) 48 cmp dword ptr [e sp+08h],02h; s141 cmp dword ptr [ebp+0ch],02h; s1 49 42 je @BLBL2 50 fstp st(0)51 43 52 44 ; 26 return 2; 53 inc eax 45 mov eax,02h 46 pop ebp 54 47 ret 55 48 align 010h … … 57 50 58 51 ; 27 if (s1.b != 3) 59 cmp dword ptr [e sp+0ch],03h; s152 cmp dword ptr [ebp+010h],03h; s1 60 53 je @BLBL3 61 fstp st(0)62 54 63 55 ; 28 return 3; 64 lea eax,[eax+02h] 56 mov eax,03h 57 pop ebp 65 58 ret 66 59 align 010h … … 68 61 69 62 ; 29 if (pv != (void*)4) 70 cmp edx,04h63 cmp dword ptr [ebp+014h],04h; pv 71 64 je @BLBL4 72 fstp st(0)73 65 74 66 ; 30 return 4; 75 lea eax,[eax+03h] 67 mov eax,04h 68 pop ebp 76 69 ret 77 70 align 010h 78 71 @BLBL4: 79 72 80 ; 31 if (rf1 != 1.5)73 ; 31 if (rf1 != (float)1.5) 81 74 fld dword ptr @CBE2 75 fld dword ptr [ebp+018h]; rf1 82 76 fucompp 83 77 fnstsw ax … … 87 81 88 82 ; 32 return 5; 89 lea eax,[edx+01h] 83 mov eax,05h 84 pop ebp 90 85 ret 91 86 align 010h … … 93 88 94 89 ; 33 if (s2.a != 6) 95 cmp dword ptr [e sp+018h],06h; s290 cmp dword ptr [ebp+01ch],06h; s2 96 91 je @BLBL6 97 92 98 93 ; 34 return 6; 99 lea eax,[edx+02h] 94 mov eax,06h 95 pop ebp 100 96 ret 101 97 align 010h … … 103 99 104 100 ; 35 if (s2.b != 7) 101 cmp dword ptr [ebp+020h],07h; s2 102 je @BLBL7 103 105 104 ; 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 111 114 ret 112 115 asmfoo endp 113 114 116 CONST32_RO segment 115 117 align 04h 116 118 @CBE2 dd 3fc00000r ; 1.5000000e+00 117 119 CONST32_RO ends 118 119 120 CODE32 ends 120 121 121 end 122 -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.