Ensamblador - ayuda urgente

 
Vista:

ayuda urgente

Publicado por diana (1 intervención) el 13/01/2011 20:57:37
nesesito un PROGRAMA QUE LEE 2 NUMEROS DE 2 CIFRAS E IMPRIME EL MAYOR me urge i no se como haserlo alguien q me puede ayudar
tengo esto y no se como modificarlo
pila SEGMENT PARA STACK 'Stack'
DW 64 DUP (0)
pila ENDS
;-----------------------------------------------------------
data SEGMENT PARA PUBLIC 'data'
titulo DB 10,13,"PROGRAMA QUE LEE 2 NUMEROS DE 2 CIFRAS LOS SUMA E IMPRIME","$";
pide DB 10,13 , "INGRESA TU PRIMER NUMERO DE 2 DIGITOS: ","$"
pide2 DB 10,13 , "INGRESA TU SEGUNDO NUMERO DE 2 DIGITOS: ","$"
resul DB 10,13 , "El RESULTADO DE LA SUMA ES: ","$"
dece DB 0
uni DB 0
num DB 0
cent DB,0

decen DB 0
unid DB 0
nume DB 0

numero DB 0
numero1 DB 0
salto DB 10,13,10,13,"$";
data ENDS
;-----------------------------------------------------------
cseg SEGMENT PARA PUBLIC 'code'
main PROC FAR
ASSUME CS:cseg, DS:data, SS:pila
PUSH DS
MOV AX,0
PUSH AX
MOV AX, seg data
MOV DS, AX
;PP

;-----------------------------------------------------------

MOV DX, OFFSET titulo ; manda a pantalla msj
MOV AH, 09H
INT 21H

MOV DX, OFFSET salto
MOV AH, 09H
INT 21H

MOV DX, OFFSET pide
MOV AH, 09H
INT 21H

MOV AH, 1 ; lee la decena
INT 21H
SUB AL, 48
MOV dece, AL

MOV AH, 1 ;lee la unidad
INT 21H
SUB AL, 48
MOV uni, AL

MOV AX, dece
MOV AH, 10
MUL AH ;multiplicacion
MOV num, AX ; respaldando

MOV DL, num
ADD DL, uni ;suma de decena mas unidad
MOV numero,DL;respaldoando

;................................................................................
MOV DX, OFFSET salto
MOV AH, 09H
INT 21H

MOV DX, OFFSET pide2
MOV AH, 09H
INT 21H

MOV AH, 1 ; lee la decena
INT 21H
SUB AL, 48
MOV decen, AL

MOV AH, 1 ;lee la unidad
INT 21H
SUB AL, 48
MOV unid, AL

MOV AL, decen
MOV AH, 10
MUL AH ;multipliando
MOV numero1, AL

MOV DL, numero1
ADD DL, unid
ADD DL,numero; suma total de los 2 numeros de 2 dig


;.............................................................................
MOV AL, DL
MOV AH, 0
MOV BH, 100
DIV BH; div AL/BH

MOV cent,AL


MOV AL, AH
MOV AH, 0
MOV BH, 10
DIV BH; div AL/BH

MOV dece,AL
MOV uni,AH

MOV DX, OFFSET salto
MOV AH, 09H
INT 21H

MOV DX, OFFSET resul
MOV AH, 09H
INT 21H

MOV DL, cent
ADD DL, 48
MOV AH, 2
INT 21H


MOV DL, dece
ADD DL, 48
MOV AH, 2
INT 21H

MOV DL, uni
ADD DL, 48
MOV AH, 2
INt 21H


MOV DX, OFFSET salto
MOV AH, 09H
INT 21H

;------------------------------------------------------------

ret
main ENDP
cseg ENDS
END main
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda urgente

Publicado por checolin (1 intervención) el 09/03/2011 22:59:40
Vi un poco tarde este post pero dejo mis comentarios.

Solo tienes dos errores cambia dese por decen en el primer número y cambia AX por AL en la instrucción mov AX, decen, los dos errores estan en la misma línea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar