

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import base64 | |
try: | |
EQU 13 | |
LF EQU 10 | |
IMPRIMIR EQU 9 | |
FIN EQU 4C00H | |
DOS EQU 21H | |
TAB EQU 09H | |
BELL EQU 07H | |
TECLADO EQU 8 | |
DATOS SEGMENT | |
NUMERO_BINARIO DW 0,"$" | |
NUMERO_ASCII DB 6,0,6 DUP (?),"$" | |
M_ENCABEZADO DB 13,10,13,10,TAB,"=================================================" | |
DB 13,10,13,TAB,"PROGRAMA QUE CONVIERTE UN NUMERO ASCII (CAPTURADO) A BINARIO" | |
DB 13,10,13,TAB,"=================================================================",13,10,"$" | |
M_ESPACIO DB 13,10,13,10,13,10,13,10,13,10,13,10,"$" | |
M_ASCII_ASCII DB 13,10,13,10,"NUMERO ASCII IMPRESO NORMALMENTE COMO LO HACE UNA PC (EN ASCII)",13,10,"$" | |
M_BINARIO_ASCII DB 13,10,13,10,"NUMERO BINARIO (YA CONVERTIDO), ",13,10,"IMPRESO NORMALMENTE COMO LO HACE UNA PC (EN ASCII)","$" | |
Potencia DW 001H,000AH,0064H,03E8H,2710H,"$" | |
DATOS ENDS | |
PILA SEGMENT STACK 'STACK' | |
DW 128 DUP('P') | |
PILA ENDS | |
CODIGO SEGMENT | |
CAPT PROC NEAR | |
ASSUME CS:CODIGO,SS:PILA,DS:DATOS | |
MOV AX,DATOS | |
MOV DS,AX | |
MOV AH,0AH | |
MOV DX,Offset NUMERO_ASCII | |
INT 21H | |
MOV DI,OFFSET NUMERO_ASCII + 1 | |
MOV CX,[DI] | |
MOV SI,OFFSET NUMERO_ASCII + 2 | |
XOR CH,CH | |
MOV DI,OFFSET POTENCIA | |
DEC SI | |
ADD SI,CX | |
XOR BX,BX | |
STD | |
CICLO: | |
LODSB | |
SUB AL,30H | |
CBW | |
MOV DX,[DI] | |
MUL DX | |
ADD DI,2 | |
ADD BX,AX | |
LOOP CICLO | |
MOV NUMERO_BINARIO,BX | |
LEA DX,M_ENCABEZADO | |
CALL ESCRIBE | |
LEA DX,M_ASCII_ASCII | |
CALL ESCRIBE | |
LEA DX,NUMERO_ASCII - 1 | |
CALL ESCRIBE | |
LEA DX,M_BINARIO_ASCII | |
CALL ESCRIBE | |
LEA DX,NUMERO_BINARIO | |
CALL ESCRIBE | |
LEA DX,M_ESPACIO | |
CALL ESCRIBE | |
CALL SALIR | |
CAPT ENDP | |
ESCRIBE PROC | |
MOV AH,IMPRIMIR | |
INT DOS | |
RET | |
ESCRIBE ENDP | |
SALIR PROC NEAR | |
MOV AX,FIN | |
INT DOS | |
SALIR ENDP | |
CODIGO ENDS | |
END CAPT |