Está en la página 1de 1

processor 16f877 include <p16f877.

inc> org H'0' goto inicio cont1 EQU H'40' ; contador de elementos recorridos del arreglo valor1 EQU H'41' ; tamao total del arreglo menor EQU H'45' ; valor con menor frecuencia inicio: org 5 bcf STATUS, 6 bsf STATUS, 5 movlw H'0' movwf cont1 movlw H'14' movwf valor1 ciclo: bcf STATUS, 7 ; banco de arreglo 20 elementos movlw H'A0' addwf cont1, W movwf FSR ; para recorrer arreglo de 20 elementos movf INDF, W bsf STATUS, 7 ; banco de arreglo de frecuencias movwf H'50' movlw H'A0' movwf FSR ; posicion de frecuencia a aumentar +1 movf H'50', W addwf FSR, 1 incf INDF, 1 ; frecuencia +1 bcf STATUS, 7 incf cont1 ; contador elementos arreglo +1 movf cont1, W subwf valor1, W btfss STATUS, 2 ;comprueba bandera Z=1 (se recorri todo el arreglo) goto ciclo bsf STATUS, 7 movlw H'A0' movwf FSR movf INDF,w movwf menor ; guarda el primer valor como el menor busqueda: incf FSR movf INDF, W subwf menor, W ;compara cual valor es mayor btfss STATUS, 0 goto busqueda ;sigue la busqueda si es mayor movf INDF, W ;si es negativo entonces es menor movwf menor ; guarda el nuevo numero menor movlw H'A9' subwf FSR, W btfss STATUS,2 ; comparamos Z=1 (se recorri todo el arreglo) goto busqueda goto inicio END

También podría gustarte