movlw 5
movwf num1;guardamos los numeros que vamos a multiplicar
movlw 3
movwf num2
movlw 0;ponemos w en 0
bcf STATUS,C; limpia el acarreo
Rutina:
addwf num1,w ; num1 + w se guarda en w
movwf res1 ; w se pasa a res1
btfss STATUS,C ; ver si hay acarreo, es decir el numero se paso de 8 bits
goto continue ; ¿no lo hay? entonces vayase a continue
bcf STATUS,C ; si lo hay entonces limpie el acarreo
incf res2,1 ; incremente res2
continue:
decfsz num2,1 ; decrementar num2 si es 0 terminar
goto Rutina; si no es cero saltar a rutina
nop ; termina la multiplicacion (suma)