At the least you'd need a conditional GOTO. Depending on how your language works with data, that instruction might just pop the last element off the stack, check whether it's 0 or 1 and then either jump by a fixed number of bytes/instructions, or do nothing (usually the jump location is encoded in the instruction itself).
But usually you also add a few testing instructions or comparison instructions that usually pop the last two elements off the stack, compare them in some way, then push 0 or 1 on the stack instead to indicate whether they're equal. Usually the comparison expressions are equivalent to the common comparison operators, i.e. <, >, <=, >=, =, !=.
You'd also need an unconditional GOTO, which is often a separate instruction, but could also be achieved by pushing 1 on the stack before you hit the GOTO.
BTW, I've blogged about the details of creating a compiler and bytecode interpreter in a blog post: http://orangejuiceliberationfront.com/how-to-write-a-compiler/