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
.model small
.code
mas segment
assume cs:mas, ds:mas, ss:mas
org 100h
start: jmp inicio
inicio:
mov ax,mas
mov ds,ax
mov ax,0023h
mov bx,0022h
adc ax,bx
mov dx,ax
mov ah,02h
int 21h
mov ah,10h
int 16h
mov ax,4ch
int 21h
mas ends
end start
porfavor :rolleyes: es de locos pero me gusta mucho este lenguaje me facina porque al parecer se puede controlar todo el ordenador
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/
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).
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
mov dl, '6'
mov ah, 02h
int 21h
mov dl, '9'
mov ah, 02h
int 21h
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
.model small
.code
suma segment
assume cs:suma
start: jmp inicio
inicio:
mov ax,0035h
mov bx,0032h
add ax,bx
mov dx,ax
sub dx,30h
mov ah,02h
int 21h
mov ah,10h
int 16h
suma ends
end start
http://foro.elhacker.net/asm/problema_en_asm_ibm_y_compatibles-t270323.0.html;msg1325696#msg1325696
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
Hola!
Probaste con la macro atodw ?
Fijate esta discusión y la solución propuesta:
http://www.winasm.net/forum/index.php?showtopic=3172
Saludos!