Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global _start:
- section .text:
- _start:
- mov eax, 0x4 ; write syscall
- mov ebx, 1 ; write file descriptor
- mov ecx, message ; use msg as buffer
- mov edx, message_lngth ; use msg_lngth as i/o pointer
- int 0x80 ; invoke syscall
- mov eax, 0x3 ; read syscall
- mov ebx, 0 ; read file descriptor
- mov ecx, str ; use str as the message
- xor edx, edx ; clear edx
- add edx, ecx ; add edx with string supplied
- push ecx ; push str to stack
- mov ecx, message2 ; use msg2 as the buffer
- mov esi, str
- add esi, ecx ; add user input to the buffer
- pop ecx ; resore ecx str
- cmp byte[ecx], 0x62
- jne TYPE
- mov eax, 0x4
- mov ebx, 1
- mov ecx, str
- add ecx, edx
- int 0x80 ; invoke
- mov eax, 0x1 ; exit
- mov ebx, 0 ; return 0
- TYPE:
- pop ecx
- mov ecx, message2
- add ecx, str
- int 0x80
- mov eax, 0x1
- mov ebx, 0
- section .rodata:
- message: db "What's your name?", 0x0A ; \n
- message2: db "Your name is ", 0x0A
- message_lngth: equ $-message ; notates address, gives difference of message and msg_length
- str: db 0x3
Add Comment
Please, Sign In to add comment