亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

INC指令與添加1:重要嗎?

INC指令與添加1:重要嗎?

INC指令與添加1:重要嗎?從…艾拉·巴克斯特接電話,為什么INC和DEC指令不影響攜帶旗(CF)?大多數情況下,我遠離INC和DEC現在,因為它們會進行部分條件代碼更新,這可能會導致管道中出現有趣的停頓,并且ADD/SUB不要。所以在不重要的地方(大多數地方),我用ADD/SUB為了避開貨攤。我用INC/DEC只有在保持代碼很小的情況下,例如,在一個緩存行中,一個或兩個指令的大小就足夠重要了。這可能是毫無意義的Nano[字面意義上的]優化,但我的編碼習慣已經相當老套了。我想問一問,為什么它會在管道中造成阻塞,而Add卻沒有呢?畢竟,兩者ADD和INC更新標志寄存器。唯一的區別是INC不會更新CF..但這有什么關系?
查看完整描述

2 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

根據指令的CPU實現,部分寄存器更新可能導致延遲。根據阿格納·福格的優化指南,第62頁,

由于歷史原因,INCDEC指令保持進位標志不變,而其他算術標志被寫入。這會導致對標志的前一個值的錯誤依賴,并需要額外的μ操作。為了避免這些問題,建議您始終使用ADDSUB而不是INCDEC..例如,INC EAX應改為ADD EAX,1.

另見第83頁關于“部分旗檔”和第100頁關于“部分旗檔”。


查看完整回答
反對 回復 2019-06-26
  • 2 回答
  • 0 關注
  • 974 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號