blob: a7660b43527ec696ef2eacb393208ace29b3a543 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class BitField {
bits: boolean[];
flip(bit: number) {
this.bits[bit] = !this.bits[bit];
}
setBit(bit: number, value: boolean) {
this.bits[bit] = value;
}
set(value: number) {
for (let bit = 0; bit < this.bits.length; bit++) {
const mask: number = 1 << bit;
this.setBit(bit, (value & mask) != 0)
}
}
num(): number {
let number = 0;
for (let bit = 0; bit < this.bits.length; bit++) {
const mask: number = 1 << bit;
if (this.bits[bit])
number |= mask;
}
return number;
}
constructor (len: number) {
this.bits = new Array(len).fill(false);
}
}
export default class The65c02 {
data: BitField = new BitField(8)
}
|