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
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
0