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只需要一個週期即可完成!