Red de conocimiento informático - Conocimiento sistemático - Compilación de suma de 16 binarios de un dígito en lenguaje ensamblador

Compilación de suma de 16 binarios de un dígito en lenguaje ensamblador

Segmento de datos

MSG DB "Ingrese dos números entre 0 y F: ",' $ '

CONT DB "¿Quiere continuar? (Sí/No) ", ' $ '

WARN DB "¡El número debe estar entre 0 y F!", '$'

SHOW DB "Hagamos ejercicios de suma.

", '$'

SUM DB?,?, '$'

Fin de los datos

Parte extra

BUF DB 80 DUP (?)

Dos extremos adicionales

Fragmento de código

Supongamos DS: DATA, CS: CODE, ES: EXTRA

Iniciar :

MOV AX, DATOS

MOV DS, AX

MOV AX, EXTRA

MOV AX

lop 0: MOV AH, 09H

LEA DX, mensaje

INT 21H

MOV SI, 0

MOV CX, 2 años antiguo

MOV, 01H

INT 21H

CMP AL, ' 0 '

Error JB

CMP AL, '9'

JA Siguiente

JMP Zero Nine

Siguiente: CMP AL, "A"

Error JB

CMP AL, 'F'

Error JA

Cero Nueve:

MOV: Buff [Oeste], Al

Corporación SI

Diciembre CX

JNZ S0

JMP Drama

Error: llamada a CRLF

LEA DX, advertencia

MOV, 09H

INT 21H

JMP S0

Llamar CRLF

MOV, 09H

LEA DX, display

INT 21H

Llamada CRLF

MOV DL, ES: BUF

MOV , 02H

INT 21H

MOV DL, ' '

INT 21H

MOV DL, ES: BUF 1

INT 21H

MOV DL, ' = '

INT 21H

MOV al , ES: BUF

CMP AL, '9'

JBE Z0_9

SUB AL, 07H

Z0_9: Aluminio, 30 Horas

MOV AL, ES: BUF 1

MOV AL, ES: BUF 1

CMP AL, '9'

JBE Z0 9N

SUB AL, 07H

Z0_9N: Aluminio, 30H

Añadir AL, ES: BUF

MOV CL, 4

ROL Co., Ltd.

MOV · Bligh

También BL, 0FH

CMP BL, 0

JZ Blanc

CMP BL, 9

JBE Z0_9NA

AÑADIR BL, 07H

Z0_9NA: AÑADIDO BL, 30H

Suma MOV, BL

JMP NEXT1

En blanco: suma MOV, 20H

Siguiente 1: ROL Ltd.

También AL, 0FH

Aluminio pulido mecánicamente y químico , 9

JBE Z0_9_2

Aluminio añadido, 07H

Z0_9_2: Alcan, 30H

MOV suma 1, AL

MOV, 09

LEA DX, SUM

INT 21H<

/p>

Llamar CRLF

MOV, 09H

LEA DX, continuación

INT 21H

MOV , 01

INT 21H

CMP AL, ' Y '

JNZ LY

JMP CF

LY : CMP AL, 'y'

JNZ completo

CF: Llamar CRLF

JMP LOP0

Finalizar: MOV AX, 4C00H

INT 21H

CRLF:

MOV, 02H

MOV DL, 0DH

INT 21H

MOV DL, 0AH

INT 21H

Remojado en agua para suavizar

Fin del código

Fin inicio