ref: c463beb98994bad3fb885ddb2e5f7d2cf9bbdd1d
parent: b88bebf6f936873136ce941e9a345d3fd46adf63
parent: b6be46b8bc0034f4663945c782063d4a178fed6e
author: aiju <devnull@localhost>
date: Tue Apr 26 10:32:41 EDT 2011
merge
--- a/sys/lib/sysconfig/proto/cdproto
+++ b/sys/lib/sysconfig/proto/cdproto
@@ -86,7 +86,7 @@
+
include
+
- lib
+ lib d775
+
log
man
--- a/sys/src/cmd/aux/realemu/xec.c
+++ b/sys/src/cmd/aux/realemu/xec.c
@@ -485,39 +485,43 @@
}
static void
-opbts(Cpu *cpu, Inst *i)
+opbt(Cpu *cpu, Inst *i)
{ulong a, m;
- int n;
+ int n, s;
+ Iarg *x;
- a = ar(i->a1);
- n = ar(i->a2) & 31;
+ 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 @@
[OROL] = oprol,
[OROR] = opror,
- [OBTS] = opbts,
- [OBTR] = opbtr,
+ [OBT] = opbt,
+ [OBTS] = opbt,
+ [OBTR] = opbt,
+ [OBTC] = opbt,
+
[OBSF] = opbitscan,
[OBSR] = opbitscan,
--- a/sys/src/mkfile
+++ b/sys/src/mkfile
@@ -40,7 +40,7 @@
games\
SUBSYS=ape\
-# /acme\
+ /acme\
none:VQ:
echo mk all, install, clean, nuke, release, kernels, or libs
--
⑨