;copyright (c) 2012 Kazuki Iwamoto http://www.maid.org/ iwm@maid.org
;
;Permission is hereby granted, free of charge, to any person obtaining
;a copy of this software and associated documentation files (the
;"Software"), to deal in the Software without restriction, including
;without limitation the rights to use, copy, modify, merge, publish,
;distribute, sublicense, and/or sell copies of the Software, and to
;permit persons to whom the Software is furnished to do so, subject to
;the following conditions:
;
;The above copyright notice and this permission notice shall be included
;in all copies or substantial portions of the Software.
;
;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
;EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
;MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
;IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
;CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
;TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

.586
.model flat, c

_aulldvrm proto

.code

_alldvrm proc
        push    esi
        xor     esi, esi
        mov     eax, [esp + 20]
        mov     edx, [esp + 16]
        or      eax, eax
        jge     @@1
        neg     eax
        neg     edx
        sbb     eax, 0
        inc     esi
@@1:    push    eax
        push    edx
        mov     eax, [esp + 20]
        mov     edx, [esp + 16]
        or      eax, eax
        jge     @@2
        or      esi, 4
        neg     eax
        neg     edx
        sbb     eax, 0
        inc     esi
@@2:    push    eax
        push    edx
        call    _aulldvrm
        shr     esi, 1
        jnc     short @@3
        neg     edx
        neg     eax
        sbb     edx, 0
@@3:    shr     esi, 2
        jnc     short @@4
        neg     ebx
        neg     ecx
        sbb     ebx, 0
@@4:    pop     esi
        ret     16
_alldvrm endp

end
