Red de conocimiento informático - Consumibles informáticos - ¡Te ruego que obtengas puntuaciones altas! Compilación recopilatoria! Programación de montaje sencilla

¡Te ruego que obtengas puntuaciones altas! Compilación recopilatoria! Programación de montaje sencilla

Conversión hexadecimal

SEGMENTO DE DATOS

DATOS1 DB 6 DUP(?), '$'; ingrese aquí el código del segmento de datos

LOS DATOS TERMINAN

SEGMENTO DE CÓDIGO

ASUMIR CS: CÓDIGO, DS: DATOS

INICIO:

MOV AX, DATOS

MOV DS, AX

MOV DI, OFFSET DATA1 5

MOV BX, 0; BX borrado

MOV CH, 4; 4 dígitos hexadecimales

MOV CL, 4; desplazamiento a la izquierda 4 dígitos por ciclo

MOV SI, 0AH; dividendo

INTCHR :

MOV AH, 01H; caracteres de entrada

INT 21H

CMP AL, 30H; entrada ilegal

JL EXIT

CMP AL, 39H; el número ingresado es 0~9

JLE DIG

CMP AL, 41H; entrada ilegal

JL EXIT

CMP AL , 46H; entrada ilegal

JG EXIT

SUB AL, 37H; la entrada es A~F mayúscula, reste 37H para convertirlo en número hexadecimal

JMP LS1

DIG: SUB AL, 30H

LS1: SHL BX, CL; la primera vez es todo ceros, el desplazamiento a la izquierda no cambia en 4 bits. Para cada guardado posterior, desplaza 4 bits. a la izquierda

AGREGAR BL, AL; almacenar

DEC CH

JNZ INTCHR

;MOV AH, 02H

;INT 21H ;BX almacena el número hexadecimal de entrada

;............ ................. .......

MOV AX, BX

AG: XOR DX, DX

DIV SI Encuentra resto-gt, cociente-; gt; AX

AGREGAR DL, 30H

MOV [DI], DL

DEC DI

CMP AX, 0

JNZ AG

XOR DX, DX

MOV AH, 09H

INT 21H

SALIDA: ; /p>

MOV AH, 4CH

INT 21H

CÓDIGO FINALIZA

FIN INICIO

Agregar

SEGMENTO DE DATOS

da

ta1 db '23', '88'

data2 db '23 88=', 3 dup(?), '$'

DATOS FINALES

CÓDIGOS SEGMENTO

ASUME CS:CODIGOS,DS:DATAS

INICIO:

MOV AX,DATAS

MOV DS,AX

mov ah, 0

mov al, dato1 1

agregar al, dato1 3

aaa

agregar al, 30h

mov [datos2 8], al

mov al, datos1

añadir al, datos1 2

añadir al, ah

mov ah, 0

aaa

agregar al, 30h

mov [datos2 7], al

agregar ah, 30h

mov [datos2 6], ah

mov dx, compensar datos2

mov ah, 9

int 21h

MOV AH, 4CH

INT 21H

CÓDIGOS FINALIZA

FIN INICIO

¡Ejecución aprobada! Dame puntos