(self, args)
return self.values.new_integer().from_int(var_ptr, unsigned=True)
VARPTR: get memory address for variable or FCB.
VARPTR: get memory address for variable or FCB.
VARPTR : get memory address for variable or FCB .
def varptr_(self, args):
        """VARPTR: get memory address for variable or FCB."""
        arg0 = next(args)
        if isinstance(arg0, values.Number):
            filenum = values.to_int(arg0)
            error.range_check(0, 255, filenum)
            error.throw_if(filenum > self.max_files, error.BAD_FILE_NUMBER)
            list(args)
            # file number 0 is allowed for VARPTR
            if filenum < 0 or filenum > self.max_files:
                raise error.BASICError(error.BAD_FILE_NUMBER)
            var_ptr = self._field_mem_base + filenum * self._field_mem_offset + 6
        else:
            name = arg0
            error.throw_if(not name, error.STX)
            indices, = args
            var_ptr = self.varptr(name, indices)
        return self.values.new_integer().from_int(var_ptr, unsigned=True)
def varptr_ ( self , args ) : arg0 = next ( args ) if isinstance ( arg0 , values . Number ) : filenum = values . to_int ( arg0 ) error . range_check ( 0 , 255 , filenum ) error . throw_if ( filenum > self . max_files , error . BAD_FILE_NUMBER ) list ( args ) # file number 0 is allowed for VARPTR if filenum < 0 or filenum > self . max_files : raise error . BASICError ( error . BAD_FILE_NUMBER ) var_ptr = self . _field_mem_base + filenum * self . _field_mem_offset + 6 else : name = arg0 error . throw_if ( not name , error . STX ) indices , = args var_ptr = self . varptr ( name , indices ) return self . values . new_integer ( ) . from_int ( var_ptr , unsigned = True )