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