+
+/*
+ * Treat subscripting as indirection through pointer to integer.
+ */
+
+public Node asm_buildaref(a, slist)
+Node a, slist;
+{
+ Symbol t, eltype;
+ Node p, r;
+
+ t = rtype(a->nodetype);
+ eltype = t->type;
+ p = slist->value.arg[0];
+ r = build(O_MUL, p, build(O_LCON, (long) size(eltype)));
+ r = build(O_ADD, build(O_RVAL, a), r);
+ r->nodetype = eltype;
+ return r;
+}
+
+/*
+ * Evaluate a subscript index. Assumes dimension is [0..n].
+ */
+
+public asm_evalaref(s, base, i)
+Symbol s;
+Address base;
+long i;
+{
+ Symbol t;
+
+ t = rtype(s);
+ push(long, base + i * size(t->type));
+}
+
+public boolean asm_hasmodules ()
+{
+ return false;
+}
+
+public boolean asm_passaddr (param, exprtype)
+Symbol param, exprtype;
+{
+ return false;
+}