elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  problema con contador que toma segundos del sistema
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con contador que toma segundos del sistema  (Leído 2,324 veces)
FERNIIIIN

Desconectado Desconectado

Mensajes: 11


Ver Perfil
problema con contador que toma segundos del sistema
« en: 26 Mayo 2019, 08:14 am »

Hola a todos, estoy creando un contador que toma los segundos del sistema y sigue con el conteo cada segundo y manda a imprimir el mismo, pero tengo un problema en la conversión de 60 a 00 y validarlo al momento de comparar con el segundo actual.

Código
  1. org 100h
  2.  
  3. .model small
  4.  
  5.  
  6. .stack 100
  7.  
  8.  
  9. .data
  10. s0      db 30h
  11. s1      db 30h
  12. sold    db 0
  13. snew    db 0
  14.  
  15.  
  16.  
  17. .code
  18. .startup
  19.    init:
  20. mov ah,2ch  
  21. int 21h     ;dh =segundos del sistema
  22.        mov sold,dh
  23.        call hora      
  24. add dh, 1  ;dh= segundo se sistema +1
  25. mov snew, dh ;snew es el segundo posterior
  26.        cmp snew,60
  27. jz seis0  ;Numeros iguales
  28.        jmp sincronizados          
  29.  
  30.  
  31. sincronizados:  
  32. mov ah,2ch  
  33. int 21h     ;dh =segundos del sistema
  34. mov bl,dh
  35.    mov bh,snew
  36. cmp bl, bh ;compara (new segundo) contra (old segundo + 1)
  37. jne sincronizados ;salto si no son iguales
  38. jmp init
  39. ret
  40.  
  41.  
  42. seis0:
  43. mov ah,2ch  
  44. int 21h     ;dh =segundos del sistema
  45.        mov sold,dh
  46. cmp sold,00
  47. jnz seis0 ;Destino mayor a origen
  48. mov sold,00 ;reset sold a 0
  49. call separa
  50. mov snew,1
  51. jmp sincronizados
  52. ret
  53.  
  54.  
  55.    hora:
  56.  
  57.        cmp sold,10
  58.        jae separa
  59. jmp sincronizados
  60.  
  61.    ret
  62.  
  63.    separa:
  64.        mov al,sold
  65.        AAM
  66.        mov bx,ax
  67.        mov ah,02h
  68.        mov dl,bh
  69.        add dl,30h
  70.        int 21h
  71.        mov ah,02h
  72.        mov dl,bl
  73.        add dl,30h
  74.        int 21h
  75.    ret
  76.  
  77.  

Esto es lo que tengo hecho.
El contador va bien hasta el momento en que va iniciar un nuevo ciclo de conteo (es decir, va del segundo del sistema hasta el 60 o 00) y de ahi se queda en un ciclo, nunca pasa al 01.

Espero que me puedan ayudar


En línea

xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: problema con contador que toma segundos del sistema
« Respuesta #1 en: 28 Mayo 2019, 00:25 am »

En estos momentos no puedo testear el code, por lo qie dices tienes el problema en convertir el entero 60 a 0? Tiene facil solucion, con una rutina de comparacion y un xor lo tendrias.

Un saludo.


« Última modificación: 28 Mayo 2019, 00:28 am por cpu2 » En línea

FERNIIIIN

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: problema con contador que toma segundos del sistema
« Respuesta #2 en: 28 Mayo 2019, 05:42 am »

En estos momentos no puedo testear el code, por lo qie dices tienes el problema en convertir el entero 60 a 0? Tiene facil solucion, con una rutina de comparacion y un xor lo tendrias.

Un saludo.


Gracias por responder. Lo que me causa conflicto es el porque después del segundo 60 (00) no pasa al 01, en su lugar se termina el la ejecución.
En línea

xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: problema con contador que toma segundos del sistema
« Respuesta #3 en: 28 Mayo 2019, 23:39 pm »

Por que no revisas ese AAM.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contador en segundos? timer?
Programación Visual Basic
markx 9 2,635 Último mensaje 3 Septiembre 2007, 05:07 am
por HaDeS, -
Contador de segundos en C « 1 2 »
Programación C/C++
soser 11 21,434 Último mensaje 3 Octubre 2010, 02:29 am
por Littlehorse
Gmail estrena sistema de notificaciones y contador de mensajes no leídos
Noticias
wolfbcn 0 1,824 Último mensaje 27 Enero 2011, 12:25 pm
por wolfbcn
sistema de visitas (contador)
PHP
gAb1 2 2,854 Último mensaje 8 Abril 2016, 22:38 pm
por gAb1
Contador 59 segundos en VHDL
Electrónica
Nicolau 1 9,046 Último mensaje 21 Enero 2023, 19:58 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines