ref: 62d6def842134468d9c9199e86fe81da6056df76
parent: 04924f239b99bc5054a2c004bdaeb42089cbabc3
parent: 554ce79215b5d59c7f1651e7505fe44b3c55cb3c
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