func (vm *VM) _0x0006(x, y uint16) {
	vm.v[x] = vm.v[y] >> 1
	vm.v[0xF] = vm.v[y] & 0x01
	vm.pc += 2
}
Set register VF to the least significant bit prior to the shift
package chip8
import "math/rand"
func (vm *VM) _0x00E0() {
	vm.gfx = [64 * 32]byte{}
	vm.pc += 2
}
func (vm *VM) _0x00EE() {
	vm.pc = vm.stack[vm.sp] + 2
	vm.sp--
}
func (vm *VM) _0x1000(nnn uint16) {
	vm.pc = nnn
}
func (vm *VM) _0x2000(nnn uint16) {
	vm.sp++
	vm.stack[vm.sp] = vm.pc
	vm.pc = nnn
}
func (vm *VM) _0x3000(x uint16, nn byte) {
	if vm.v[x] == nn {
		vm.pc += 4
	} else {
		vm.pc += 2
	}
}
func (vm *VM) _0x4000(x uint16, nn byte) {
	if vm.v[x] != nn {
		vm.pc += 4
	} else {
		vm.pc += 2
	}
}
func (vm *VM) _0x5000(x, y uint16) {
	if vm.v[x] == vm.v[y] {
		vm.pc += 4
	} else {
		vm.pc += 2
	}
}
func (vm *VM) _0x6000(x uint16, nn byte) {
	vm.v[x] = nn
	vm.pc += 2
}
func (vm *VM) _0x7000(x uint16, nn byte) {
	vm.v[x] += nn
	vm.pc += 2
}
func (vm *VM) _0x0000(x, y uint16) {
	vm.v[x] = vm.v[y]
	vm.pc += 2
}
func (vm *VM) _0x0001(x, y uint16) {
	vm.v[x] |= vm.v[y]
	vm.pc += 2
}
func (vm *VM) _0x0002(x, y uint16) {
	vm.v[x] &= vm.v[y]
	vm.pc += 2
}
func (vm *VM) _0x0003(x, y uint16) {
	vm.v[x] ^= vm.v[y]
	vm.pc += 2
}
func (vm *VM) _0x0004(x, y uint16) {
	if vm.v[y] > (0xFF - vm.v[x]) {
		vm.v[0xF] = 1
	} else {
		vm.v[0xF] = 0
	}
	vm.v[x] += vm.v[y]
	vm.pc += 2
}
func (vm *VM) _0x0005(x, y uint16) {
	if vm.v[y] > vm.v[x] {
		vm.v[0xF] = 0
	} else {
		vm.v[0xF] = 1
	}
	vm.v[x] -= vm.v[y]
	vm.pc += 2
}