import base64
try:
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
viernes, 5 de junio de 2020
7. Letras en ASCII a Binario
Suscribirse a:
Enviar comentarios (Atom)
13. Cambiar el color de la pantalla
CR EQU 13 LF EQU 10 TECLADO_8 EQU 8 IMPRIMIR_9 EQU 9 FIN_4C00H EQU 4C00H DOS_21H EQU 21H BIOS_10H EQU 10H TAB EQU 09H BELL EQU 07H ...
-
La CPU x86 tiene 14 registros internos y básicos. Algunos son realmente de 32 bits pero por ahora se utilizará el modo real que es compatib...
-
CR EQU 13 LF EQU 10 IMPRIMIR EQU 9 FIN EQU 4C00H DOS EQU 21H TAB EQU 09H BELL EQU 07H DATOS SEGMENT ENCABEZADO DB 13...
-
.data ;segmento Data msg db 13,10,"Ingrese el primer numero $" msg2 db 13,10,"Ingrese el segundo numero $" ...

No hay comentarios:
Publicar un comentario