Ignore:
Timestamp:
Sep 9, 2003, 8:27:08 PM (22 years ago)
Author:
bird
Message:

More stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/testcase/631asm.asm

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r674 r675  
    1414CODE32  segment
    1515
    16 ; 57 struct ret16bytes _System   asmfoo16(void)
    17         align 010h
    18 
    19         public asmfoo16
    20 asmfoo16        proc
     16; 107 struct ret16bytes __stdcall asmfoostd16(void)
     17        align 010h
     18
     19        public _asmfoostd16@0
     20_asmfoostd16@0  proc
    2121        push    ebp
    2222        mov     ebp,esp
    2323
    24 ; 60     return ret;
    25         mov     eax,[ebp+08h];  @CBE4
    26 
    27 ; 59     struct ret16bytes ret = {1,2,3,4};
     24; 110     return ret;
     25        mov     eax,[ebp+08h];  @CBE10
     26
     27; 109     struct ret16bytes ret = {1,2,3,4};
    2828        mov     dword ptr [ebp-010h],01h;       ret
    2929        mov     dword ptr [ebp-0ch],02h;        ret
    3030
    31 ; 60     return ret;
     31; 110     return ret;
    3232        mov     ecx,[ebp-010h]; ret
    3333        mov     edx,[ebp-0ch];  ret
    3434        mov     [eax],ecx
    3535
    36 ; 59     struct ret16bytes ret = {1,2,3,4};
     36; 109     struct ret16bytes ret = {1,2,3,4};
    3737        mov     dword ptr [ebp-08h],03h;        ret
    3838
    39 ; 60     return ret;
     39; 110     return ret;
    4040        mov     [eax+04h],edx
    4141        mov     edx,[ebp-08h];  ret
    4242
    43 ; 59     struct ret16bytes ret = {1,2,3,4};
     43; 109     struct ret16bytes ret = {1,2,3,4};
    4444        mov     dword ptr [ebp-04h],04h;        ret
    4545
    46 ; 60     return ret;
     46; 110     return ret;
    4747        mov     ecx,[ebp-04h];  ret
    4848        mov     [eax+08h],edx
    4949        mov     [eax+0ch],ecx
    5050        pop     ebp
    51         ret     
    52 asmfoo16        endp
    53 
    54 ; 51 struct ret12bytes _System   asmfoo12(void)
    55         align 010h
    56 
    57         public asmfoo12
    58 asmfoo12        proc
    59 
    60 ; 54     return ret;
    61         mov     eax,[esp+04h];  @CBE3
    62 
    63 ; 53     struct ret12bytes ret = {1,2,3};
     51        ret     04h
     52_asmfoostd16@0  endp
     53
     54; 101 struct ret12bytes __stdcall asmfoostd12(void)
     55        align 010h
     56
     57        public _asmfoostd12@0
     58_asmfoostd12@0  proc
     59
     60; 104     return ret;
     61        mov     eax,[esp+04h];  @CBE9
     62
     63; 103     struct ret12bytes ret = {1,2,3};
    6464        mov     dword ptr [esp-0ch],01h;        ret
    6565        mov     dword ptr [esp-08h],02h;        ret
    6666
    67 ; 54     return ret;
     67; 104     return ret;
    6868        mov     edx,[esp-0ch];  ret
    6969        mov     ecx,[esp-08h];  ret
    7070        mov     [eax],edx
    7171
    72 ; 53     struct ret12bytes ret = {1,2,3};
     72; 103     struct ret12bytes ret = {1,2,3};
    7373        mov     dword ptr [esp-04h],03h;        ret
    7474
    75 ; 54     return ret;
     75; 104     return ret;
    7676        mov     [eax+04h],ecx
    7777        mov     ecx,[esp-04h];  ret
    7878        mov     [eax+08h],ecx
    79         ret     
    80 asmfoo12        endp
    81 
    82 ; 45 struct ret8bytes _System    asmfoo8(void)
    83         align 010h
    84 
    85         public asmfoo8
    86 asmfoo8 proc
    87 
    88 ; 48     return ret;
    89         mov     eax,[esp+04h];  @CBE2
    90 
    91 ; 47     struct ret8bytes ret = {1,2};
     79        ret     04h
     80_asmfoostd12@0  endp
     81
     82; 95 struct ret8bytes __stdcall  asmfoostd8(void)
     83        align 010h
     84
     85        public _asmfoostd8@0
     86_asmfoostd8@0   proc
     87
     88; 97     struct ret8bytes ret = {1,2};
    9289        mov     dword ptr [esp-08h],01h;        ret
    9390        mov     dword ptr [esp-04h],02h;        ret
    9491
    95 ; 48     return ret;
     92; 98     return ret;
     93        mov     eax,[esp-08h];  ret
     94        mov     edx,[esp-04h];  ret
     95        ret     
     96_asmfoostd8@0   endp
     97
     98; 89 struct ret4bytes __stdcall  asmfoostd4(void)
     99        align 010h
     100
     101        public _asmfoostd4@0
     102_asmfoostd4@0   proc
     103
     104; 91     struct ret4bytes ret = {1};
     105        mov     dword ptr [esp-04h],01h;        ret
     106
     107; 92     return ret;
     108        mov     eax,[esp-04h];  ret
     109        ret     
     110_asmfoostd4@0   endp
     111
     112; 81 struct ret16bytes _Optlink  asmfooopt16(void)
     113        align 010h
     114
     115        public asmfooopt16
     116asmfooopt16     proc
     117        push    ebp
     118        mov     ebp,esp
     119
     120; 84     return ret;
     121        mov     eax,[ebp+08h];  @CBE8
     122
     123; 83     struct ret16bytes ret = {1,2,3,4};
     124        mov     dword ptr [ebp-010h],01h;       ret
     125        mov     dword ptr [ebp-0ch],02h;        ret
     126
     127; 84     return ret;
     128        mov     ecx,[ebp-010h]; ret
     129        mov     edx,[ebp-0ch];  ret
     130        mov     [eax],ecx
     131
     132; 83     struct ret16bytes ret = {1,2,3,4};
     133        mov     dword ptr [ebp-08h],03h;        ret
     134
     135; 84     return ret;
     136        mov     [eax+04h],edx
     137        mov     edx,[ebp-08h];  ret
     138
     139; 83     struct ret16bytes ret = {1,2,3,4};
     140        mov     dword ptr [ebp-04h],04h;        ret
     141
     142; 84     return ret;
     143        mov     ecx,[ebp-04h];  ret
     144        mov     [eax+08h],edx
     145        mov     [eax+0ch],ecx
     146        pop     ebp
     147        ret     
     148asmfooopt16     endp
     149
     150; 75 struct ret12bytes _Optlink  asmfooopt12(void)
     151        align 010h
     152
     153        public asmfooopt12
     154asmfooopt12     proc
     155
     156; 78     return ret;
     157        mov     eax,[esp+04h];  @CBE7
     158
     159; 77     struct ret12bytes ret = {1,2,3};
     160        mov     dword ptr [esp-0ch],01h;        ret
     161        mov     dword ptr [esp-08h],02h;        ret
     162
     163; 78     return ret;
     164        mov     edx,[esp-0ch];  ret
     165        mov     ecx,[esp-08h];  ret
     166        mov     [eax],edx
     167
     168; 77     struct ret12bytes ret = {1,2,3};
     169        mov     dword ptr [esp-04h],03h;        ret
     170
     171; 78     return ret;
     172        mov     [eax+04h],ecx
     173        mov     ecx,[esp-04h];  ret
     174        mov     [eax+08h],ecx
     175        ret     
     176asmfooopt12     endp
     177
     178; 69 struct ret8bytes _Optlink   asmfooopt8(void)
     179        align 010h
     180
     181        public asmfooopt8
     182asmfooopt8      proc
     183
     184; 72     return ret;
     185        mov     eax,[esp+04h];  @CBE6
     186
     187; 71     struct ret8bytes ret = {1,2};
     188        mov     dword ptr [esp-08h],01h;        ret
     189        mov     dword ptr [esp-04h],02h;        ret
     190
     191; 72     return ret;
    96192        mov     edx,[esp-08h];  ret
    97193        mov     ecx,[esp-04h];  ret
     
    99195        mov     [eax+04h],ecx
    100196        ret     
    101 asmfoo8 endp
    102 
    103 ; 39 struct ret4bytes _System    asmfoo4(void)
    104         align 010h
    105 
    106         public asmfoo4
    107 asmfoo4 proc
    108 
    109 ; 42     return ret;
     197asmfooopt8      endp
     198
     199; 63 struct ret4bytes _Optlink   asmfooopt4(void)
     200        align 010h
     201
     202        public asmfooopt4
     203asmfooopt4      proc
     204
     205; 66     return ret;
     206        mov     eax,[esp+04h];  @CBE5
     207
     208; 65     struct ret4bytes ret = {1};
     209        mov     dword ptr [esp-04h],01h;        ret
     210
     211; 66     return ret;
     212        mov     ecx,[esp-04h];  ret
     213        mov     [eax],ecx
     214        ret     
     215asmfooopt4      endp
     216
     217; 56 struct ret16bytes _System   asmfoosys16(void)
     218        align 010h
     219
     220        public asmfoosys16
     221asmfoosys16     proc
     222        push    ebp
     223        mov     ebp,esp
     224
     225; 59     return ret;
     226        mov     eax,[ebp+08h];  @CBE4
     227
     228; 58     struct ret16bytes ret = {1,2,3,4};
     229        mov     dword ptr [ebp-010h],01h;       ret
     230        mov     dword ptr [ebp-0ch],02h;        ret
     231
     232; 59     return ret;
     233        mov     ecx,[ebp-010h]; ret
     234        mov     edx,[ebp-0ch];  ret
     235        mov     [eax],ecx
     236
     237; 58     struct ret16bytes ret = {1,2,3,4};
     238        mov     dword ptr [ebp-08h],03h;        ret
     239
     240; 59     return ret;
     241        mov     [eax+04h],edx
     242        mov     edx,[ebp-08h];  ret
     243
     244; 58     struct ret16bytes ret = {1,2,3,4};
     245        mov     dword ptr [ebp-04h],04h;        ret
     246
     247; 59     return ret;
     248        mov     ecx,[ebp-04h];  ret
     249        mov     [eax+08h],edx
     250        mov     [eax+0ch],ecx
     251        pop     ebp
     252        ret     
     253asmfoosys16     endp
     254
     255; 50 struct ret12bytes _System   asmfoosys12(void)
     256        align 010h
     257
     258        public asmfoosys12
     259asmfoosys12     proc
     260
     261; 53     return ret;
     262        mov     eax,[esp+04h];  @CBE3
     263
     264; 52     struct ret12bytes ret = {1,2,3};
     265        mov     dword ptr [esp-0ch],01h;        ret
     266        mov     dword ptr [esp-08h],02h;        ret
     267
     268; 53     return ret;
     269        mov     edx,[esp-0ch];  ret
     270        mov     ecx,[esp-08h];  ret
     271        mov     [eax],edx
     272
     273; 52     struct ret12bytes ret = {1,2,3};
     274        mov     dword ptr [esp-04h],03h;        ret
     275
     276; 53     return ret;
     277        mov     [eax+04h],ecx
     278        mov     ecx,[esp-04h];  ret
     279        mov     [eax+08h],ecx
     280        ret     
     281asmfoosys12     endp
     282
     283; 44 struct ret8bytes _System    asmfoosys8(void)
     284        align 010h
     285
     286        public asmfoosys8
     287asmfoosys8      proc
     288
     289; 47     return ret;
     290        mov     eax,[esp+04h];  @CBE2
     291
     292; 46     struct ret8bytes ret = {1,2};
     293        mov     dword ptr [esp-08h],01h;        ret
     294        mov     dword ptr [esp-04h],02h;        ret
     295
     296; 47     return ret;
     297        mov     edx,[esp-08h];  ret
     298        mov     ecx,[esp-04h];  ret
     299        mov     [eax],edx
     300        mov     [eax+04h],ecx
     301        ret     
     302asmfoosys8      endp
     303
     304; 38 struct ret4bytes _System    asmfoosys4(void)
     305        align 010h
     306
     307        public asmfoosys4
     308asmfoosys4      proc
     309
     310; 41     return ret;
    110311        mov     eax,[esp+04h];  @CBE1
    111312
    112 ; 41     struct ret4bytes ret = {1};
     313; 40     struct ret4bytes ret = {1};
    113314        mov     dword ptr [esp-04h],01h;        ret
    114315
    115 ; 42     return ret;
    116         mov     ecx,[esp-04h];  ret
    117         mov     [eax],ecx
    118         ret     
    119 asmfoo4 endp
     316; 41     return ret;
     317        mov     ecx,[esp-04h];  ret
     318        mov     [eax],ecx
     319        ret     
     320asmfoosys4      endp
     321
     322
     323
     324
     325public _asmfoodef4_gcc
     326_asmfoodef4_gcc:
     327        mov         eax, 1
     328        ret
     329   
     330public _asmfoodef8_gcc
     331_asmfoodef8_gcc:
     332        mov         eax, 1
     333        mov         edx, 2
     334        ret
     335   
     336public _asmfoodef12_gcc
     337_asmfoodef12_gcc:
     338        push    ebp
     339        mov     ebp, esp
     340        sub     esp, 24
     341        mov     eax, [ebp + 8]
     342        mov     dword ptr [eax + 0], 1
     343        mov     dword ptr [eax + 4], 2
     344        mov     dword ptr [eax + 8], 3
     345        leave
     346        ret     4
     347   
     348public _asmfoodef16_gcc
     349_asmfoodef16_gcc:
     350        push    ebp
     351        mov     ebp, esp
     352        sub     esp, 24
     353        mov     eax, [ebp + 8]
     354        mov     dword ptr [eax + 0], 1
     355        mov     dword ptr [eax + 4], 2
     356        mov     dword ptr [eax + 8], 3
     357        mov     dword ptr [eax +12], 4
     358        leave
     359        ret     4
     360
    120361CODE32  ends
    121362end
Note: See TracChangeset for help on using the changeset viewer.