【发布时间】:2011-07-05 06:31:32
【问题描述】:
我有这个程序可以交换 Word 变量的字节(低/高)(它的作用与 System.Swap 函数相同)。该过程在编译器优化关闭时有效,但在打开时无效。 有人可以帮我解决这个问题吗?
procedure SwapWord(VAR TwoBytes: word);
asm
Mov EBX, TwoBytes
Mov AX, [EBX]
XCHG AL,AH
Mov [EBX], AX
end;
【问题讨论】:
-
我的第一个猜测是它完美无缺,也许优化导致了你没想到的调试结果。你能给我们提供一个最小的复制案例吗?