10 MPR=$C0 ;MULTIPLIER ›20 MPD1=$C1 ;MULTIPLICAND ›30 MPD2=$C2 ;NEW MULTIPLICAND AFTER 8 SHIFTS ›40 PRODL=$C3 ;LOW BYTE OF PRODUCT ›50 PRODH=$C4 ;HIGH BYTE OF PRODUCT ›60 ; ›70 *=$0600›80 ; ›85 ;THESE ARE THE NUMBERS WE WILL MULTIPLY ›87 ;›90  LDA #250 ›100  STA MPR ›110  LDA #2 ›120  STA MPD1 ›130 ; ›140 MULT CLD ›150  CLC ›160  LDA #O ;CLEAR ACCUMULATOR ›170  STA MPD2 ;CLEAR ADDRESS FOR SHIFTED MULTIPLICAND ›180  STA PRODL ;CLEAR LOW BYTE OF PRODUCT ADDRESS ›190  STA PRODH ;CLEAR HIGH BYTE OF PRODUCT ADDRESS ›200  LDX #8 ;WE WILL USE THE X REGISTER AS A COUNTER›210 LOOP LSR MPR ;SHIFT MULTIPLIER RIGHT; LSB DROPS INTO CARRY BIT›220  BCC NOADD ;TEST CARRY BIT; IF ZERO, BRANCH TO NOADD›230  CLC›240  LDA PRODL›250  ADC MPD1 ;ADD LOW BYTE OF PRODUCT TO MULTIPLICAND›260  STA PRODL ;RESULT IS NEW LOW BYTE OF PRODUCT›270  LDA PRODH ;LOAD ACCUMULATOR WITH HIGH BYTE OF PRODUCT›280  ADC MPD2 ;ADD HIGH PART OF MULTIPLICAND ›290  STA PRODH ;RESULT IS NEW HIGH BYTE OF PRODUCT›300  NOADD ASL MPD1 ;SHIFT MULIPLICAND LEFT; BIT 7 DROPS INTO CARRY›310  ROL MPD2 ;ROTATE CARRY BIT INTO BIT 7 OF MPD2›320  DEX ;DECREMENT CONTENTS OF X REGISTER›330  BNE LOOP ;IF RESULT ISN'T ZERO, JUMP BACK TO LOOP›340  RTS›350  .END››