回覆列表
  • 1 # 使用者3937226028394

    DAS(Decimal Adjust for Subtraction) 如果(AL & 0FH)>9或輔助進位標誌A=1 (即個位數不夠減,需要借位),則:AL的值減6 (校正低4位)

    輔助進位標誌A置1;如果AL>9FH 或進位標誌C=1 (即十位數不夠減,需要借位),則:

    AL的值減60H (校正高4位)進位標誌C置1 (AL)=12H(12的組合BCD碼),(BL)=34H (34的組合BCD碼),求12-34的值。直接執行減法指令:

    SUB AL ,BL 後,(AL)= 0DEH,顯然結果不正確,需要校正:DAS

    DAS指令自動完成以下操作:由於相減時AL的低4 位向高4位進位,AF=1,故:

    (AL) ←(AL) - 6,即(AL)=0DEH- 6=0D8H

    AF=1

    由於相加時AL>9FH ,故:

    (AL) ←(AL) - 60,即(AL)=0D8H- 60=78H

    CF=1

    最後,CF=1,(AL)=78H(因為112 -34=78 )

    https://iknow-pic.cdn.bcebos.com/95eef01f3a292df5677890f4bb315c6035a87393

  • 中秋節和大豐收的關聯?
  • 做化妝品銷售,如何更快的提高銷售業績?