mirror of https://github.com/OpenTTD/OpenTTD
(svn r20598) -Codechange: [Win32] Replace the external x64 asm with a built-in Windows function.
parent
56e05d1e2c
commit
a7e8b67c7c
|
@ -47,9 +47,6 @@
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
@ -1089,17 +1086,6 @@
|
||||||
<ClInclude Include="..\src\thread\thread.h" />
|
<ClInclude Include="..\src\thread\thread.h" />
|
||||||
<ClCompile Include="..\src\thread\thread_win32.cpp" />
|
<ClCompile Include="..\src\thread\thread_win32.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<MASM Include="..\src\os\windows\win64.asm">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">1</PreserveIdentifierCase>
|
|
||||||
<PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreservePublicAndExternSymbolCase>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
<PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">1</PreserveIdentifierCase>
|
|
||||||
<PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreservePublicAndExternSymbolCase>
|
|
||||||
<FileType>Document</FileType>
|
|
||||||
</MASM>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\readme.txt" />
|
||||||
|
@ -1119,7 +1105,4 @@
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -91,10 +91,6 @@
|
||||||
<Filter Include="Threading">
|
<Filter Include="Threading">
|
||||||
<UniqueIdentifier>{c76ff9f1-1e62-46d8-8d55-000000000029}</UniqueIdentifier>
|
<UniqueIdentifier>{c76ff9f1-1e62-46d8-8d55-000000000029}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="64-bit Specific Files">
|
|
||||||
<UniqueIdentifier>{d55d5f1f-aa07-4839-80d7-5ae158609e61}</UniqueIdentifier>
|
|
||||||
<Extensions>asm</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\src\airport.cpp">
|
<ClCompile Include="..\src\airport.cpp">
|
||||||
|
@ -2472,9 +2468,4 @@
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\readme.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<MASM Include="..\src\os\windows\win64.asm">
|
|
||||||
<Filter>64-bit Specific Files</Filter>
|
|
||||||
</MASM>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILTERS!!
|
!!FILTERS!!
|
||||||
<Filter Include="64-bit Specific Files">
|
|
||||||
<UniqueIdentifier>{d55d5f1f-aa07-4839-80d7-5ae158609e61}</UniqueIdentifier>
|
|
||||||
<Extensions>asm</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
|
@ -14,9 +10,4 @@
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\readme.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<MASM Include="..\src\os\windows\win64.asm">
|
|
||||||
<Filter>64-bit Specific Files</Filter>
|
|
||||||
</MASM>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -47,9 +47,6 @@
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
@ -300,17 +297,6 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<MASM Include="..\src\os\windows\win64.asm">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">1</PreserveIdentifierCase>
|
|
||||||
<PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreservePublicAndExternSymbolCase>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
<PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">1</PreserveIdentifierCase>
|
|
||||||
<PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreservePublicAndExternSymbolCase>
|
|
||||||
<FileType>Document</FileType>
|
|
||||||
</MASM>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\media\openttd.ico" />
|
<None Include="..\media\openttd.ico" />
|
||||||
<None Include="..\readme.txt" />
|
<None Include="..\readme.txt" />
|
||||||
|
@ -330,7 +316,4 @@
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -14,11 +14,6 @@
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
<ToolFile
|
|
||||||
RelativePath="..\src\os\windows\masm64.rules"
|
|
||||||
/>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
|
@ -37,9 +32,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -150,9 +142,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -249,9 +238,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -363,9 +349,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -3732,49 +3715,6 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
|
||||||
Name="64-bit Specific Files"
|
|
||||||
Filter="asm"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\os\windows\win64.asm"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\media\openttd.ico"
|
RelativePath=".\..\media\openttd.ico"
|
||||||
>
|
>
|
||||||
|
|
|
@ -14,11 +14,6 @@
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
<ToolFile
|
|
||||||
RelativePath="..\src\os\windows\masm64.rules"
|
|
||||||
/>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
|
@ -37,9 +32,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -150,9 +142,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -249,9 +238,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -363,9 +349,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -453,49 +436,6 @@
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
<Filter
|
|
||||||
Name="64-bit Specific Files"
|
|
||||||
Filter="asm"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\os\windows\win64.asm"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\media\openttd.ico"
|
RelativePath=".\..\media\openttd.ico"
|
||||||
>
|
>
|
||||||
|
|
|
@ -15,11 +15,6 @@
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
<ToolFile
|
|
||||||
RelativePath="..\src\os\windows\masm64.rules"
|
|
||||||
/>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
|
@ -38,9 +33,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -149,9 +141,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -247,9 +236,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -360,9 +346,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -3729,49 +3712,6 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
|
||||||
Name="64-bit Specific Files"
|
|
||||||
Filter="asm"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\os\windows\win64.asm"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\media\openttd.ico"
|
RelativePath=".\..\media\openttd.ico"
|
||||||
>
|
>
|
||||||
|
|
|
@ -15,11 +15,6 @@
|
||||||
Name="x64"
|
Name="x64"
|
||||||
/>
|
/>
|
||||||
</Platforms>
|
</Platforms>
|
||||||
<ToolFiles>
|
|
||||||
<ToolFile
|
|
||||||
RelativePath="..\src\os\windows\masm64.rules"
|
|
||||||
/>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
|
@ -38,9 +33,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -149,9 +141,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -247,9 +236,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -360,9 +346,6 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCustomBuildTool"
|
Name="VCCustomBuildTool"
|
||||||
/>
|
/>
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
/>
|
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCXMLDataGeneratorTool"
|
Name="VCXMLDataGeneratorTool"
|
||||||
/>
|
/>
|
||||||
|
@ -450,49 +433,6 @@
|
||||||
</References>
|
</References>
|
||||||
<Files>
|
<Files>
|
||||||
!!FILES!!
|
!!FILES!!
|
||||||
<Filter
|
|
||||||
Name="64-bit Specific Files"
|
|
||||||
Filter="asm"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\..\src\os\windows\win64.asm"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="MASM AMD64"
|
|
||||||
PreserveIdentifierCase="true"
|
|
||||||
PreservePublicAndExternSymbolCase="true"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\..\media\openttd.ico"
|
RelativePath=".\..\media\openttd.ico"
|
||||||
>
|
>
|
||||||
|
|
|
@ -10,6 +10,12 @@
|
||||||
/** @file crashlog_win.cpp Implementation of a crashlogger for Windows */
|
/** @file crashlog_win.cpp Implementation of a crashlogger for Windows */
|
||||||
|
|
||||||
#include "../../stdafx.h"
|
#include "../../stdafx.h"
|
||||||
|
#if defined(_MSC_VER) && defined(_M_AMD64)
|
||||||
|
/* Redefine WinNT version to get RtlCaptureContext prototype. */
|
||||||
|
#undef _WIN32_WINNT
|
||||||
|
#undef NTDDI_VERSION
|
||||||
|
#define _WIN32_WINNT _WIN32_WINNT_WINXP
|
||||||
|
#endif /* defined(_MSC_VER) && defined(_M_AMD64) */
|
||||||
#include "../../crashlog.h"
|
#include "../../crashlog.h"
|
||||||
#include "win32.h"
|
#include "win32.h"
|
||||||
#include "../../core/alloc_func.hpp"
|
#include "../../core/alloc_func.hpp"
|
||||||
|
@ -408,10 +414,6 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep)
|
||||||
return EXCEPTION_EXECUTE_HANDLER;
|
return EXCEPTION_EXECUTE_HANDLER;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _M_AMD64
|
|
||||||
extern "C" void *_get_safe_esp();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void CDECL CustomAbort(int signal)
|
static void CDECL CustomAbort(int signal)
|
||||||
{
|
{
|
||||||
RaiseException(0xE1212012, 0, 0, NULL);
|
RaiseException(0xE1212012, 0, 0, NULL);
|
||||||
|
@ -421,7 +423,14 @@ static void CDECL CustomAbort(int signal)
|
||||||
{
|
{
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#ifdef _M_AMD64
|
#ifdef _M_AMD64
|
||||||
_safe_esp = _get_safe_esp();
|
CONTEXT ctx;
|
||||||
|
RtlCaptureContext(&ctx);
|
||||||
|
|
||||||
|
/* The stack pointer for AMD64 must always be 16-byte aligned inside a
|
||||||
|
* function. As we are simulating a function call with the safe ESP value,
|
||||||
|
* we need to subtract 8 for the imaginary return address otherwise stack
|
||||||
|
* alignment would be wrong in the called function. */
|
||||||
|
_safe_esp = (void *)(ctx.Rsp - 8);
|
||||||
#else
|
#else
|
||||||
_asm {
|
_asm {
|
||||||
mov _safe_esp, esp
|
mov _safe_esp, esp
|
||||||
|
|
|
@ -1,266 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<VisualStudioToolFile
|
|
||||||
Name="Microsoft Macro Assembler 64"
|
|
||||||
Version="8.00"
|
|
||||||
>
|
|
||||||
<Rules>
|
|
||||||
<CustomBuildRule
|
|
||||||
Name="MASM AMD64"
|
|
||||||
DisplayName="Microsoft Macro Assembler for AMD64"
|
|
||||||
CommandLine="ml64.exe /c [AllOptions] [AdditionalOptions] /Ta[inputs]"
|
|
||||||
Outputs="[$ObjectFileName]"
|
|
||||||
FileExtensions="*.asm"
|
|
||||||
ExecutionDescription="Assembling..."
|
|
||||||
>
|
|
||||||
<Properties>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="NoLogo"
|
|
||||||
DisplayName="Suppress Startup Banner"
|
|
||||||
Description="Suppress the display of the startup banner and information messages. (/nologo)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/nologo"
|
|
||||||
DefaultValue="true"
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="ObjectFileName"
|
|
||||||
DisplayName="Object File Name"
|
|
||||||
PropertyPageName="Object File"
|
|
||||||
Description="Specifies the name of the output object file. (/Fo:[file])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Fo"[value]""
|
|
||||||
DefaultValue="$(IntDir)\$(InputName).obj"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="PreserveIdentifierCase"
|
|
||||||
DisplayName="Preserve Identifier Case"
|
|
||||||
PropertyPageName="Identifiers"
|
|
||||||
Description="Preserves case of all user identifiers. (/Cp)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Cp"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="PreservePublicAndExternSymbolCase"
|
|
||||||
DisplayName="Preserve Public and Extern Symbol Case"
|
|
||||||
PropertyPageName="Identifiers"
|
|
||||||
Description="Preserves case in public and extern symbols. (/Cx)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Cx"
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="PreprocessorDefinitions"
|
|
||||||
DisplayName="Preprocessor Definitions"
|
|
||||||
Description="Defines a text macro with the given name. (/D[symbol])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/D"[value]""
|
|
||||||
Delimited="true"
|
|
||||||
Inheritable="true"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="GeneratePreprocessedSourceListing"
|
|
||||||
DisplayName="Generate Preprocessed Source Listing"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Generates a preprocessed source listing to the Output Window. (/EP)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/EP"
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="AssembledCodeListingFile"
|
|
||||||
DisplayName="Assembled Code Listing File"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Generates an assembled code listing file. (/Fl[file])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Fl"[value]""
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="SourceBrowserFile"
|
|
||||||
DisplayName="Source Browser File"
|
|
||||||
PropertyPageName="Source Browser File"
|
|
||||||
Description="Generates a source browser .sbr file. (/Fr[file])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Fr"[value]""
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="ExtendedSourceBrowserFile"
|
|
||||||
DisplayName="Extended Source Browser File"
|
|
||||||
PropertyPageName="Source Browser File"
|
|
||||||
Description="Generates an extended form of a source browser .sbr file. (/FR[file])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/FR"[value]""
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="IncludePaths"
|
|
||||||
DisplayName="Include Paths"
|
|
||||||
Description="Sets path for include file. A maximum of 10 /I options is allowed. (/I [path])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/I "[value]""
|
|
||||||
Delimited="true"
|
|
||||||
Inheritable="true"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="ListAllAvailableInformation"
|
|
||||||
DisplayName="List All Available Information"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Turns on listing of all available information. (/Sa)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sa"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="AddInstructionTimings"
|
|
||||||
DisplayName="Add Instruction Timings"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Adds instruction timings to listing file. (/Sc)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sc"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="AddFirstPassListing"
|
|
||||||
DisplayName="Add First Pass Listing"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Adds first-pass listing to listing file. (/Sf)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sf"
|
|
||||||
/>
|
|
||||||
<IntegerProperty
|
|
||||||
Name="SourceListingLineWidth"
|
|
||||||
DisplayName="Source Listing Line Width"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Sets the line width of source listing in characters per line. Range is 60 to 255 or 0. Default is 0. Same as PAGE width. (/Sl [width])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sl [value]"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="DisableSymbolTable"
|
|
||||||
DisplayName="Disable Symbol Table"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Turns off symbol table when producing a listing. (/Sn)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sn"
|
|
||||||
/>
|
|
||||||
<IntegerProperty
|
|
||||||
Name="SourceListingPageLength"
|
|
||||||
DisplayName="Source Listing Page Length"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Sets the page length of source listing in lines per page. Range is 10 to 255 or 0. Default is 0. Same as PAGE length. (/Sp [length])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sp [value]"
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="SourceListingSubTitle"
|
|
||||||
DisplayName="Source Listing Subtitle"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Specifies subtitle text for source listing. Same as SUBTITLE text. (/Ss [subtitle])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Ss [value]"
|
|
||||||
/>
|
|
||||||
<StringProperty
|
|
||||||
Name="SourceListingTitle"
|
|
||||||
DisplayName="Source Listing Title"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Specifies title for source listing. Same as TITLE text. (/St [title])"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/St [value]"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="EnableFalseConditionalsInListing"
|
|
||||||
DisplayName="Enable False Conditionals In Listing"
|
|
||||||
PropertyPageName="Listing File"
|
|
||||||
Description="Turns on false conditionals in listing. (/Sx)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Sx"
|
|
||||||
/>
|
|
||||||
<EnumProperty
|
|
||||||
Name="WarningLevel"
|
|
||||||
DisplayName="Warning Level"
|
|
||||||
Description="Sets the warning level, where level = 0, 1, 2, or 3. (/W0, /W1, /W2, /W3)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
>
|
|
||||||
<Values>
|
|
||||||
<EnumValue
|
|
||||||
Value="0"
|
|
||||||
Switch="/W0"
|
|
||||||
DisplayName="Warning Level 0 (/W0)"
|
|
||||||
/>
|
|
||||||
<EnumValue
|
|
||||||
Value="1"
|
|
||||||
Switch="/W1"
|
|
||||||
DisplayName="Warning Level 1 (/W1)"
|
|
||||||
/>
|
|
||||||
<EnumValue
|
|
||||||
Value="2"
|
|
||||||
Switch="/W2"
|
|
||||||
DisplayName="Warning Level 2 (/W2)"
|
|
||||||
/>
|
|
||||||
<EnumValue
|
|
||||||
Value="3"
|
|
||||||
Switch="/W3"
|
|
||||||
DisplayName="Warning Level 3 (/W3)"
|
|
||||||
/>
|
|
||||||
</Values>
|
|
||||||
</EnumProperty>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="TreatWarningsAsErrors"
|
|
||||||
DisplayName="Treat Warnings As Errors"
|
|
||||||
Description="Returns an error code if warnings are generated. (/WX)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/WX"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="GenerateLineInformation"
|
|
||||||
DisplayName="Generate Line Information"
|
|
||||||
PropertyPageName="Object File"
|
|
||||||
Description="Generates line-number information in object file. (/Zd)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Zd"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="MakeAllSymbolsPublic"
|
|
||||||
DisplayName="Make All Symbols Public"
|
|
||||||
PropertyPageName="Object File"
|
|
||||||
Description="Makes all symbols public. (/Zf)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Zf"
|
|
||||||
/>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="GenerateCodeViewInformation"
|
|
||||||
DisplayName="Generate CodeView Information"
|
|
||||||
PropertyPageName="Object File"
|
|
||||||
Description="Generates CodeView information in object file. (/Zi)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Zi"
|
|
||||||
/>
|
|
||||||
<EnumProperty
|
|
||||||
Name="PackAlignmentBoundary"
|
|
||||||
DisplayName="Pack Alignment Boundary"
|
|
||||||
PropertyPageName="Advanced"
|
|
||||||
Description="Packs structures on the specified byte boundary. The alignment can be 1, 2, or 4. (/Zp1, /Zp2, /Zp4)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
>
|
|
||||||
<Values>
|
|
||||||
<EnumValue
|
|
||||||
Value="0"
|
|
||||||
Switch="/Zp1"
|
|
||||||
DisplayName="One Byte Boundary (/Zp1)"
|
|
||||||
/>
|
|
||||||
<EnumValue
|
|
||||||
Value="1"
|
|
||||||
Switch="/Zp2"
|
|
||||||
DisplayName="Two Byte Boundary (/Zp2)"
|
|
||||||
/>
|
|
||||||
<EnumValue
|
|
||||||
Value="2"
|
|
||||||
Switch="/Zp4"
|
|
||||||
DisplayName="Four Byte Boundary (/Zp4)"
|
|
||||||
/>
|
|
||||||
</Values>
|
|
||||||
</EnumProperty>
|
|
||||||
<BooleanProperty
|
|
||||||
Name="PerformSyntaxCheckOnly"
|
|
||||||
DisplayName="Perform Syntax Check Only"
|
|
||||||
Description="Performs a syntax check only. (/Zs)"
|
|
||||||
HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
|
|
||||||
Switch="/Zs"
|
|
||||||
/>
|
|
||||||
</Properties>
|
|
||||||
</CustomBuildRule>
|
|
||||||
</Rules>
|
|
||||||
</VisualStudioToolFile>
|
|
|
@ -1,8 +0,0 @@
|
||||||
.CODE
|
|
||||||
|
|
||||||
PUBLIC _get_safe_esp
|
|
||||||
_get_safe_esp:
|
|
||||||
MOV RAX,RSP
|
|
||||||
RET
|
|
||||||
|
|
||||||
END
|
|
Loading…
Reference in New Issue