:جديد المواضيع
النتائج 1 إلى 2 من 2

أحتاج خبير بالأسمبيلي و opcode بنتيوم 3 لشرح هذين البرنامجين

  1. #1
    عضو

    User Info Menu

    أحتاج خبير بالأسمبيلي و opcode بنتيوم 3 لشرح هذين البرنامجين

    Example 5-15 Replacing the Streaming SIMDExtensions Code with the MMX
    Technology Code
    loopMax:
    cmpnleps xmm1, xmm0 ;create mask in Streaming SIMD
    ;Extensions format
    maxps xmm0, [esi+ecx];get max values
    movaps [esi+ecx], xmm1;store mask into memory
    movq mm1, [esi+ecx];put lower part of mask into mm1
    add ecx, 16 ;increment pointer
    movaps xmm1, [esi+ecx];load next four aligned floats
    packssdw mm1, [esi+ecx-8];pack lower and upper parts
    ;of the mask
    mask:
    pand mm1, mm3 ;get indices mask of max values
    paddw mm3, mm4 ;increment indices
    pmaxsw mm2, mm1 ;get indices corresponding to max
    ;values
    jnz loopMax
    Example 5-16 Typical Dot Product Implementation

    inner_loop:
    movaps (%eax,%ecx,4), %xmm0 // 1st
    movaps (%ebx,%ecx,4), %xmm1
    mulps %xmm1, %xmm0
    addps %xmm0, %xmm7
    movaps 16(%eax,%ecx,4), %xmm2 // 2nd
    movaps 16(%ebx,%ecx,4), %xmm3
    mulps %xmm3, %xmm2
    addps %xmm2, %xmm7
    movaps 32(%eax,%ecx,4), %xmm4 // 3rd
    movaps 32(%ebx,%ecx,4), %xmm5
    mulps %xmm5, %xmm4
    addps %xmm4, %xmm7
    movaps 48(%eax,%ecx,4), %xmm6 // 4th
    movaps 48(%ebx,%ecx,4), %xmm0
    mulps %xmm6, %xmm0
    addps %xmm0, %xmm7
    subl $16, %ecx // loop count
    jnz inner_loop


    0 Not allowed!

  2. #2

الكلمات الدلالية لهذا الموضوع

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •