Red de conocimiento informático - Conocimiento sistemático - Problema del ensamblador

Problema del ensamblador

Categoría: Computadora/Red >> Programación >> Otros lenguajes de programación

Descripción del problema:

Soy nuevo en ensamblador y escribí un programa, el El código es el siguiente, pero no puedo compilarlo pase lo que pase. Estoy usando ma *** 5.0. No sé si la definición de la estructura y cosas similares son incorrectas. Por favor, ayude a un experto a echar un vistazo. Gracias

estructura de estadísticas

nam db 20,0,20 dup(?)

clase db 6,0,6 dup(?)

número db 7,0,7 dup( ?)

paz db 5,0,5 dup(?)

exper db 5,0,5 dup(? )

final db 5,0 ,5 dup(?)

mid db 5,0,5 dup(?)

aver db 5,0, 5 dup(?)

las estadísticas terminan

segmento de datos

chan_g estadísticas 10 (<>)

na db 'nombre?' ,'$'

cl db '¿clase?','$'

nu db '¿número de estudiante?','$'

pe db 'tiempo de paz ¿puntuación?','$'

fi db 'puntuación final?','$'

mi db 'puntuación intermedia?,'$'

datos termina

segmento de código

proceso principal lejos

asume cs:code,ds:data

inicio: mov ax,data

mov ds,ax

lop:mov ah,09

lea dx,na

int 21h

mov ah,0ah

mov dx, offset stats.nam

int 21h

MOV AH,4CH

INT 21H

final principal

el código termina

inicio final

El siguiente es el mensaje de error

c:\test\test. ASM(1): error A2105: Esperado: instrucción o directiva

p>

c:\test\test.ASM(2): error A2086: Datos emitidos sin segmento

c :\test\test.ASM(3): error A2086: Datos emitidos sin segmento sin segmento

c:\test\test.ASM(4): error A2086: Datos emitidos sin segmento

c:\test\test.ASM(5): error A2086: datos emitidos sin segmento

c:\test\test.ASM(6): error A2086: datos emitidos con sin segmento

c:\test\te

st.ASM(7): error A2086: Datos emitidos sin segmento

c:\test\test.ASM(8): error A2086: Datos emitidos sin segmento

c :\test\test.ASM(9): error A2086: Datos emitidos sin segmento

c:\test\test.ASM(10): error A2000: Error de anidamiento de bloque

c:\test\test.ASM(13): error A2105: Esperado: instrucción o directiva

c:\test\test.ASM(15): advertencia A4016: Palabra reservada utilizada como símbolo: CL

c:\test\test.ASM(16): error A2006: Error de fase pasado

c:\test\test.ASM(19): advertencia A4001: Caracteres adicionales en línea

c:\test\test.ASM(32): error A2009: Símbolo no definido: ESTADÍSTICAS

50728 + 450536 Bytes de espacio libre para símbolos

2 errores de advertencia

13 errores graves

¡Busca orientación experta!

Análisis:

Error 1: estructura estadística; la directiva de definición de estructura es incorrecta, debería ser estructura

Error 2: cl db 'class?', '$ ' ;¿Cómo puedo utilizar "cl"? cl es un registro de 8 bits, cámbielo, por ejemplo a cla

Error 3: chan_g stats 10 (<>); no entiendo para qué se usa el 10 aquí, así que cámbielo a chan_g stats <>Eso es todo

Además, ¿qué quieres hacer con este programa?

lop:

mov ah,09

lea dx,na

int 21h

mov ah, 0ah

mov dx,offset stats.nam

int 21h

Aunque agregó la etiqueta lop, pero no usó la instrucción de bucle, en realidad todavía está una estructura secuencial.

Simplemente muestre "nombre?" y guárdelo en la memoria después de ingresarlo.