diff options
author | aiju <devnull@localhost> | 2011-04-26 14:32:41 +0200 |
---|---|---|
committer | aiju <devnull@localhost> | 2011-04-26 14:32:41 +0200 |
commit | 62d6def842134468d9c9199e86fe81da6056df76 (patch) | |
tree | 2532da35df0ea23463318b1e048295420ef29af9 | |
parent | 04924f239b99bc5054a2c004bdaeb42089cbabc3 (diff) | |
parent | 554ce79215b5d59c7f1651e7505fe44b3c55cb3c (diff) |
merge
-rwxr-xr-x[-rw-r--r--] | sys/lib/newuser | 0 | ||||
-rw-r--r-- | sys/lib/sysconfig/proto/cdproto | 2 | ||||
-rw-r--r-- | sys/src/cmd/aux/realemu/xec.c | 59 | ||||
-rw-r--r-- | sys/src/mkfile | 2 |
4 files changed, 35 insertions, 28 deletions
diff --git a/sys/lib/newuser b/sys/lib/newuser index ac2446b18..ac2446b18 100644..100755 --- a/sys/lib/newuser +++ b/sys/lib/newuser diff --git a/sys/lib/sysconfig/proto/cdproto b/sys/lib/sysconfig/proto/cdproto index fa6cd104a..c45984a97 100644 --- a/sys/lib/sysconfig/proto/cdproto +++ b/sys/lib/sysconfig/proto/cdproto @@ -86,7 +86,7 @@ sys d775 + include + - lib + lib d775 + log man diff --git a/sys/src/cmd/aux/realemu/xec.c b/sys/src/cmd/aux/realemu/xec.c index 4d81c4d5c..c39ad27b5 100644 --- a/sys/src/cmd/aux/realemu/xec.c +++ b/sys/src/cmd/aux/realemu/xec.c @@ -485,39 +485,43 @@ opror(Cpu *cpu, Inst *i) } static void -opbts(Cpu *cpu, Inst *i) +opbt(Cpu *cpu, Inst *i) { ulong a, m; - int n; - - a = ar(i->a1); - n = ar(i->a2) & 31; + int n, s; + Iarg *x; + + n = ar(i->a2); + x = i->a1; + s = x->len*8; + if(x->tag == TMEM){ + x = adup(x); + x->off += n / s; + x->off &= mask(i->alen*8); + } + a = ar(x); + n &= s-1; m = 1<<n; if(a & m) - cpu->reg[RFL] |= CF; - else { + cpu->reg[RFL] |= CF; + else cpu->reg[RFL] &= ~CF; - aw(i->a1, a | m); + switch(i->op){ + case OBT: + break; + case OBTS: + aw(x, a | m); + break; + case OBTR: + aw(x, a & ~m); + break; + case OBTC: + aw(x, a ^ m); + break; } } static void -opbtr(Cpu *cpu, Inst *i) -{ - ulong a, m; - int n; - - a = ar(i->a1); - n = ar(i->a2) & 31; - m = 1<<n; - if(a & m){ - cpu->reg[RFL] |= CF; - aw(i->a1, a & ~m); - } else - cpu->reg[RFL] &= ~CF; -} - -static void opbitscan(Cpu *cpu, Inst *i) { ulong a; @@ -1204,8 +1208,11 @@ static void (*exctab[NUMOP])(Cpu *cpu, Inst*) = { [OROL] = oprol, [OROR] = opror, - [OBTS] = opbts, - [OBTR] = opbtr, + [OBT] = opbt, + [OBTS] = opbt, + [OBTR] = opbt, + [OBTC] = opbt, + [OBSF] = opbitscan, [OBSR] = opbitscan, diff --git a/sys/src/mkfile b/sys/src/mkfile index 4f5344e9f..a57df5b77 100644 --- a/sys/src/mkfile +++ b/sys/src/mkfile @@ -40,7 +40,7 @@ CMDS=cmd\ games\ SUBSYS=ape\ -# /acme\ + /acme\ none:VQ: echo mk all, install, clean, nuke, release, kernels, or libs |