Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; A macro with two parameters
- ; Implements the write system call
- %macro write_string 2
- mov eax, 4
- mov ebx, 1
- mov ecx, %1
- mov edx, %2
- int 80h
- %endmacro
- section .text
- global _start ;must be declared for linker (gcc)
- _start: ;tell linker entry point
- ; macros-------inicio
- ; ----macro mensage antes dos nome do programa
- write_string msg1, len1
- ;--------------------------
- ;---nome do programa
- write_string msg6, len6
- ;----- fim nome do programa
- ;-----macros message depois do nome do programa
- write_string msg2, len2
- ;------ fim macro message depois do nome do programa
- write_string msg3, len3
- write_string msg4, len4
- write_string msg5, len5
- ; macros ------- fim
- mov eax,1 ;system call number (sys_exit)
- int 0x80 ;call kernel
- section .data
- msg1 db '----------------------------------------',0xA,0xD
- len1 equ $ - msg1
- ;------nome do programa
- msg6 db 'Sistema codorna - Descobrimento de dados',0xA,0xD
- len6 equ $ - msg6
- ;------fim nome do programa
- msg2 db '----------------------------------------',0xA,0xD
- len2 equ $ - msg2
- ;--------inicio macros mensagens
- msg3 db 'Seja bem vindo ao sistema!',0xA,0xD
- len3 equ $ - msg3
- msg4 db 'Welcome to the world of,', 0xA,0xD
- len4 equ $- msg4
- msg5 db 'Linux assembly programming! '
- len5 equ $- msg5
- ;----- fim messages de macro
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement