diff --git a/src/cmd/5a/a.y b/src/cmd/5a/a.y index fbf583def4..429f7437c6 100644 --- a/src/cmd/5a/a.y +++ b/src/cmd/5a/a.y @@ -38,7 +38,7 @@ %union { Sym *sym; - int64 lval; + int32 lval; double dval; char sval[8]; Addr addr; @@ -460,20 +460,20 @@ fcon: reglist: spreg { - $$ = 1ULL << $1; + $$ = 1 << $1; } | spreg '-' spreg { int i; $$=0; for(i=$1; i<=$3; i++) - $$ |= 1ULL<pc), p->from.sym->na switch(o->type) { case 38: /* movm $con,oreg -> stm */ o1 = (0x4 << 25); - o1 |= (p->from.offset >> REG_R0) & 0xffff; + o1 |= p->from.offset & 0xffff; o1 |= (p->to.reg&15) << 16; aclass(ctxt, &p->to); break; case 39: /* movm oreg,$con -> ldm */ o1 = (0x4 << 25) | (1 << 20); - o1 |= (p->to.offset >> REG_R0) & 0xffff; + o1 |= p->to.offset & 0xffff; o1 |= (p->from.reg&15) << 16; aclass(ctxt, &p->from); break; diff --git a/src/liblink/list5.c b/src/liblink/list5.c index bce13c24fb..3d3e8e7d12 100644 --- a/src/liblink/list5.c +++ b/src/liblink/list5.c @@ -222,8 +222,7 @@ RAconv(Fmt *fp) { char str[STRINGSZ]; Addr *a; - int i; - vlong v; + int i, v; a = va_arg(fp->args, Addr*); sprint(str, "GOK-reglist"); @@ -233,7 +232,7 @@ RAconv(Fmt *fp) break; if(a->sym != nil) break; - v = a->offset >> REG_R0; + v = a->offset; strcpy(str, ""); for(i=0; i