Initial commit

This commit is contained in:
t3hn3rd committed 2026-02-23 23:02:58 +00:00
commit 3361286352
29 files changed
+3386

No files matched your search

+92
View File
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="12"/>
<PathDelim Value="\"/>
<General>
<Flags>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<Title Value="WASURO"/>
<UseAppBundle Value="False"/>
<ResourceType Value="res"/>
</General>
<BuildModes>
<Item Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<UseFileFilters Value="True"/>
</PublishOptions>
<RunParams>
<FormatVersion Value="2"/>
</RunParams>
<Units>
<Unit>
<Filename Value="WASURO.lpr"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\vm.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\vmtypes.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\vmopcodes.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\wasm.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\wasm.parser.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\wasm.test.binary.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
<Unit>
<Filename Value="..\vm\wasm.leb128.pas"/>
<IsPartOfProject Value="True"/>
</Unit>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="..\..\bin\WASURO"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\emu;..\wasm;..\wasm\parser;..\wasm\parser\sections;..\wasm\test;..\wasm\types;..\wasm\vm"/>
<UnitOutputDirectory Value="..\..\lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions>
<Item>
<Name Value="EAbort"/>
</Item>
<Item>
<Name Value="ECodetoolError"/>
</Item>
<Item>
<Name Value="EFOpenError"/>
</Item>
</Exceptions>
</Debugging>
</CONFIG>
+36
View File
@@ -0,0 +1,36 @@
program WASURO;
uses
sysutils,
console,
types,
wasm.types,
wasm.parser,
wasm.vm, wasm.test.binary,
wasm.types.stack;
var
Context : PWASMProcessContext;
begin
writestringln('[main] Initializing VM');
wasm.vm.init();
writestringln('[main] Parsing WASM Binary');
Context:= wasm.parser.parse(@wasm.test.binary.TEST_BINARY_1[0], puint8(@wasm.test.binary.TEST_BINARY_1[0] + $26));
writestringln('[main] Running...');
Context^.ExecutionState.Running:= true;
while (wasm.vm.tick(Context)) do;
writestringln('[main] Finished Execution');
writestring('[main] Returns: ');
while Context^.ExecutionState.Operand_Stack^.Top > 0 do begin
write(wasm.types.stack.popi32(Context^.ExecutionState.Operand_Stack),', ');
end;
writeln();
while true do sleep(1000);
end.
File diff suppressed because it is too large. Load diff