AAD
aad
دستور aad
Usage: AAD Modifies flags: SF ZF PF (AF,CF,OF undefined)
کاربرد : دستور AAD محتویات پرچمهای SF و ZF و PF را تغییر می دهد . پرچمهای AF و CF و OF تعریف نشده اند .
Used before dividing unpacked decimal numbers. Multiplies AH by 10 and the adds result into AL.
دستور AAD ، قبل از تقسیم اعداد دسیمال غیربسته ای بکار می رود . دستور AAD مقدار درون رجیستر AH را در 10 ضرب می کند و حاصلضرب را با مقدار درون رجیستر AL ، جمع می کند .
Sets AH to zero.
مقدار درون رجیستر AH را صفر می کند . ( رجیستر را کاملا خالی می کند) .
ASCII Adjustments
تعدیل کنندگان اسکی .
AAA ; 37 [8086]
قبلا در پست AAA بطور مفصل معرفی شده است . به پست AAA مراجعه فرمایید .
AAS ; 3F [8086]
قبلا در پست AAS معرفی شده است . به پست AAS مراجعه فرمایید .
AAD ; D5 0A [8086]
AAD imm ; D5 ib [8086]
AAM ; D4 0A [8086]
AAM imm ; D4 ib [8086]
دستور AAM قبلا در پست AAM معرفی شده است . به پست AAM مراجعه فرمایید .
متون انگلیسی زیر، قبلا ترجمه شده اند و صرفا برای یادآوری اینجا آورده شده اند . به پستهای مربوطه، مراجعه فرمایید . با کلیک روی نام هر دستور می توانید به پست مربوطه وارد شوید :
These instructions are used in conjunction with the add, subtract, multiply and divide instructions to perform binary-coded decimal arithmetic in (one BCD digit per byte - easy to translate to and from ASCII, hence the instruction names) form. There are also packed BCD instructions DAA and DAS: see DAA.
AAA (ASCII Adjust After Addition) should be used after a one-byte ADD instruction whose destination was the AL register: by means of examining the value in the low nibble of AL and also the auxiliary carry flag AF, it determines whether the addition has overflowed, and adjusts it (and sets the carry flag) if so. You can add long BCD strings together by doing ADD/AAA on the low digits, then doing ADC/AAA on each subsequent digit.
AAS (ASCII Adjust AL After Subtraction) works similarly to AAA, but is for use after SUB instructions rather than ADD.
AAM (ASCII Adjust AX After Multiply) is for use after you have multiplied two decimal digits together and left the result in AL: it divides AL by ten and stores the quotient in AH, leaving the remainder in AL. The divisor 10 can be changed by specifying an operand to the instruction: a particularly handy use of this is AAM 16, causing the two nibbles in AL to be separated into AH and AL.
AAD (ASCII Adjust AX Before Division) performs the inverse operation to AAM: it multiplies AH by ten, adds it to AL, and sets AH to zero. Again, the multiplier 10 can be changed.
دستور AAD ( مخفف تنظیم اسکی در رجیستر AX قبل از عملیات تقسیم ) عملیاتی معکوس با دستور AAM اجرا می کند : دستور AAD مقدار درون رجیستر AH را در عدد 10 ضرب می کند ، سپس نتیجه را به مقدار درون رجیستر AL اضافه ( جمع ) می کند ، و مقدار درون رجیستر AH را صفر ( خالی ) می کند . مجددا عدد 10 که مضروب فیه می باشد می تواند تغییر کند .
+
سورس برنامه در اسمبلر RosAsm :
main:
xor eax eax ; eax = 0 . ah = 0
mov ah 5 ; ah = 5d
aad ; eax = 32h = 50d
ret ; return to RosAsm or OS
- ۰۰/۰۵/۰۲