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}