• Martes 16 de Abril de 2024, 20:15

Autor Tema:  Palindromo Con Numeros  (Leído 9967 veces)

laupotter

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Palindromo Con Numeros
« en: Domingo 7 de Mayo de 2006, 05:41 »
0
Hola a todos, quisiera pedirles ayuda porq no tengo idea de como hacer mi programa en ensamblador, la verdad es que trataba de hacerlo pero luego ya no supe que hacer...
Mi programa consiste en ver si unos numeros son palindromos,ejemplo:

1 2 3 4 y 4 3 2 1 son palindromos

Mi maestra me dijo que la forma de hacerlo es comparando el 1 con el 1 el 2 con el 2 el 3 con el 3  y 4 con 4, pero cuando se va a comparar el 1 con el 1 por ejemplo los demas deben estar apagados, esto se puede hacer por medio del AND, y la verdad no se como hacerlo, quisiera que me ayudaran, solo que me den consejos de como hacerlo (no q me hagan el programa)

Nota: Los numeros son definidos desde el programa en el segmento de datos

Mas que nada les pido ayuda en la forma en como se debe hacer la comparación, estoy usando tasm, mi maestra me dijo que hay una funcion o no recuerrdo que, que hace la comparación de todo el conjunto, pero q no la usemos.
Porfis ayudenme  :unsure:  :(

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Palindromo Con Numeros
« Respuesta #1 en: Domingo 7 de Mayo de 2006, 06:15 »
0
averigua la cantidad de valores por ejemplo 3:
121

empujas el uno a la pila
te queda el dos pero como la cantidad es impar y es el del medio lo descatas
agarras el 1 y sacas el otro vlor de la pila y los comparas

ahora con una cantidad de 5

12321

empujas el uno
empujas el dos
descartas el tres porque es el del medio
agarras el dos y lo comparas con el primero de la pila
agarras el uno y lo comparas con el primero de la pila

se entiende?

laupotter

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Palindromo Con Numeros
« Respuesta #2 en: Sábado 13 de Mayo de 2006, 23:03 »
0
Le entendi mas o menos lo voy a intentar muchas gracias, ahi aviso si me sale o no  :P

laupotter

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Palindromo Con Numeros
« Respuesta #3 en: Lunes 15 de Mayo de 2006, 00:31 »
0
Si me salio, con la idea que me diste intente hacerlo de esta forma, aunq yo creo q asi no es como me lo decias pero asi me salio...  :P gracias!!
Código: Text
  1.  
  2. ;ve si un numero es palindromo
  3.  
  4. pila segment para stack
  5.   db 64 dup('?')&#59;define tamaño de la pila
  6. pila ends
  7.  
  8. datos segment para 'data'
  9.     vec1 dw 1,2,3,4
  10.     vec2 dw 1,3,2,1
  11.     msg1 db 'Es palindromo ','$'
  12.     msg2 db 'No es palindromo ','$'
  13. datos ends
  14.  
  15. codigo segment para 'code'
  16.     assume cs:codigo,ds:datos,ss:pila
  17.     push ds
  18.     sub ax,ax
  19.     push ax
  20.     mov ax, datos
  21.     mov ds, ax
  22.     mov es, ax
  23.  
  24.   primero:
  25.           mov ax,vec1    &#59;coloca en ax el primer bit de vec1 van de 2 en 2 porque asi son los bits
  26.           mov bx,vec2[6] &#59;coloca en bx el ultimo bit de vec2
  27.           cmp ax,bx      &#59;si son iguales sigue comparando
  28.           je segundo
  29.           jne mensaje2   &#59;si no es igual no es palindromo
  30.    
  31.    
  32.         segundo:
  33.           mov ax,vec1[2] &#59;coloca en ax el segundo bit de vec1
  34.           mov bx,vec2[4] &#59;coloca en bx el penultimo bit de vec2
  35.           cmp ax,bx      &#59;si son iguales sigue comparando
  36.           je tercero
  37.           jne mensaje2
  38.        
  39.         tercero:
  40.           mov ax,vec1[4] &#59;coloca en ax el tercer bit de vec1
  41.           mov bx,vec2[2] &#59;coloca en bx el ante penultimo bit de vec2
  42.           cmp ax,bx      &#59;si son iguales sigue comparando
  43.           je cuarto
  44.           jne mensaje2
  45.        
  46.         cuarto:
  47.           mov ax,vec1[6] &#59;coloca en ax el cuarto bit de vec1
  48.           mov bx,vec2    &#59;coloca en bx el primer bit de vec2
  49.           cmp ax,bx      &#59;si son iguales es palindromo
  50.           je mensaje1
  51.           jne mensaje2
  52.  
  53.   mensaje2:
  54.             lea dx,msg2
  55.             mov ah,9h
  56.             int 21h
  57.             mov ah, 1      &#59;espera una tecla
  58.             int 21h
  59.             mov ax, 4c00h&#59; sale del sistema operativo
  60.             int 21h
  61.         mensaje1:
  62.           lea dx,msg1   &#59;despliega en pantalla que si es palindromo
  63.           mov ah,9h
  64.           int 21h
  65.           mov ah, 1      &#59;espera una tecla
  66.           int 21h
  67.           mov ax, 4c00h&#59; sale del sistema operativo
  68.           int 21h
  69.        
  70. codigo ends
  71. end
  72.  
  73.