Assembly is real open source.



addsubps


دستور ADDSUBPS


Usage: ADDSUBPS dest,src Modifies flags: None


دستور ADDSUBPS روی هیچکدام از رجیسترهای پرچم تاثیر ندارد .




Add/Subtract packed SP FP numbers from 'src' to 'dest'.

جمع یا تفریق اعداد ممیز شناور بسته ای از  مبدا به مقصد .



Packed Single-FP Add/Subtract

 جمع یا تفریق  اعداد ممیز شناور ساده ی بسته ای .

ADDSUBPS xmm1, xmm2/mem128 ; F2 0F D0 /r [Pent4]


قابل اجرا روی اینتل پنتیوم 4 

 

Adds odd-numbered single-precision floating-point values of the 'src' operand (second operand) with the corresponding single-precision floating-point values from the 'dest' operand (first operand); stores the result in the odd-numbered values of the 'dest' operand. Subtracts the even-numbered single-precision floating-point values in the 'src' operand from the corresponding single-precision floating values in the 'dest' operand; stores the result into the even-numbered values of the 'dest' operand.

دستور ADDSUBPS مقادیر ممیز شناور دقت منفرد فرد درون  عملوند مبدا ( عملوند دوم از سمت چپ ) را با مقادیر ممیز شناور دقت منفرد نظیر به نظیر از عملوند مقصد ( عملوند اول از سمت چپ ) را با یکدیگر جمع می کند ؛ سپس نتیجه را در مقادیر فرد عملوند مقصد ، ذخیره می نماید . این دستور همچنین تقریق می کند مقادیر ممیز شناور دقت منفرد فرد موجود در عملوند مقصد را از مقادیر مشابه در عملوند  مقصد ؛ نگه می دارد نتیجه را  به درون مقادیر منفرد عملوند مقصد .


 

When the source operand is a memory operand, it must be aligned on a 16-byte boundary or a general-protection exception (#GP) will be generated.

هنگامیکه عملوند مبدا یک عملوند حافظه است ، باید روی یک مرز 16 بایتی تنظیم شده باشد وگرنه یک استثنای چند حفاظتی رخ خواهد داد .


xmm1[31-0] = xmm1[31-0] - xmm2/m128[31-0];

xmm1[63-32] = xmm1[63-32] + xmm2/m128[63-32];

xmm1[95-64] = xmm1[95-64] - xmm2/m128[95-64];

xmm1[127-96] = xmm1[127-96] + xmm2/m128[127-96]



مثال :


main:

addsubps     xmm1   Label


ret


+

+

وحید محمدی - وبلاگ وحیدمی .