[BACK]Return to asmiw.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / asm

Annotation of OpenXM_contrib2/asir2000/asm/asmiw.c, Revision 1.1.1.1

1.1       noro        1: /* $OpenXM: OpenXM/src/asir99/asm/asmiw.c,v 1.1.1.1 1999/11/10 08:12:25 noro Exp $ */
                      2: unsigned int dm(a1,a2,u)
                      3: unsigned int a1,a2,*u;
                      4: {
                      5:        __asm
                      6:        {
                      7:        mov             eax,a1
                      8:        mul             a2
                      9:        mov     ebx,u
                     10:        mov     DWORD PTR [ebx],edx
                     11:        }
                     12: }
                     13:
                     14: unsigned int dma(a1,a2,a3,u)
                     15: unsigned int a1,a2,a3,*u;
                     16: {
                     17:        __asm
                     18:        {
                     19:        mov             eax,a1
                     20:        mul             a2
                     21:        add             eax,a3
                     22:        adc             edx,0
                     23:        mov     ebx,u
                     24:        mov     DWORD PTR [ebx],edx
                     25:        }
                     26: }
                     27:
                     28: unsigned int dma2(a1,a2,a3,a4,u)
                     29: unsigned int a1,a2,a3,a4,*u;
                     30: {
                     31:        __asm
                     32:        {
                     33:        mov             eax,a1
                     34:        mul             a2
                     35:        add             eax,a3
                     36:        adc             edx,0
                     37:        add             eax,a4
                     38:        adc             edx,0
                     39:        mov     ebx,u
                     40:        mov     DWORD PTR [ebx],edx
                     41:        }
                     42: }
                     43:
                     44: unsigned int dmb(base,a1,a2,u)
                     45: unsigned int base,a1,a2,*u;
                     46: {
                     47:        __asm
                     48:        {
                     49:        mov             eax,a1
                     50:        mul             a2
                     51:        div             base
                     52:        mov     ebx,u
                     53:        mov     DWORD PTR [ebx],eax
                     54:        mov     eax,edx
                     55:        }
                     56: }
                     57:
                     58: unsigned int dmab(base,a1,a2,a3,u)
                     59: unsigned int base,a1,a2,a3,*u;
                     60: {
                     61:        __asm
                     62:        {
                     63:        mov             eax,a1
                     64:        mul             a2
                     65:        add             eax,a3
                     66:        adc             edx,0
                     67:        div             base
                     68:        mov     ebx,u
                     69:        mov     DWORD PTR [ebx],eax
                     70:        mov     eax,edx
                     71:        }
                     72: }
                     73:
                     74: unsigned int dsab(base,a1,a2,u)
                     75: unsigned int base,a1,a2,*u;
                     76: {
                     77:        __asm
                     78:        {
                     79:        mov             edx,a1
                     80:        mov             eax,a2
                     81:        div             base
                     82:        mov     ebx,u
                     83:        mov     DWORD PTR [ebx],eax
                     84:        mov     eax,edx
                     85:        }
                     86: }
                     87:
                     88: unsigned int dmar(a1,a2,a3,d)
                     89: unsigned int a1,a2,a3,d;
                     90: {
                     91:        __asm
                     92:        {
                     93:        mov             eax,a1
                     94:        mul             a2
                     95:        add             eax,a3
                     96:        adc             edx,0
                     97:        div             d
                     98:        mov     eax,edx
                     99:        }
                    100: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>