tengo una tarea q es hacer una calculadora conversion, usando el mouse, y al dar clip a los numeros aparezcan como en una calculadora y al darle clip a una de las opciones aparezca el resultado, la pregunta es, como hago para q al darle clip me aparezca el numero en un cuadro pequeño y de hay lo lea como variable para dspues realizar un tipo de conversion ya sea binario, decimal o hexadecimal. esto es lo q tengo hasta ahora. 
include lib1_b.txt
                                                
.model small ;modelo del programa
.stack 100h
.code 
inicio proc
    
        MOV     AX, @data     
        MOV     DS, AX           ; Se ubica el segmento de datos    
       MOV     AH,0         ; Ajusta modo video y limpia pantalla 
        MOV     AL,3         ; Modo de video
        mov ax, 0600h
       mov cx, 0000h
       mov dx, 184fh
       mov bh, 01fh
        INT     10H             ; Llama a la INT de video  
        jmp    pant1
        MOV   AH,1      ;Espera tecla por medio del DOS
       INT   21H  
       
       jmp pant2 
         
        MOV AH,0   ; Ajusta modo video y limpia pantalla 
        MOV AL,3   ; Modo de video
        INT 10H  
        
                 
ENDP  
;-------pantallas----------
pant1:      
   gotoxy 5,24
   escribe msg1        ; Imprimir el 1er mensaje
     gotoxy 8,28
    escribe msg2        ; Imprimir el 2do mensaje
    gotoxy 11,30
    escribe msg10
    MOV   AH,1      ;Espera tecla por medio del DOS
   INT   21H      
    
;----------pantalla 2---------------        
                                                                                 
pant2: 
   
    MOV AH,0   ; Ajusta modo video y limpia pantalla 
    MOV AL,3   ; Modo de video
    mov ax, 0600h
   mov cx, 0000h
   mov dx, 184fh
   mov bh, 08fh
    INT 10H  
    
    
    
    gotoxy 04,20
    escribe msg3        ; Imprimir el 3er mensaje 
    
    gotoxy 06,22
    
    mov ax, 600h    
   mov cx, 1718h
   mov dx, 0727h
   mov bh, 0F0h       
    INT 10H    
    
    gotoxy 10,22         ; Imprimir el num 7 mensaje
    escribe msg14
    
    gotoxy 10,32
    escribe msg15        ; Imprimir el num 8 mensaje
    
    gotoxy 10,42
    escribe msg16        ; Imprimir el num 9 mensaje
   
   gotoxy 13,22         
    escribe msg11
    
    gotoxy 13,32
    escribe msg12        
    
    gotoxy 13,42
    escribe msg13  
    
   gotoxy 16,22         
    escribe msg6
    
    gotoxy 16,32
    escribe msg5        
    
    gotoxy 16,42
    escribe msg4 
   
   gotoxy 19,32
    escribe msg17 
    
    gotoxy 10,50
    escribe msg18
    
    gotoxy 13,50
    escribe msg19
    
    gotoxy 16,50
    escribe msg20          
    
   
              
    gotoxy 22,2
    escribe msg7        ; Imprimir el 6to mensaje
    
    gotoxy 19,10 
    call mouse      
 ;   call COMPARA  
    call salir
    ret       
;------leer desde teclado---------  
MENSAJE PROC
         MOV       AH,9
        INT     21H     
        RET
ENDP
LEER PROC
      MOV     AH,1
     INT     21H   ; EL DATO QUEDA EN AL
    RET        
ENDP
CURSOR  PROC
        MOV     AH,2
        MOV     DL,X
        MOV     DH,Y
        INT     10H                     ;Coloca cursor para dezplegar mensaje
        RET
ENDP
;--------------mouse-------------
        
