Problema para principiantes con el ensamblaje en línea
-
18-09-2019 - |
Pregunta
Estoy usando VS2008 C++ (sin bibliotecas).Este es mi código:
__asm
{
jmp start
msg:
db "http://www.stackoverflow.com"
dtfld:
db "00/00/0000"
tmfld:
db "00:00:00"
start:
Recibo los siguientes errores:
Error 1 error C2400:error de sintaxis del ensamblador en línea en 'código de operación';encontrado 'token incorrecto'
Error 2 error C2400:error de sintaxis del ensamblador en línea en 'código de operación';encontrado 'token incorrecto'
Error 3 error C2400:error de sintaxis del ensamblador en línea en 'código de operación';encontrado 'token incorrecto'
¿Por qué es esto?
Solución
Cita de Directivas de datos y operadores en ensamblaje en línea (Microsoft):
Aunque un bloque __asm puede hacer referencia a tipos de datos y objetos C o C++, no puede definir objetos de datos con directivas u operadores MASM.En concreto, no puede utilizar las directivas de definición DB, DW, DD, DQ, DT y DF, ni los operadores DUP o THIS.Las estructuras y registros de MASM tampoco están disponibles.El ensamblador en línea no acepta las directivas STRUC, RECORD, WIDTH o MASK.