unit Unit1; interface uses System.SysUtils,DUnitX.TestFramework,RuntimeBuilder,RuntimeBuilder.Fasm,RuntimeBuilder.Types; type [TestFixture] TRuntimeBuilderTestObject=class(TObject) public [TestCase] procedure Test1(); end; implementation procedure TRuntimeBuilderTestObject.Test1(); var Fasm:TRTBFasmCompiler; Src:TRTBSource; Func1:TRTBFunc; begin Fasm:=TRTBFasmCompiler.Create('..\..\..\FasmOnDelphi\fasmw172\fasm'); Src:=Fasm.GenNewSrc; Src.Text:='use32'+sLineBreak+'pop ecx'+sLineBreak+'pop eax'+sLineBreak+'jmp ecx'; Func1:=src.CompilateAsFunc; if 454<>Func1.Call(TypeInfo(integer),[454],CRTBCallTypeStdCall).AsInteger then begin raise Exception.Create('Error in test1'); end; FreeAndNil(Func1); FreeAndNil(Src); FreeAndNil(Fasm); end; initialization TDUnitX.RegisterTestFixture(TRuntimeBuilderTestObject); end.