mouse proc
    mov ax, 0               ;INICIALIZA EL MOUSE
    int 33h
    mov ax, 1               ;MUESTRA EL APUNTADOR DEL MOUSE
    int 33h
    BOTON:
    mov ax, 3               ;OBTIENE EL ESTADO DEL BOTON Y LA POSICION DEL APUNTADOR
    int 33h
    cmp bx,1  ; both buttons
    MOV POS,DX
    je calcu
    jmp boton
    RET
ENDP    
;-----------Calculadora compara---------
calcu proc                              ; compara la fila con la columna si coinside salta al
         ;DX FILA CX COLUMNA                  ; numero correspondiente
    
        CMP     CX,176
        CMP     DX,80                  ;4=34H
        JBE      siete                  ;Salta si es igual
        CMP     CX,256
        CMP     DX,80                  ;5=35H
        JBE      ocho                  ;Salta si es igual
        CMP     CX,336
        CMP     DX,80                  ;6=36H
        JBE      nueve                  ;Salta si es igual  
        CMP     CX,176
        CMP     DX,104                  ;4=34H
        JBE      cuatro                  ;Salta si es igual
        CMP     CX,256
        CMP     DX,104                  ;5=35H
        JBE      cinco                  ;Salta si es igual
        CMP     CX,336
        CMP     DX,104                  ;6=36H
        JBE      seis 
        CMP     CX,176
        CMP     DX,128                  ;4=34H
        JBE      uno                  ;Salta si es igual
        CMP     CX,256
        CMP     DX,128                  ;5=35H
        JBE      dos                  ;Salta si es igual
        CMP     CX,336
        CMP     DX,128                  ;6=36H
        JBE      tres 
        CMP     CX,256
        CMP     DX,152                  ;6=36H
        JBE      cero  
        CMP     CX,400
        CMP     DX,80                  ;6=36H
        JBE      bin
        CMP     CX,400
        CMP     DX,104                  ;6=36H
        JBE      deci
        CMP     CX,400
        CMP     DX,128                  ;6=36H
        JBE      hexa
         ;jmp     pant2      
         ;ret
endp
   
  
    
;--------calcu mostrar valores si es uno deberia dar clip izq y mostrarlo en el cuadro en 
                ; blanco de pan2 ------
uno:  
        ;call pant2 
 
        gotoxy 07,28
       escribe msg4    ; Direccion del mensaje
  
        JMP     calcu  
        
dos: 
        ;call pant2
        gotoxy 07,29
       escribe msg5    ; Direccion del mensaje
        JMP     calcu
        
        
tres:
        ;call pant2
        gotoxy 07,30
       escribe msg6    ; Direccion del mensaje
        JMP     calcu
        
      
cuatro:
        ;call pant2
        gotoxy 07,30
       escribe msg11    ; Direccion del mensaje
        JMP     calcu
              
        
cinco:
       ; call pant2
        gotoxy 07,31
       escribe msg12    ; Direccion del mensaje 
        JMP     calcu
          
        
seis:  
        ;call pant2
        gotoxy 07,32
       escribe msg13
        JMP     calcu
         
siete:
      
       ; call pant2
 
       gotoxy 07,33
        escribe msg14 
        JMP     calcu
         
      
ocho:
      
        ;call pant2
        gotoxy 07,34
       escribe msg15    ; Direccion del mensaje 
        JMP     calcu
        
      
nueve:
    
        ;call pant2
        gotoxy 07,35
        escribe msg16    ; Direccion del mensaje
        JMP     calcu
        
    
cero:
        ;call pant2
        gotoxy 07,36
       escribe msg17    ; Direccion del mensaje
        JMP     calcu
         
;-------------------comparar------------               
   
;COMPARA PROC
;        CMP     AL,61H         
;        JE      uno                  
;;        CMP     AL,32H                  
;;        JE      dos                  
;;        CMP     AL,33H                  
;;        JE      tres                  
;       CMP     AL,34H                  
;        JE      SALIR                  
;        JMP     pant2              
;        RET
;ENDP   
   
               
;---------Salir------------
salir:            
        MOV     AH,0
        MOV     AL,4
        INT     10H
        MOV     AH,4CH
        INT     21H
        RET
 
