Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2007, 15:03
fofi07lda
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
Como se almacena un numero de dos dígitos en ensamblador 8086

hola!
Estoy aprendiendo ensamblador, he estado travesiando y quisiera saber como se hace para que el siguiente programa me acepte numero de dos dígitos como el 10 o el 88, es para la nota en donde debo de almacenarlo y como lo debo de hacer. Se debe almacenar por separado, primero el primer 8 luego el segundo 8?

Ensamblador 8086, sistema operativo XP

Muchas gracias
el programa es el siguiente

DATOS SEGMENT PARA 'DATA'

Msg DB 20,0,20 DUP ('$')
Nota DB 0DH, 0AH,'$'
Msg1 DB 0AH,0DH,'Digite el nombre del estudiante: ','$'
Msg2 DB 0AH,0DH,'Digite la nota del estudiante: ','$'
Msg3 DB 0AH,0DH,'El estudiante esta aprobado',0DH,0AH,'$'
Msg4 DB 0AH,0DH,'El estudiante esta reprobado',0DH,0AH,'$'

Salir DB 0AH,0DH,'Presione cualquier tecla para finalizar',0DH,0AH,'$'
num DB ?


Comienzo:

MOV AX,DATOS
MOV DS,AX


MOV AX,0
MOV BX,0
MOV CX,0
MOV DX,0


MOV AX,3
INT 10H
MOV AX,DATOS
MOV DS,AX
PUSH DS
POP ES

Captura_nombre_nota:

;CAPTURA NOMBRE
LEA DX,Msg1
MOV AH,9H
INT 21H
MOV AH,0AH
LEA DX, Msg
INT 21h

;CAPTURA NOTA
MOV AH,09H
LEA DX, Msg2
INT 21H
MOV AH,00H
INT 16H
MOV NUM,AL
MOV AH,02H
MOV DL,AL
INT 21H
MOV AH,09H
LEA DX, NOTA
INT 21H
JMP Compara_nota


Compara_nota:
MOV BL,055;70?
CMP num,BL
JA MAY
CMP num,BL
JB MEN
CMP num,BL
JE IGU

MAY:
;LEA DX, Msg
;MOV AH,9H
;INT 21H

LEA DX, Msg3
INT 21H
MOV AH,02H
LEA DX, Salir
MOV AH,9H
INT 21H
MOV AH,0H
INT 16H

MEN:
LEA DX, Msg4
INT 21H
MOV AH,02H
LEA DX, Salir
MOV AH,9H
INT 21H
MOV AH,0H
INT 16H

IGU:
LEA DX, Msg3
INT 21H
MOV AH,02H
LEA DX, Salir
MOV AH,9H
INT 21H
MOV AH,0H
INT 16H

Fuera:
MOV AX,4C00H
INT 21H


END Comienzo