URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
[/] [eco32/] [trunk/] [lcc/] [x86/] [win32/] [tst/] [sort.sbk] - Rev 4
Compare with Previous | Blame | View Log
.486.model flatextrn __fltused:nearextrn __ftol:near_DATA segmentpublic _inalign 4_in label bytedd 10dd 32dd -1dd 567dd 3dd 18dd 1dd -51dd 789dd 0public _main_DATA ends_TEXT segment_main:push ebxpush esipush edipush ebpmov ebp,espsub esp,4push 10lea edi,(_in)push edicall _sortadd esp,8mov dword ptr (-4)[ebp],0jmp L5L2:mov edi,dword ptr (-4)[ebp]mov edi,dword ptr (_in)[edi*4]push edicall _putdadd esp,4push 10call _putcharadd esp,4L3:inc dword ptr (-4)[ebp]L5:mov edi,dword ptr (-4)[ebp]cmp edi,10jb L2mov eax,0L1:mov esp,ebppop ebppop edipop esipop ebxretpublic _putd_putd:push ebxpush esipush edipush ebpmov ebp,espcmp dword ptr (20)[ebp],0jge L7push 45call _putcharadd esp,4neg dword ptr (20)[ebp]L7:mov eax,dword ptr (20)[ebp]mov edi,10cdqidiv edicmp eax,0je L9mov eax,dword ptr (20)[ebp]mov edi,10cdqidiv edipush eaxcall _putdadd esp,4L9:mov eax,dword ptr (20)[ebp]mov edi,10cdqidiv edilea edi,(48)[edx]push edicall _putcharadd esp,4mov eax,0L6:mov esp,ebppop ebppop edipop esipop ebxretpublic _sort_sort:push ebxpush esipush edipush ebpmov ebp,espmov edi,dword ptr (24)[ebp]sub edi,1mov dword ptr (24)[ebp],edipush edipush 0mov edi,dword ptr (20)[ebp]mov dword ptr (_xx),edipush edicall _quickadd esp,12mov eax,0L11:mov esp,ebppop ebppop edipop esipop ebxretpublic _quick_quick:push ebxpush esipush edipush ebpmov ebp,espsub esp,4mov edi,dword ptr (28)[ebp]cmp dword ptr (24)[ebp],edijl L13mov eax,0jmp L12L13:mov edi,dword ptr (28)[ebp]push edimov edi,dword ptr (24)[ebp]push edimov edi,dword ptr (20)[ebp]push edicall _partitionadd esp,12mov dword ptr (-4)[ebp],eaxmov edi,dword ptr (-4)[ebp]sub edi,1push edimov edi,dword ptr (24)[ebp]push edimov edi,dword ptr (20)[ebp]push edicall _quickadd esp,12mov edi,dword ptr (28)[ebp]push edimov edi,dword ptr (-4)[ebp]lea edi,(1)[edi]push edimov edi,dword ptr (20)[ebp]push edicall _quickadd esp,12mov eax,0L12:mov esp,ebppop ebppop edipop esipop ebxretpublic _partition_partition:push ebxpush esipush edipush ebpmov ebp,espsub esp,8inc dword ptr (28)[ebp]mov edi,dword ptr (24)[ebp]mov dword ptr (-8)[ebp],edimov edi,dword ptr (-8)[ebp]mov esi,dword ptr (20)[ebp]mov edi,dword ptr [esi][edi*4]mov dword ptr (-4)[ebp],edijmp L17L16:inc dword ptr (24)[ebp]jmp L20L19:inc dword ptr (24)[ebp]L20:mov edi,dword ptr (24)[ebp]mov esi,dword ptr (20)[ebp]mov ebx,dword ptr (-4)[ebp]cmp dword ptr [esi][edi*4],ebxjl L19dec dword ptr (28)[ebp]jmp L23L22:dec dword ptr (28)[ebp]L23:mov edi,dword ptr (28)[ebp]mov esi,dword ptr (20)[ebp]mov ebx,dword ptr (-4)[ebp]cmp dword ptr [esi][edi*4],ebxjg L22mov edi,dword ptr (28)[ebp]cmp dword ptr (24)[ebp],edijge L25mov edi,dword ptr (20)[ebp]mov esi,dword ptr (28)[ebp]lea esi,[edi][esi*4]push esimov esi,dword ptr (24)[ebp]lea edi,[edi][esi*4]push edicall _exchangeadd esp,8L25:L17:mov edi,dword ptr (28)[ebp]cmp dword ptr (24)[ebp],edijl L16mov edi,dword ptr (20)[ebp]mov esi,dword ptr (28)[ebp]lea esi,[edi][esi*4]push esimov esi,dword ptr (-8)[ebp]lea edi,[edi][esi*4]push edicall _exchangeadd esp,8mov eax,dword ptr (28)[ebp]L15:mov esp,ebppop ebppop edipop esipop ebxretpublic _exchange_exchange:push ebxpush esipush edipush ebpmov ebp,espsub esp,4mov edi,dword ptr (_xx)mov esi,4mov ebx,dword ptr (24)[ebp]sub ebx,edimov eax,ebxcdqidiv esipush eaxmov ebx,dword ptr (20)[ebp]sub ebx,edimov eax,ebxcdqidiv esipush eaxlea edi,(L28)push edicall _printfadd esp,12mov edi,dword ptr (20)[ebp]mov esi,dword ptr [edi]mov dword ptr (-4)[ebp],esimov esi,dword ptr (24)[ebp]mov esi,dword ptr [esi]mov dword ptr [edi],esimov edi,dword ptr (24)[ebp]mov esi,dword ptr (-4)[ebp]mov dword ptr [edi],esimov eax,0L27:mov esp,ebppop ebppop edipop esipop ebxret_TEXT endsextrn _printf:near_TEXT segment_TEXT endsextrn _putchar:near_TEXT segment_TEXT ends_DATA segmentpublic _xxalign 4_xx label bytedb 4 dup (0)_DATA ends_TEXT segmentalign 1L28 label bytedb 101db 120db 99db 104db 97db 110db 103db 101db 40db 37db 100db 44db 37db 100db 41db 10db 0_TEXT endsend
