E556GB — 6.15.6 8-bit BCD subtractor

Examples 6.15.6 8-bit BCD subtractor Z1: minuend 8 bit 0-99 BM00.00 Z2: subtrahend 8 bit 0-99 BM00.01 Z3: difference 8 bit 0-99 BM00.02 BM00 00 Z1 BM00.01 Z2 Z3 BM00.02 8 bit BCD subtractor Programm ****** BCD correction *************************** L BM00.00 ;Z1 minuend A 15 = LBM00.00 ;1 st decade L BM00.01 ;Z2 subtrahend A 15 ;1 st decade CMP LBM00.00 BCD correction required? JP SUBTR ;jump if not L BM00.01 ;if so: ADD 6 ;load correction value = BM00.01 ******Subtraction****************************** SUBTR L BM00.00 ;Z1 minuend SUB BM00.01 ;Z1 subtrahend = BM00.02 ;Z3 difference 135