Excelente amigo RAFD, esto fue lo que me enviaste
Diagrama de flujo (debes hacer un dibujo mejor).
1.- Inicialización:
2.- Memoria de caracteres
3.- Buscar caracter 2dh
4.- Caracter 2dh encontrado?
NO:
1.- Incremente el contador de búsqueda
2.- Incremente el puntero de la memoria (tabla de caract.)
3.- Continuar con la búsqueda del carácter.
SI:
1.-Cargue el contenido del contador de búsquedas (bc)
2.- Muestre el resultado en el display
3.- Fin del programa.
Aquí va el programa :
Contador equ 1100h ; Dir. del contador de caract.
display equ 01h ; Puerta del display del contador
org 0000h ; Inicio del programa
di ; Deshabilita interrupciones
jp inicio ; Salta a la rutina principal
org 0100h ; Dirección del bucle principal
inicio: ld (contador),00h ; Inicializa el contador en 00h
ld hl,memchar ; Apunta la memoria de caract.
otro: ld a,(hl) ; Carga el contenido de la memoria
cp 2dh ; Compara con caract. retorno
jp z, final ; Finaliza la búsqueda del retorno.
ld bc,contador ; Puntero en el contador
ld a,(bc) ; Carga el contenido del contador
add a,01h ; Suma 01 a la cuenta
daa ; Ajuste bcd
ld (bc),a ; Guarda la cuenta en decimal
inc hl ; Incrementa el puntero de la mem.
jp otro ; Sigue buscando caract. ret. en mem.
final: ld a,(contador) ; Carga el contenido del contador.
out (display),a ; Muestra la cuenta en el display
halt ; Fín del programa
org 1000h ; Tabla con la memoria cargada
memchar: db " 60 61 62 63 64 65 66 80 a8 f2 40 3c 2d"
; Fíjate que el car. retorno está en la última dirección (puedes ponerlo dónde desees o agrandar la tabla)
*********
Deseo pedirte un favor... si está a tu alcance
Si existe la posibilidad de que me envíes vía e-mail el programa para ejecutar el programa ya que debo presentarlo.
Estoy estudiando las instrucciones que utilizaste y luego seguro que te preguntaré al respecto.
Muy agradecido por tu ayuda. Si puedes ayudarme en lo que he pedido mi dirección es:
[email protected]Y si por favor me explicas algo de como utilizar el programa.
Disculpa tanto el abuso.
Gracias.