Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: B14573R en 12 Diciembre 2009, 03:16 am



Título: pregunta de nobato en asm
Publicado por: B14573R en 12 Diciembre 2009, 03:16 am
hola chicos del foro espero no molestar solo nececito ayuda con un pequeño programa que me sueme  los que pasa que al momento de sumar y guardar el resultado y mostrarlo lo muestra como una letra no como un numero ¿que debo de hacer ? ayudita porfavor e qui el code


Código
  1. .model small
  2. .code
  3.  
  4. mas segment
  5. assume cs:mas, ds:mas, ss:mas
  6. org 100h
  7.  
  8.  
  9.  
  10. start: jmp inicio
  11.  
  12.  
  13. inicio:
  14. mov ax,mas
  15. mov ds,ax
  16. mov ax,0023h
  17. mov bx,0022h
  18. adc ax,bx
  19. mov dx,ax
  20. mov ah,02h
  21. int 21h
  22.  
  23. mov ah,10h
  24. int 16h
  25. mov ax,4ch
  26. int 21h
  27. mas  ends
  28. end  start
porfavor  :rolleyes: es de locos pero me gusta mucho este lenguaje me facina porque al parecer se puede controlar todo el ordenador


Título: Re: pregunta de nobato en asm
Publicado por: YST en 12 Diciembre 2009, 04:44 am
No eh probado el codigo pero lo mas seguro es que sea un problema de ASCII :P

Una pequeña explicación:

El 1 que normalmente se muestra en pantalla es en realidad un 31h ya que ese es su valor ASCII.

Cuando uno muestra por ejemplo un 54 en pantalla va aparecer el simbolo que le corresponde este valor ASCII.


Un link interesante
http://www.asciitable.com/


Título: Re: pregunta de nobato en asm
Publicado por: Eternal Idol en 12 Diciembre 2009, 10:51 am
http://www.ctyme.com/intr/rb-2554.htm

En DL tenes que poner un CARACTER.

0x23 + 0x22 = 0x45 = 69 = 'E'

Pero vos queres mostrar "69", para eso tenes que llamar al servicio dos veces (o usar otro (http://www.ctyme.com/intr/rb-2562.htm) que escriba una cadena, previa generacion de la misma), una con con '6' (54) y otra con '9' (57).


Título: Re: pregunta de nobato en asm
Publicado por: B14573R en 20 Diciembre 2009, 00:55 am
gracias chicos se agradese

EI: juntando mensajes.

disculpa eternal
 no quiero que me des todo echo perp te pido como nobato que me expliques con un code si no es mucha la molestia lla q llo empiezo resien en este lenguaje   y si se pudiera para  16bytes   esque quiero con el  TASM PLIS DE ANTEMANO GRACIAS


Título: Re: pregunta de nobato en asm
Publicado por: Eternal Idol en 20 Diciembre 2009, 01:12 am
Código
  1. mov dl, '6'
  2. mov ah, 02h
  3. int 21h
  4.  
  5. mov dl, '9'
  6. mov ah, 02h
  7. int 21h


Título: Re: pregunta de nobato en asm
Publicado por: B14573R en 24 Diciembre 2009, 00:30 am
Gracias Eternal de veras gracias pero aora tengo otra duda en esto jajjaj disculpa por ser tan molestoso pero me gusta aprender  y este lenguaje es uno de mis faboritos resulta que no puedo sumar 5+5  me da  : esos dos puntos  resulta que como no esta el diez osea si esta pero en formato  aski ay alguna forma de transformar a decimal  o algo asi  te lo agradeceria por favor y poder sumar sumas mas grandes  a mi me resulta con sumas de 1 a 9 pero de ay nada mas porfa ayuda plis


Código
  1. .model small
  2. .code
  3.  
  4. suma segment
  5. assume cs:suma
  6.  
  7. start:  jmp inicio
  8.  
  9.  
  10. inicio:
  11.  
  12.        mov ax,0035h
  13.        mov bx,0032h
  14.        add ax,bx
  15. mov dx,ax
  16. sub dx,30h
  17. mov ah,02h
  18. int 21h
  19. mov ah,10h
  20. int 16h
  21. suma    ends
  22. end start
  23.  


Título: Re: pregunta de nobato en asm
Publicado por: YST en 24 Diciembre 2009, 04:16 am
http://foro.elhacker.net/asm/problema_en_asm_ibm_y_compatibles-t270323.0.html;msg1325696#msg1325696


Título: Re: pregunta de nobato en asm
Publicado por: B14573R en 24 Diciembre 2009, 23:09 pm
yst   gracias viejo esta bien pero lo que nececito es algo meneos complicado  que ya como dije soy nuebo en esto  si se puede  con peras y manzanas mucho mejor   de ante manos gracias


Título: Re: pregunta de nobato en asm
Publicado por: MCKSys Argentina en 25 Diciembre 2009, 22:15 pm
Hola!

Probaste con la macro atodw ?

Fijate esta discusión y la solución propuesta:
Código:
http://www.winasm.net/forum/index.php?showtopic=3172

Saludos!