miércoles, 20 de septiembre de 2017

programa 16

;:===========================================================================
;:===========================================================================
;: PROGRAMA : pe16_dhe.asm
;  FUNCION : IMPRIME VALORES NUM?RICOS DECIMALES Y HEXA.
; REALIZADO POR : Prof. Juan Ju?rez Fuentes
; COMPILADOR EN EL QUE SE EJECUTO: TASM 5.0
; FECHA : 20121211112639
;===========================================================================
;===========================================================================
; DECLARACION DE CONSTANTES
;===========================================================================
 CR EQU 13 ; Constante CR (Retorno de carro)
 LF EQU 10 ; Constante LF (Salto de l?nea)
 IMPRIMIR EQU 9
 FIN EQU 4C00H
 DOS EQU 21H
 TAB EQU 09H
 BELL EQU 07H
;===========================================================================
; DECLARACION DEL SEGMENTO DE DATOS
;===========================================================================
DATOS SEGMENT
;-----------------------------------------------------------------------
 ENCABEZADO DB 13,10,13,TAB,TAB,"====================================================="
            DB 13,10,13,TAB,TAB," PROGRAMA QUE IMPRIME VALORES NUMERICOS DEC Y HEXA"
            DB 13,10,13,TAB,TAB,"=====================================================",13,10,"$"
    VALOR_1 DW 41D,13,10,"$" ;
    VALOR_2 DW 42D,13,10,"$" ;
    VALOR_3 DW 43D,13,10,"$" ;
    VALOR_4 DW 44D,13,10,"$" ;
    VALOR_5 DW 45D,13,10,"$" ; EN DECIMAL SE PUEDE PONER UNA "D" AL FINAL O NO
    VALOR_6 DW 46,13,10,"$" ;   estan en ASCII
    VALOR_7 DW 47,13,10,"$" ;
    VALOR_8 DW 48, "$" ;
    VALOR_9 DW 49, "$" ;
    VALOR_10 DW 50, "$" ;------------------------------
    VALOR_11 DW 31H, "$" ;------------------------------
    VALOR_12 DW 32H, "$" ;
    VALOR_13 DW 33H, "$" ;
    VALOR_14 DW 34H, "$" ;
    VALOR_15 DW 35H, "$" ; estos estan en hexadecimal
    VALOR_16 DW 36H, "$" ; EN HEXA ES NECESARIO PONER UNA "H"
    VALOR_17 DW 37H, "$" ;
   VALOR_18 DW 38H, "$" ;
    VALOR_19 DW 39H, "$" ;
    VALOR_20 DW 40H, "$" ;
;-----------------------------------------------------------------------
;=================================================
DATOS ENDS
;===========================================================================
; DECLARACION DEL SEGMENTO DE PILA
;===========================================================================
PILA SEGMENT STACK
;-----------------------------------------------------------------------
   DB 64 DUP('0')
;-----------------------------------------------------------------------
PILA ENDS
;===========================================================================
; DECLARACION DEL SEGMENTO DE CODIGO
;===========================================================================
CODIGO SEGMENT
;-----------------------------------------------------------------------
    pe16_dhe PROC NEAR ; Inicio procedimiento
;-------------------------------------------------------------------
 ASSUME CS:CODIGO,DS:DATOS,SS:PILA
 ;-------------------------------------------------------------
 MOV AX,DATOS ; AX=Direcci?n del segmento de datos
 MOV DS,AX ; DS=AX. Indicar el segmento de datos
;-------------------------------------------------------------------
 LEA DX, ENCABEZADO ; CARGA ETIQUETA ENCABEZADO
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
 LEA DX, VALOR_1 ; CARGA ETIQUETA VALOR_1
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_2 ; CARGA ETIQUETA VALOR_2
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_3 ; CARGA ETIQUETA VALOR_3
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_4 ; CARGA ETIQUETA VALOR_4
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------

;-------------------------------------------------------------------
 LEA DX, VALOR_5 ; CARGA ETIQUETA VALOR_5
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;--

;-------------------------------------------------------------------
 LEA DX, VALOR_6 ; CARGA ETIQUETA VALOR_6
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_7 ; CARGA ETIQUETA VALOR_7
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
 ;-------------------------------------------------------------------
LEA DX, VALOR_8 ; CARGA ETIQUETA VALOR_8
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
 ;-------------------------------------------------------------------
 LEA DX, VALOR_9 ; CARGA ETIQUETA VALOR_9
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_10 ; CARGA ETIQUETA VALOR_10
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
LEA DX, VALOR_11 ; CARGA ETIQUETA VALOR_11
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_12 ; CARGA ETIQUETA VALOR_12
CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_13 ; CARGA ETIQUETA VALOR_13
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_14 ; CARGA ETIQUETA VALOR_14
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
 ;-------------------------------------------------------------------
 LEA DX, VALOR_15 ; CARGA ETIQUETA VALOR_15
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA

;-------------------------------------------------------------------
;-------------------------------------------------------------------
LEA DX, VALOR_16 ; CARGA ETIQUETA VALOR_16
CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_17 ; CARGA ETIQUETA VALOR_17
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
 ;-------------------------------------------------------------------
 LEA DX, VALOR_18 ; CARGA ETIQUETA VALOR_18
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_19 ; CARGA ETIQUETA VALOR_19
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
;-------------------------------------------------------------------
;-------------------------------------------------------------------
 LEA DX, VALOR_20 ; CARGA ETIQUETA VALOR_20
 CALL ESCRIBE ; IMPRIME CONTENIDO DE ETIQUETA
 ;-------------------------------------------------------------------
 ;-------------------------------------------------------------
 CALL SALIR ; FUNCION SALIAR
;-------------------------------------------------------------------
 pe16_dhe ENDP ; Fin del procedimiento
;----------------------------------------------------

;-----------------------------------------------------------------------
ESCRIBE PROC ; Inicio procedimiento ESCRIBE
   MOV AH,9 ; Funci?n DOS para escribir texto en pantalla
   INT 21H ; Llamar a la interrupci?n del DOS
   RET ; Volver o retornar
ESCRIBE ENDP ; Fin del procedimiento ESCRIBE
;----------------------------------------------------------------------
SALIR PROC NEAR
   MOV AX, FIN ;Mueve la instruccion para terminar el programa.
   INT DOS ;Ejecuta la interrupci?n.
   RET
SALIR ENDP
;----------------------------------------------------------------------
CODIGO ENDS
;===========================================================================
 END pe16_dhe
;==============

No hay comentarios:

Publicar un comentario