;:===========================================================================
;: 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