viernes, 3 de mayo de 2019

Programa 12 -Conversion-


CR EQU 13
LF EQU 10
IMPRIMIR EQU 9
FIN EQU 4C00H
DOS EQU 21H
TAB EQU 09H

DATOS SEGMENT
    ASCII DB "A","B","C","D","E","F","G","H"
    ESPACIO DB CR,LF,"$"
    BINARIO DB 64 DUP(?),"$"
    MENSAJE1 DB CR,LF,TAB,"ANTES DE LA CONVERSION:","$"
    MENSAJE2 DB CR,LF,TAB,"DESPUES DE LA CONVERSION: ","$"
DATOS ENDS

PILA SEGMENT STACK "STACK"
    DW 128 DUP("P")
PILA ENDS

CODIGO SEGMENT
    CONV PROC FAR
 
    ASSUME CS:CODIGO,SS:PILA,DS:DATOS
    MOV AX,DATOS
    MOV DS,AX
    LEA DX,MENSAJE1
    CALL ESCRIBE
    LEA DX,ESPACIO
 
    CALL ESCRIBE
    LEA DX,ASCII
    CALL ESCRIBE
    LEA DX,ESPACIO
    CALL ESCRIBE
 
    LEA DX,BINARIO
    CALL ESCRIBE
    LEA DX,ESPACIO
    CALL ESCRIBE
 
    LEA SI,ASCII
    LEA DI,BINARIO
    CALL ASCII2BIN
    LEA DX,MENSAJE2
    CALL ESCRIBE
    LEA DX,ESPACIO
    CALL ESCRIBE
    LEA DX,ASCII
    CALL ESCRIBE
    LEA DX,ESPACIO
    CALL ESCRIBE
    LEA DX,BINARIO
    CALL ESCRIBE
    LEA DX,ESPACIO
    CALL ESCRIBE
    CALL SALIR
    CONV ENDP
    ASCII2BIN PROC NEAR
    XOR AX,AX
    MOV CX,8
    ASCII1:
    MOV AL,[SI]
    PUSH CX
    MOV CX,8
    LOOP_SHIFT:
    SHL AL,1
    JC BIN_UNO
    MOV[DI],BYTE PTR "0"
    JMP CICLO_SHIFT
    BIN_UNO:
    MOV[DI], BYTE PTR "1"
    CICLO_SHIFT:
    INC DI
    LOOP LOOP_SHIFT
    POP CX
    INC SI
    LOOP ASCII1
    RET
    ASCII2BIN ENDP
 
    ESCRIBE PROC
    MOV AH,IMPRIMIR
    INT DOS
    RET
    ESCRIBE ENDP
    SALIR PROC NEAR
    MOV AX,FIN
    INT DOS
    SALIR ENDP
CODIGO ENDS
END CONV



No hay comentarios.:

Publicar un comentario

Unidad 3 - Configuracion y Administracion del Espacio en Disco

3.1 Estructuras logicas de almacenamiento. Para la gestión del almacenamiento de una base de datos existen 4 conceptos bien definidos que ...