Administración de Base de Datos

sábado, 27 de abril de 2019

PROGRAMA NO.12 CONVERSIÓN


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

Programa 9 Colores 2

include 'emu8086.inc' CUADRO MACRO XI,YI,XF,YF,COLOR MOV AX, 0600H MOV BH, COLOR MOV BL, 00H MOV CH, YI MOV CL, XI MOV DH, Y...