Número de entrada de programación en ensamblador
;Compilado con MASM5.0, los resultados de ejecución son los siguientes:
;e:\ masm>1125h
;Ingrese: ****
;¡Error!
Presione cualquier tecla...
e:\masm>1125h
Por favor ingrese:**
;¡Bienvenido!
Presiona cualquier tecla...
e:\masm>1125h
El proceso es el siguiente:
Sección de Datos p>
s0 DB 0dh, 0ah, 'Por favor ingresa: $ '
s1 DB 0dh, 0ah, '¡Bienvenido! $'
s2 DB 0dh, 0ah, '¡Error! $'
s3 DB 0dh, 0ah, 'Presione cualquier tecla...$'
num db 0; ingrese el número de caracteres
d1 decibel 0; , 0 , 0
db 100 dup('0 ')
Fin de los datos
Segmento de código
El proceso principal está lejos
Asumir cs:code
Inicio:
Empujar ds
Mover eje, 0
Empujar eje
Mover eje, datos
Mover ds, ax
lea dx, s0; ingrese
mov ah, 9
int 21h
mov bx, offset d1
Siguiente:
MOV, 07; ingresa caracteres (sin eco)
INT 21H
cmp al, 0dh
je input_end
Número de empresa; ingrese el número de caracteres
mov [bx], al
Llame a disp_star para mostrar ' * '
Compañía bx
próximo paso de jmp
Input_end:
MOV Al Naam
Aluminio pulido mecánicamente químico, 3
Error JNE; ingrese el número de caracteres
mov bx, desplazamiento d1
p>Móvil Al, [bx]
cmp al, '1'
error jne
Empresa bx
Aluminio móvil, [bx]
cmp al, '2'
error jne
empresa bx
aluminio móvil, [bx]
cmp al, '3'
error jne
mov ah, 09
mov dx, offset s 1;
int 21h
jmp cerrado
Error:
mov ah, 09
mov dx, offset Cantidad T2;
int 21h
Abajo:
mov ah, 09
mov dx, desplazamiento S3; presione cualquier tecla.. . p>
int 21h
mov ah, 08
int 21h
Remojado en agua para suavizar
Extremo principal
============
proceso disp_star cerrado
MOV DL, '*'
MOV Ah , 2
INT 21H
Remojado en agua para suavizar
Mostrar estrella ENDP
========; == ===
Fin del código
Fin del inicio