Delphi 嵌入彙編學習

Function H32ToLow(Sdigit:LongWord):LongWord;
  Asm
   MOV  EAX,Sdigit
   BSWAP EAX
  Mov Sdigit,AX
  End;

 Function H16ToLow(Sdigit:Word):Word;
  Asm
   MOV AX,Sdigit
   ROR AX,8
  Mov Sdigit,AX
  End;

 Function H16ToLow(Sdigit:Word):Word;
  Asm
   MOV AX,Sdigit
   XCHG AL,AH
  Mov Sdigit,AX
  End;

說明:
     BSWAP 用於交換32位寄存器裏字節的順序
     XCHG 交換字或字節.( 至少有一個操作數爲寄存器,段寄存器不可作爲操作數)
     ROL,ROR 循環位移
所以,第二個函數中,應採用XCHG的速度就比用ROL或是的ROR的速度要快,ROR,ROL需要多個週期纔可以完成,而XCHG只需要一個週期即可完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章