OTRO   PROC
       MOV     X,30
        MOV     Y,20
        CALL    CURSOR
        LEA     DX,MEN6 
        CALL    MENSAJE 
       RET
ENDP   
         
 
         
--------------Mensaje segun la tecla-----------
bin:  
      mov SI,6
       
      mov Ah,00h;Aseguramos residuo de 0
      mov Al,num
      mov Bl,2
      div Bl
      mov var1,Ah
      mov num,Al
      mov dl,var1
      add dl,30h
      mov cad[SI],dl;Concatenamos resultados
      cmp num,1 ;Hacemos comparación
      dec SI
      jne uno   ;Indicamos volver a etiqueta bin o:
       je salida   ;Ir a etiqueta salir
      cmp num,0 ;Comparación con 0
      jne uno
      je salida
   salida: 
    MOV AH,0   ; Ajusta modo video y limpia pantalla 
    MOV AL,3   ; Modo de video
    mov ax, 0600h
   mov cx, 0000h
   mov dx, 184fh
   mov bh, 08fh
    INT 10H  
    
    
    
    gotoxy 04,20
    escribe msg3        ; Imprimir el 3er mensaje 
    
    gotoxy 06,22
    
    mov ax, 600h    
   mov cx, 1718h
   mov dx, 0727h
   mov bh, 0F0h       
    INT 10H    
             ;Etiqueta de salida
       gotoxy 07,31
      mov dl,num ;Proceso para imprimir cadena final con número binario
      add dl,30h
      mov cad[SI],dl
    
  ;mov ah,09h
;  lea Dx,cad
;  int 21h              
      
   MOV   AH,1
   INT   21H
   JMP   pant2 
deci:MOV     AH,0
    MOV     AL,3
    INT     10H      ;
        
    MOV AH,2
   MOV   DL,15
   MOV   DH,10
   INT   10H         ;Coloca el cursor para el primer mensaje
    gotoxy 8,30
    MOV   AH,9H
    LEA DX,MEN4           ;Despliega primer mensaje
   INT   21H  
   gotoxy 10,30              
   MOV   AH,9H
   LEA DX,mensd1
   INT   21H     
   gotoxy 11,30
   MOV   AH,9H            
   LEA DX,mensd2           
   INT   21H   
   gotoxy 12,30
   MOV   AH,9H
   LEA  DX,mensd3          
   INT   21H             
   gotoxy 13,30
   MOV   AH,9H
   LEA  DX, mensd4           
   INT   21H             
   gotoxy 14,30
   MOV   AH,9H
   LEA DX, mensd5           
   INT   21H  
   gotoxy 15,30           
   MOV   AH,9H
   LEA DX, mensd6           
   INT   21H             
    gotoxy 17,30
   MOV   AH,9H
   LEA DX, mensd7           
   INT   21H               
      
    MOV   AH,1
   INT   21H
   JMP   pant2
hexa:MOV     AH,0
    MOV     AL,3
    INT     10H      ;
        
    MOV AH,2
   MOV   DL,15
   MOV   DH,10
   INT   10H         ;Coloca el cursor para el primer mensaje
    gotoxy 8,30
    MOV   AH,9H
    LEA DX,MEN5           ;Despliega primer mensaje
   INT   21H  
   gotoxy 10,30              
   MOV   AH,9H
   LEA DX,menst1
   INT   21H     
   gotoxy 11,30
   MOV   AH,9H            
   LEA DX,menst2           
   INT   21H   
   gotoxy 12,30
   MOV   AH,9H
   LEA  DX,menst3          
   INT   21H             
   gotoxy 13,30
   MOV   AH,9H
   LEA  DX, menst4           
   INT   21H             
   gotoxy 14,30
   MOV   AH,9H
   LEA DX, menst5           
   INT   21H  
   gotoxy 15,30           
   MOV   AH,9H
   LEA DX, menst6           
   INT   21H             
    gotoxy 17,30
   MOV   AH,9H
   LEA DX, menst7           
   INT   21H               
      
    MOV   AH,1
   INT   21H
   JMP   pant2
