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