So if I input x=8, y=-10 and z=9, I'd have to write a program that would output 8 and -10 using only basic arithmetic and the limited conditional programming provided by the jumps. These aren't hard numbers and they're entered at random so it could be any three integers, negative or non-negative.

After the integers are entered, I'd start by:

load x subtract y jump if not negative to NEW_STEP (if the result is 0 or higher, I know y is smaller than or equal to x, so i will output y in the next step) output y NEW_STEP output x load y subtract z jump if not negative to NEW_STEP2 output z halt program NEW_STEP2 output y halt program

The logic seems simple enough, but I'm missing an arithmetic or logical step somewhere because running the program will sometimes output the two lowest digits and sometimes it won't (it changes depending on the order of the numbers and/or if a negative digit is input first, second or third).

As is the way of these forums, I'm not looking for the answer...I really want to learn on my own. But any advice on what I might be overlooking would be appreciated.