Red de conocimiento informático - Conocimiento sistemático - Programación en lenguaje ensamblador, ¿un maestro puede entrar y ver qué hay de malo en este programa?

Programación en lenguaje ensamblador, ¿un maestro puede entrar y ver qué hay de malo en este programa?

¡Se han corregido 3 preguntas!

segmento de datos

cadena0 db 10,0,10 dup(?)

cadena1 db 'ingrese el número:',0dh,0ah,'$'

string2 db '¡no coincide!','$'

string3 db 'ok!','$'

string4 db '12345'

los datos terminan

segmento de código

se supone cs:code,ds:data

start:mov ax,data

mov ds,ax

PUSH DS Debido a que las dos cadenas que se comparan están en el mismo segmento, se debe usar DS=ES

POP ES

lea dx; ,string1

mov ah,09h

int 21h

lea dx,string0

mov ah,0ah

int 21h

lea si,string2

lea di,string4

mov cx,0 ;;;;;;;;;;; /p>

lea bx,string1 ;;;;;;;;;;;;

mov cl,[bx] ;;;;;;;;;;;

mov cl,[bx] ;;;;;;;;;;;;

p>

cmp cl,5 ;;;;;;;;;;;;;;

jne no_m ;Los caracteres de entrada no son 5

cld

repe cmpsB Es un carácter de comparación, no una palabra de comparación

jz outp

no_m:

mov dl,0dh

mov ah, 02h

int 21h

mov dl,0ah

mov ah,02h

int 21h

lea dx ,string2

mov ah,09h

int 21h

jmp endd

salida: mov dl,0dh

mov ah,02h

int 21h

mov dl,0ah

mov ah,02h

int 21h

lea dx,string3

mov ah,09h

int 21h

endd: mov ah,4ch

int 21h

el código termina

fin y comienzo