Annotation of OpenXM_contrib2/asir2000/asm/asmiw.c, Revision 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>