(self)
return self.get_stack_address(sp_v)
Return the concrete value contained by the stack pointer.
Return the concrete value contained by the stack pointer.
Return the concrete value contained by the stack pointer .
def get_sp(self) -> int:
        """
        Return the concrete value contained by the stack pointer.
        """
        sp_values: MultiValues = self.register_definitions.load(self.arch.sp_offset, size=self.arch.bytes)
        sp_v = sp_values.one_value()
        if sp_v is None:
            # multiple values of sp exists. still return a value if there is only one value (maybe with different
            # definitions)
            values = list(filter(self.get_stack_offset, next(iter(sp_values.values.values()))))
            if len(set(map(self.get_stack_offset, values))) == 1:
                return self.get_stack_address(next(iter(values)))
            assert False

        return self.get_stack_address(sp_v)
def get_sp ( self ) -> int : sp_values : MultiValues = self . register_definitions . load ( self . arch . sp_offset , size = self . arch . bytes ) sp_v = sp_values . one_value ( ) if sp_v is None : # multiple values of sp exists. still return a value if there is only one value (maybe with different # definitions) values = list ( filter ( self . get_stack_offset , next ( iter ( sp_values . values . values ( ) ) ) ) ) if len ( set ( map ( self . get_stack_offset , values ) ) ) == 1 : return self . get_stack_address ( next ( iter ( values ) ) ) assert False return self . get_stack_address ( sp_v )