La programación ensambladora ayuda a ingresar una cadena de caracteres a través del teclado, terminar con un retorno de carro, contar y generar el número de 0 y 1, esperar en línea, compilar en lenguaje ensamblador.
Finalmente hecho, no deberías tener ningún problema
SEGMENTO DE DATOS
STR DB "por favor ingresa una cadena: $"
STR1 DB "0 números: $"
STR2 DB "1 números: $"
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH, 0DH, "$"
X DB 30H; almacena el número de 0s
Y DB 30H;
TERMINOS DE DATOS
PILA DE SEGMENTO DE PILAS
DB 200 DUP(?)
TERMINOS DE PILA
SEGMENTO DE CÓDIGOS
ASUME CS: CODIGOS, DS: DATAS, SS: STACKS
INICIO: MOV AX, DATAS
MOV DS, AX
LEA DX, STR; mostrar cadena
MOV AH, 9
INT 21H
MOV AH, 10 entrada de cadena
LEA DX , BUF
INT 21H
LEA DX, CRLF; avance de línea de salida y retorno de carro
MOV AH, 9
INT 21H
MOV CL, BUF 1; El segundo byte contiene el número de caracteres
LEA SI, BUF 2; La dirección de almacenamiento de la cadena comienza desde el tercer byte
DEC SI
INC CL
SIGUIENTE: DIC CL
INC SI
CMP CL, 0
JE VIE
MOV DL, [SI]
CMP DL, 30H
JE XX
CMP DL , 31H
JE YY
JNZ SIGUIENTE
XX: INC X
JMP SIGUIENTE
YY: INC Y
JMP SIGUIENTE
VIE: LEA DX, STR1
MOV AH, 9
INT 21H
;MOV BL, X
MOV DL, Intro
> MOV AH, 9
INT 21H
LEA DX, STR2
MOV AH, 9
INT 21H
; MOV BL, Y
MOV DL, Y
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
CÓDIGOS FINALIZA
FIN INICIO