programa con macro cadena

gotoxy macro fila,col                                 
     mov ah,02h                                        
     mov dh,fila                                       
     mov dl,col                                        
     mov bh,0h                                        
     int 10h                                        
endm          
                                      
pantalla macro que                                      
     mov ah,02h                                        
     mov dl,que                                       
     int 21h                                        
endm           
                                      
imprime macro eztryng                                 
     mov dx,offset eztryng     
     mov ah,9     
     int 21h
endm

DATOS SEGMENT PARA PUBLIC
     mensaje  DB "INGRESE UN CARACTER: ",13,10,"$"     
     mensaje2 DB "INGRESE X del 0 al 9: ",13,10,"$"
     mensaje3 DB "INGRESE Y del 0 al 9: ",13,10,"$" 
     caracter DB 40          
     varx DB ?            
     vary DB ?

    vtext db 100 dup('$')
                 
DATOS ENDS                                        
CODIGO SEGMENT PARA PUBLIC 'code'
ASSUME CS:CODIGO,DS:DATOS

startup:                  
     mov ax,DATOS              
     mov ds,ax
    
imprime mensaje
                        
      mov si,00h                                  
    leer:
        mov ax,0000                              
        mov ah,01h                              
        int 21h          

        mov caracter[si],al        
        inc si
        cmp al,0dh
        ja leer
        jb leer
    
         mov dx,offset caracter                        
         mov ah,0ah     
         int 21h
         
imprime caracter
    
imprime mensaje2
    
     mov ah,01h
    int 21h            
    sub al,30h     
    mov bl,al
                            
     mov varx,al    
    
imprime mensaje3
    
     mov ah,01h
    int 21h            
    sub al,30h     
    mov bl,al                            
     mov vary,al    
                                  
     mov ax,0003h                               
     int 10h                                    
gotoxy vary,varx                                
   pantalla caracter[0]  
                             
     mov ah,01h                                   
     int 21h                                    
     mov ax,4c00h                                  
     int 21h
                                        
CODIGO ENDS
end startup     

Comentarios

Entradas populares de este blog

Uso de INT 21h en ej. Limpiar Pantalla.

programa turbo assembler