Buen día, quería preguntar, cuando se define con EQU, db, dw o ddw una constante, como es la sintaxis correcta para acceder a ella en una instrucción?
podría ser, por ejemplo:
"MOV AX, constante"?
o debería ser algo mas así(tengo anotado de un taller esta corrección, pero en las evaluaciones se me corrigió como si estuviera mal)
"MOV AX, CS:[constante]"?
capaz ninguna de las dos está correcta, pero ta jajaj
desde ya muchas gracias
Las dos son válidas:
MOV AX, constante
carga el registro AX con la constante mientras que
MOV AX, CS:[constante]
carga en AX el contenido de la palabra de memoria ubicada en la dirección segmentada CS:constante
Saludos,
Gustavo
ahí va, excelente, entonces
MOV AX, CS:[constante]
estaría cargandole lo q esté en la dirección CS*16+constante , no?
MOV AX, CS:[constante]
estaría cargandole lo q esté en la dirección CS*16+constante , no?
Correcto, suponiendo que constante efectivamente es una constante (definida mediante EQU)
Si “constante” en realidad es una etiqueta (por ejemplo usada para definir una variable con DW) entonces el ensamblador colocará el desplazamiento calculado para dicha etiqueta. Entonces en ese caso la dirección efectiva será CS*16 + dicho desplazamiento
Saludos,
Gustavo
perfecto, muchísimas gracias!