I explained that the OIC simulator that you are writing is an interpreter: if you want to run another OIC program, all you will have to change should be the .word directives in the .data section (except for perhaps the initial OIC program counter, if you are not always starting at zero).
You should think about whether borrows can occur when you subtract the borrow from the previous digit. If so, you should consider whether two borrows could occur, once from the subtraction of the previous borrow, and once from the subtraction of the current digit. If you can give a definitive answer -- and prove why it is correct -- then you understand how to do multiprecision subtraction.
bsy@cse.ucsd.edu, last updated