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 p>
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 p>
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 p>
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.