Files
revng-revng/share/revng/abi/Pascal_x86.yml
2023-03-15 10:19:03 +01:00

42 lines
834 B
YAML

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
ABI: Pascal_x86
ArgumentsArePositionBased: false
OnlyStartDoubleArgumentsFromAnEvenRegister: false
ArgumentsCanBeSplitBetweenRegistersAndStack: false
UsePointerToCopyForStackArguments: false
CalleeIsResponsibleForStackCleanup: true
# This might need to be set to 16 depending on the OS.
# TODO: investigate.
StackAlignment: 4
MaximumGPRsPerAggregateArgument: 0
MaximumGPRsPerAggregateReturnValue: 0
MaximumGPRsPerScalarArgument: 0
MaximumGPRsPerScalarReturnValue: 2
GeneralPurposeReturnValueRegisters:
- eax_x86
- edx_x86
CalleeSavedRegisters:
- ebx_x86
- ebp_x86
- edi_x86
- esi_x86
ReturnValueLocationRegister: ecx_x86
ScalarTypes:
- Size: 1
- Size: 2
- Size: 4
- Size: 8
FloatingPointScalarTypes:
- Size: 4
- Size: 8