The assembunny code you've got operates on four registers (a, b, c, and d) that start at 0 and can hold any integer. However, it seems to make use of only a few instructions:
inc xincreases the value of registerxby one.dec xdecreases the value of registerxby one.cpy x ycopiesx(either an integer or the value of a register) into registery.jnz x yjumps to an instructionyaway (positive means forward; negative means backward), but only ifxis not zero.
The jnz instruction moves relative to itself: an offset of -1 would continue at the previous instruction, while an offset of 2 would skip over the next instruction.
For example:
cpy 41 a
inc a
inc a
dec a
jnz a 2
dec a
The above code would set register a to 41, increase its value by 2, decrease its value by 1, and then skip the last dec a (because a is not zero, so the jnz a 2 skips it), leaving register a at 42. When you move past the last instruction, the program halts.
After executing the assembunny code in your puzzle input, what value is left in register a?
318003