(argument: SimFunctionArgument, registers: Dict[str,Tuple[int,int]])
Instanciate an `Atom` from a given argument.

        :param argument: The argument to create a new atom from.
        :param registers: A mapping representing the registers of a given architecture.
Instanciate an `Atom` from a given argument.
Instanciate an Atom from a given argument .
def from_argument(argument: SimFunctionArgument, registers: Dict[str,Tuple[int,int]]):
        """
        Instanciate an `Atom` from a given argument.

        :param argument: The argument to create a new atom from.
        :param registers: A mapping representing the registers of a given architecture.
        """
        if isinstance(argument, SimRegArg):
            return Register(registers[argument.reg_name][0], argument.size)
        elif isinstance(argument, SimStackArg):
            return MemoryLocation(registers["sp"][0] + argument.stack_offset, argument.size)
        else:
            raise TypeError("Argument type %s is not yet supported." % type(argument))
def from_argument ( argument : SimFunctionArgument , registers : Dict [ str , Tuple [ int , int ] ] ) : if isinstance ( argument , SimRegArg ) : return Register ( registers [ argument . reg_name ] [ 0 ] , argument . size ) elif isinstance ( argument , SimStackArg ) : return MemoryLocation ( registers [ "sp" ] [ 0 ] + argument . stack_offset , argument . size ) else : raise TypeError ( "Argument type %s is not yet supported." % type ( argument ) )