Red de conocimiento informático - Conocimiento sistemático - Lenguaje ensamblador, por ejemplo, cuando CX es cero, finaliza el programa

Lenguaje ensamblador, por ejemplo, cuando CX es cero, finaliza el programa

El siguiente es un programa que ingresa un número de un dígito desde el teclado y lo asigna a CX. Si la entrada es igual a 0, no se hará nada si no es igual a 0. Se generará cx != 0". Pasó después de la depuración

SEGMENTO DE DATOS

IN_A DB 'INPUT: CX =','$'

OUT_A DB 'SALIDA: CX != 0','$'

LOS DATOS TERMINAN

SEGMENTO DE CÓDIGO

ASUMIR CS:CÓDIGO, DS:DATOS

MAIN PROC FAR

MOV AX, DATA

MOV DS, AX

MOV AH, 9 ;Salida "CX ="

LEA DX, IN_A

INT 21H

p>

MOV AH, 0 ; Introduce un número desde el teclado y asígnalo a CX

INT 16H

p>

XOR AH, AH ; Borrar AH

MOV CX, AX

SUB CX, 30H ;Necesita convertir el código ASCII de los caracteres aceptados por el teclado en números (código ASCII = número + 30H)

MOV AH, 2 ;Establecer el cursor Posición 1 fila 0 columna

MOV BH, 0

MOV DH, 1

MOV DL, 0

INT 10H

;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; p>

CMP CX, 0 ;Compara los tamaños de CX y 0

JE EXIT ;Si es igual Salta a EXIT

;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;

MOV AH, 9 ;Esta declaración se ejecutará solo si CX no es igual a 0 y genera CX != 0

LEA DX , OUT_A

INT 21H

EXIT: ;CX=0 el programa no hace nada y sale directamente

MOV AX, 4C00H

INT 21H

ENTRADA PRINCIPAL

CÓDIGO FINALIZA

FINAL PRINCIPAL