summaryrefslogtreecommitdiff
path: root/ROMs/logictest.c
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2025-09-05 10:20:03 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2025-09-05 10:20:03 +1000
commit9e8ba6e00dc4a4137a5187dbe5fe5b1394219735 (patch)
treee5a54706a8a85243fdb0fe0f2ed73fb7b7566bcd /ROMs/logictest.c
parent4ea967c6089bbcaba5d71145546d288e186fba40 (diff)
stuff
Diffstat (limited to 'ROMs/logictest.c')
-rw-r--r--ROMs/logictest.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/ROMs/logictest.c b/ROMs/logictest.c
new file mode 100644
index 0000000..f2ef6d9
--- /dev/null
+++ b/ROMs/logictest.c
@@ -0,0 +1,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;
+} \ No newline at end of file