Posición de las constantes simbólicas

Iniciado por .:UND3R:., 18 Noviembre 2011, 01:40 AM

0 Miembros y 1 Visitante están viendo este tema.

.:UND3R:.

Pues eso, donde van las constantes simbólicas? (=, EQU,TEXTEQU)
(Recién me inicio)

Ejemplo tomado de un libro:

Código (asm) [Seleccionar]
TITLE Resta  (Resta.asm)
; este programa resta enteros de 16 bits
; y almacena el resultado en una variable
; luego muestra los registros

INCLUDE Irvine32.inc

.data
var1       word 40000h
var2       word 20000h
var3       word 10000h
var4       word   500h
Resultado  word ?

.code

main PROC
    mov eax,var1      ; EAX valdrá 40000h
    sub eax,var2      ; sustrae a EAX 20000h
    sub eax,var3      ; sustrae a EAX 10000h
    sub eax,var4      ; sustrae a EAX 500h
    mov Resultado,eax ; mueve a Resultado el contenido de EAX
    call DumpRegs
    exit
main ENDP
END main


entre INCLUDE Irvine32.inc y .data?

EDIT: creo que en después de .code también pueden ir

Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

_Enko

Las instrucciones del preprocesador pueden ir en cualquier lado antes de usarlas.

Como practica se suelen poner despues de INCLUDE

.:UND3R:.

Cita de: _Enko en 18 Noviembre 2011, 02:13 AM
Las instrucciones del preprocesador pueden ir en cualquier lado antes de usarlas.

Como practica se suelen poner despues de INCLUDE

Muchas gracias, me surge una duda más con respecto a este tema:

1)

Código (asm) [Seleccionar]
INCLUDE Irvine32.inc

.data
D1   EQU     <LUNES>
D2   EQU     <MARTES>
D3   EQU     <MIERCOLES>
D4   EQU     <JUEVES>
D5   EQU     <VIERNES>
D6   EQU     <SABADO>
D7   EQU     <DOMINGO>
DIAS TEXTEQU <D1,D2,D3,D4,D5,D6,D7>


Tengo una duda con TEXTEQU, de estas dos formas se obtendrá en DIAS los días de la semana?:

Código (asm) [Seleccionar]
DIAS TEXTEQU <"los días de la semana son:D1,D2,D3,D4,D5,D6,D7">


Código (asm) [Seleccionar]
DIAS TEXTEQU <los días de la semana son:D1,D2,D3,D4,D5,D6,D7>

las comillas (") no afectan en que DIAS contenga los días de las semanas?

Saludos



Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

_Enko

#3
Esto es un tema del preprocesador y no de  assembly en si. Varia segun que ensamblador uses. (masm?)

normalmente lo que esta entre comillas se trata como una  cadena de caracteres...
supogno que masm tambien hace lo mismo.

en fasm funcionaria asi:
Código (asm) [Seleccionar]

d1 equ "lunes"
d2 equ "martes"
d3 equ "miercoles"

dias equ d1, d2, d3

section '.data'
szDias  db dias
;szDias es: lunesmartesmiercoles



En tu caso seria tan facil probarlo, como ensamblando ambos codigos y ver que sucede.

Saludos  ;)

.:UND3R:.

Cita de: _Enko en 18 Noviembre 2011, 03:23 AM
Esto es un tema del preprocesador y no de  assembly en si. Varia segun que ensamblador uses. (masm?)

normalmente lo que esta entre comillas se trata como una  cadena de caracteres...
supogno que masm tambien hace lo mismo.

en fasm funcionaria asi:
Código (asm) [Seleccionar]

d1 equ "lunes"
d2 equ "martes"
d3 equ "miercoles"

dias equ d1, d2, d3

section '.data'
szDias  db dias
;szDias es: lunesmartesmiercoles



En tu caso seria tan facil probarlo, como ensamblando ambos codigos y ver que sucede.

Saludos  ;)

Muchas gracias aun no me he bajado el ensamblador pero en el libro utilizan MASM
muchas gracias nuevamente

Saludos

PD: faltan crackmes pásate uno de estos días por el sufboro

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

_Enko