Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Urgente, urgente, urgente! Programación ensambladora (búsqueda de números de narciso): ¿Cuál es el error en operandos de instrucción no válidos?

¡Urgente, urgente, urgente! Programación ensambladora (búsqueda de números de narciso): ¿Cuál es el error en operandos de instrucción no válidos?

SEGMENTO DE DATOS

IN1 DB 13,10,'El número es: $'

A1 DB 0 ;dígito de las centenas

A2 DB 0 ; dígito de las decenas

A3 DB 0 ; dígito de las unidades

B1 DW 0 ;dígito de las centenas

B2 DW 0 ;dígito de las decenas

B3 DW 0; unidades cubo

DATOS TERMINA

CÓDIGOS SEGMENTO

ASUME CS:CODES,DS:DATAS

INICIO:

MOV AX, DATOS

MOV DS, AX

MOV CX, 999

L1:

MOV AX , CX

MOV BL, 100

DIV BL ;AL=centenas, AH=resto

MOV A1, AL Dígito de centenas

MOV AL, AH

MOV AH, 0

MOV BL, 10

DIV BL

MOV A2, AL ;decenas

MOV A3, AH ;lugar de las unidades

LLAMADA A LIFANG ;encontrar cada cubo

MOV AX, B1

AÑADIR AX, B2

AGREGAR AX, B3

CMP AX, CX

JNE SIGUIENTE

LLAMADA A IMPRIMIR ;Si es igual Mostrar

SIGUIENTE:

LOOP L1 ; Bucle a 0

MOV AH, 4CH

INT 21H

;------- --------------------------

LIFANG:

MOV AL , A1

MOV AH, 0

MOV BX, AX

MUL BX

MUL BX

MOV B1, AX

MOV AL, A2

MOV AH, 0

MOV BX, AX

MUL BX

MUL BX

MOV B2, AX

MOV AL, A3

MOV AH, 0

MOV BX, AX

MUL BX

MUL BX

MOV B3, AX

RET

;------- ------ -----------------

IMPRIMIR:

LEA DX, IN1

MOV AH, 9

INT 21H

MOV AH, 2

MOV DL, A1 ;cien p>

AÑADIR DL, 30H

INT 21H

MOV DL, A2 ;十

AÑADIR DL, 30H

INT 21H

MOV DL, A3;

AÑADIR DL, 30H

INT 21H

RET

; -------------------------------

CÓDIGOS FINALIZA

FIN INICIO

Después de la ejecución, muestra:

c:\masm510>XX

El número es: 407

El número es: 371

El número es : 370

El número es : 153

El número es : 001

c:\masm510>