elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: [1]
1  Programación / ASM / Re: Ayuda, ya no se que hacer en: 12 Abril 2013, 17:58 pm
Lo siento creo que no di la suficiente información es nasm
pero igual ya lo resolví y quedo algo así
section .data
m:    db ”La x= ”;mensaje a mostrar
lm:    equ $-m    ;tama ˜no del mensaje
x:    db ”100”   ;se define el valor de la variable
xl:    equ $-x    ;se define el tama˜no de la variable
de:    db ”9”   ;se define el valor de la variable 2
del:    equ $-de   ;se define el tama˜no
se:    db 10,0,0   ; generamos un salto de linea
sel:    equ $-se   ; generamos el espacio
section .bss
result    resw 2 ; creamos la variable resultado
section .text
global start:    ;Punto de entrada para Linker
start:
mov    eax,4   ;Especifica la llamada al sys write
mov    ebx,1   ;Standar de Output
mov    ecx,m   ;se pasa la direcion del mensaje
mov    edx,lm   ;Se pasa la longitud del mensaje
int    80h      ;invoca la interrupcion 80h
mov    eax,4   ;Especifica la llamada al sys write
mov    ebx,1   ;Standar de Output
mov    ecx,x   ;se pasa la direcion del mensaje
mov    edx,xl   ;Se pasa la longitud del mensaje
int    80h      ;invoca la interrupcion 80h
mov    eax,4   ;Especifica la llamada al sys write
mov    ebx,1   ;Standar de Output
mov    ecx,se   ;se pasa la direcion del mensaje
mov    edx,sel   ;Se pasa la longitud del mensaje
int    80h      ;invoca la interrupcion 80h
mov    eax,[m]   ;pasamos m a un registro
mov    ebx,
  •    ;pasamos x a un registro
sub    eax,’0’   ;transforma m de String a Entero
sub    ebx,’0’   ;transforma x de String a Entero
add    eax,ebx   ;Sumamos los dos valores
add    eax,’0’   ;transforma de entero a string
mov    [result],eax;almacenamos en result
mov    eax,4   ;Especifica la llamada al sys write
mov    ebx,1   ;Standar de Output
mov    ecx,result   ;Se imprime resultado
mov    edx,1   ;Standar de Output
int    80h      ;invoca la interrupcion 80h
mov    eax,4   ;Especifica la llamada al sys write
mov    ebx,1   ;Standar de Output
mov    ecx,se   ;se pasa la direcion del mensaje
mov    edx,sel   ;Se pasa la longitud del mensaje
int    80h      ;invoca la interrupcion 80h
mov    eax,1   ;Standar de Output
mov    ebx,0   ; se especifica el codigo de salida
int    80h      ;invoca la interrupcion 80h
2  Programación / ASM / Re: Ayuda, ya no se que hacer en: 12 Abril 2013, 00:11 am
mov eax,4; Especifica la llamada al sys_write
mov ebx,1;Especifica el descriptor de archivo 1 :Standar de Output
sub eax,'0'es para transformar de string a decimal
add eax,'0' transforma de decilmal a string
3  Programación / ASM / Ayuda, ya no se que hacer en: 11 Abril 2013, 01:27 am
en este programa quisiera que se sumen dos variables
que estan previamente declaradas,
pero por alguna razon se concatenan los
valores y me devuelve strings en lugar de un valor
creo que el error es de base y se encuentra en la
declaracion

section .data
msg:      db "La X= "
lmsg:       equ $-msg
msg1:      db "La Y= "
lmsg1:      equ $-msg1
;val_x:      db "100",10
;lval_x:      equ 100
;val_y:      db "9",10
;lval_y:      equ 9
nlinea:      db 10,10,0
lnlinea:   equ $-nlinea
section .bss
lval_x:      equ 100
lval_y:      equ 9
result   resw 2
section .text
global _start:
_start:
mov    eax,4
mov    ebx,1
mov   ecx,msg
mov   edx,lmsg
int   80h

mov   eax,4
mov   ebx,1
mov   ecx,lval_x
;mov   edx,lval_x
int   80h

mov   eax,4
mov   ebx,1
mov   ecx,msg1
mov   edx,lmsg1
int   80h

mov   eax,4
mov   ebx,1
mov   ecx,lval_y
;mov   edx,lval_y
int   80h

mov   eax,lval_x
mov   ebx,lval_y

sub   eax,'0'
sub   ebx,'0'

add   eax,ebx

add   eax,'0'
mov   [result], eax

mov   eax,4
mov   ebx,1
mov   ecx,result
int   80h

mov   eax,4
mov   ebx,1
mov   ecx,nlinea
mov   edx,lnlinea
int   80h

mov   eax,1
mov   ebx,0
int   80h
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines