Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- section .data
- combinacion db "aCb:",13,10
- tamanio equ $ - $$ ;para definir el tamanio a utilizar con equ (igual a inicio=$ -$$=fin)
- section .bss
- a: resb 1 ;reserva tamanio para la variable a y b \n...
- b: resq 1 ;<-
- c: resq 1 ;
- section .text ;codigo
- global main
- main:
- pop ebx ;extrae "argc" cantidad c:
- pop ebx ;extrae argu[0] nombre :p
- pop ebx ;extrae el primer argumento [1]
- mov a,ebx ;mueve ebx a la var a ._.
- int 0x80 ;interrupcion 80 llama al kernel .-.
- ;registros: Acumulador(AX) Base(BX) Contador(CX) Datos(DX)
- ;la letra e antepuesta a los nemonicos es dependiendo la arquitectura
- mov eax,4 ;llamada al sistema para imprimirlo (sys_write=4)
- mov ebx,1 ;(sys_exit=1)
- mov ecx,a ;imprime a- (mensaje)degub*
- mov edx,9 ;cantidad caracteres para poder imprimir los datos
- int 0x80 ;interrupcion y se ejecutan las instrucciones anteriores
- mov eax,3 ;(sys_read=3) no jala :@ no le entiendo u_u
- mov ebx ;guarda los datos en la variable a
- mov ecx,a ;aqui scanf
- mov edx,tamanio ;tamanio de los datos de lectura
- int 0x80
- mov eax,4 ;recibe b : mov
- mov ebx
- mov ecx
- mov edx,19
- int 0x80 ;interrupcion y tambien repetir la funcion scanf aqui
- ;; nasm -f elf C.asm -o Combb
- ;; gcc Combb -o aCombb
- mov ebx,0 ;salida del codigo
- mov eax,1 ;(sys_exit=1)
- int 0x80 ;interrupcion llamada al kernel ._. FIN c:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement