十進制調整指令

十進制調整指令

十進制調整指令用來對BCD碼的加法運算結果自動進行修正,但BCD碼的減法運算不能用此指令來進行修正。十進制調整的實質是將十六進制的加法運算轉換成十進制。

基本介紹

  • 中文名:十進制調整指令
  • 外文名:decimal adjust instruction
  • 定義:對BCD碼的加法結果自動進行修正
  • 類型:十進制
  • 系統:計算機
  • 套用學科:計算機原理
基本介紹,壓縮指令,非壓縮指令,

基本介紹

在計算機中,十進制數字0~9一般可用BCD碼來表示,然而計算機在進行運算時,是按二進制規則進行的,對於4位二進制數有16種狀態,對應1 6個數字,而十進制數隻用其中的10種表示0~9,因此按二進制的規則運算就可能導致錯誤的結果。

壓縮指令

壓縮BCD碼調整指令
加法的調整指令DAA
指令格式:DAA
功能:如果AL暫存器中低4位大於9或輔助進位(AF)=1,則(AL)=(AL)+6且(AF)=1;如果(AL)>=0AOH或(CF)=1,則(AL)=(AL)+60H且(CF)=1。同時,SF、ZF、PF均有影響。
減法的整指令DAS
指令格式:DAS
功能:如果(AF)=1或AL暫存器中低4位大於9,則(AL)=(AL)一6且(AF)=1;如果(AL)>=0AOH或(CF)=1,則(AL)=(AL)一60H且(CF)=1。同時SF、ZF、PF均受影響。

非壓縮指令

非壓縮BCD碼調整指令
加法的調整指令AAA
指令格式:AAA
功能:如果AL的低4位大於9或(AF)=1,則:
(AL)=(AL)+6
(AH)=(AH)+1
(AF)=(CF)=1
且AL高4位清零。否則:(CF)=(AF)=0,AL高4位清零。
減法的調整指令AAS
指令格式:AAS
功能:如果AL的低4位大於9或(AF)=1,則:
(AL)=(AL)一6
(AH)=(AH)一1
(AF)=(cF)=1
AL高4位清零。否則:(CF)=(AF)=0,AL高4位清零。其他標誌位OF、PF、SF、ZF不確定。
乘法的調整指令AAM
指令格式:AAM
功能:被調整的乘積在AX中,對AL按10取模,則:(AL)/0AH-AH(商):AL(餘數),其中AH為商,AL為餘數,標誌位AF、CF、OF、PF、SF、ZF受影響。
除法的調整指令AAD
指令格式:AAD
功能:除法運算前,先調整被除數AX內容,使:
(AL)=(AL)+(AH)*0AH
(AH)=0
即把非壓縮型十進制數變成二進制數

相關詞條

熱門詞條

聯絡我們