blob: f2ef6d93a193ab45c3eebad815301a2985074fb9 (
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
32
33
34
35
36
37
|
#include "std.c"
#include "screen.c"
int main()
{
// Test values
char a = 0b10101010; // 170
char b = 0b11001100; // 204
char c;
// AND
c = a & b; // expect 0b10001000 = 136
*((char*)0x7100) = c;
// OR
c = a | b; // expect 0b11101110 = 238
*((char*)0x7101) = c;
// XOR
c = a ^ b; // expect 0b01100110 = 102
*((char*)0x7102) = c;
// NOT
c = ~a; // expect 0b01010101 = 85
*((char*)0x7103) = c;
// SHL
c = a << 2; // expect 0b10101000 = 168
*((char*)0x7104) = c;
// SHR
c = a >> 2; // expect 0b00101010 = 42
*((char*)0x7105) = c;
// Program ends cleanly
return 0;
}
|