END inicio               ; Fin del programa
usando esta libreria 
include lib2_b.txt
.data               ;Espacio de datos y mensajes
msg1 DB      'UNIVERSIDAD ','$'
msg2 DB      'Dayana','$'
msg10 DB    'Arqui','$'
msg3 DB      'Calculadora de conversion','$'
msg4 DB      '1','$'
msg5 DB      '2 ','$'
msg6 DB      '3','$'
msg11 DB    '4','$'
msg12 DB    '5','$'
msg13 DB    '6','$'
msg14 DB    '7','$'
msg15 DB    '8','$'
msg16 DB    '9','$'
msg17 DB    '0','$'
msg18 DB   'Binario','$'
msg19 DB   'Decimal','$'
msg20 DB   'Hexadecimal','$'
 
msg7 DB     'Presione 4 para salir','$'
msg8 DB     'Precione cualquier tecla','$'
msg9 DB     'Presione 5 para regresar al menu principal','$'
MEN6      DB      'Presione cualquier tecla ','$'
x   db   '?'         ;declaración de variables
y   db   '?'
pos           dW             '?'
cad  db 9 dup (' '),'$'
var1 db ?
num  db ?
aux  db ?
lee Macro Dato
   mov ah,1
   int 21h
                  escribe msg1
   mov Dato,al
endm
escribe Macro Vari
   lea dx,Vari
   mov ah,9
   int 21h
endm
gotoxy Macro Fil,Col
   mov ah,02h
   mov bh,00
   mov dh,Fil      ;fila
   mov dl,Col      ;columna
   int 10h
endm
getch Macro
    mov ah,1
    int 21h
endm
q incluye esta otra libreria
getcha Macro
    mov ah,1
    int 21h
         getch
endm
si  alguien puede ayudarme se lo agradecería o darme una idea de como realizarlo. Gracias de ante mano. :)
			
			
			
				 Desde el cel solo puedo decir que jbe salta si es igual o menor el primer operando, me da la impresion que tendrias que usar je
Recuerda que no se hacen tareas, podrias decir exactamente donde esta el error?
			
			
			
				hola, eso ya lo hice, me podrian decir si alguien sabe como leo los caracteres desde la pantalla, basicamente el programa es una calculadora usando el mouse unicamente y necesito leer los caracteres desde la pantalla para despues hacer los calculos
tengo esto pero con esto leo desde el teclado  :-\
MOV     AH,01h
INT     21h
MOV     BH,AL
INT     21h
MOV     AH,BH
SUB     AX,3030h    ;convierte de ascii a binario natural
RET
			
			
			
				Yo creo que tenes que usar las coordenadas del mouse, no tratar de leer la pantalla, para eso tendrias que recorrer caracter por caracter hasta llegar a la posicion del mouse, no lo veo util eso.. podes obtener esas coordenadas y saber en que area se hizo click.. me explique bien?
Saludos!
			
			
			
				la idea es que solo lea dos numeros de la pantalla y despues al hacer click en binario o decimal haga la conversion
			
			
			
				Citarla idea es que solo lea dos numeros de la pantalla y despues al hacer click en binario o decimal haga la conversion
Claro.. te entendí.. pero lo que yo te digo es que NO leas números de la pantalla.. imagínate que vos sabes en que posición están los números.. yo te decía que obtengas la posición del mouse en el momento que se hace click, la función 03h de la interrupción 10h te puede servir..
Mas acá:
Citarhttp://es.wikipedia.org/wiki/Int_10h
Saludos!