codegen: assignment and array access