内联函数不能有汇编块的报错,请达人看一看,该如何处理

内联函数不能有汇编块的报错,请达人看一看
我写了一个内联函数,编译时报错:

function RefTest(x, y, z: Byte): DWord; inline;

.....


function RefTest((x, y, z: Byte): DWord;
asm
  MOV   AH , $00
  SHL   EAX, 16
  MOV   AH , DL
  MOV   AL , CL
END;


这个在delphi7下可以正常运行,在delphi2007下就报错:
inline function must not have asm block
是编译器的设置有问题吗?

------解决方案--------------------
内联函数中不允许内联汇编,官方文档就明确了
http://docwiki.embarcadero.com/RADStudio/XE5/en/E2426_Inline_function_must_not_have_asm_block_(Delphi)
Inline functions can not include an asm block. To avoid this error, remove the inline directive from your function or use Pascal code to express the statements in the asm block.
要么去掉inline,要么去掉汇编用pascal代码来写,内联函数中再内联汇编,编译器不知如何展开它

另外你说什么delpi7中没问题,没搞错吧,delphi7哪里支持inline,inline指令在d7中根本没有,编译都编译不过,怎么说d7下正常? 记得是从d2007还是2009时才加入inline支持。