• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package main
2
3import "fmt"
4
5var and8_op = func(x uint8, y uint8) uint8 {
6  return x & y
7}
8
9var or8_op = func(x uint8, y uint8) uint8 {
10  return x | y
11}
12
13var xor8_op = func(x uint8, y uint8) uint8 {
14  return x ^ y
15}
16
17var data = []uint8{
18  0b00000000,
19  0b01010101,
20  0b10101010,
21  0b00001111,
22  0b11110000,
23  0b00110011,
24  0b11001100,
25  0b10000001,
26  0b10011001,
27  0b01100110,
28}
29
30func main() {
31  op := "\"^\""
32  op1 := "xor"
33  _op := xor8_op
34  fmt.Println("--- # List of integer " + op1 + " " + op + " operations")
35
36  for _, x := range data {
37    for _, y := range data {
38      res := _op(x, y)
39      fmt.Printf(
40        "- {xorigin: %4d, yorigin: %4d, op: %s, dest: %4d, xbits: \"0b%08b\", xbits: \"0b%08b\", dbits: \"0b%08b\"}\n",
41        int8(x), int8(y), op, int8(res), x, y, res,
42      )
43    }
44  }
45}