Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VAR_MAX_ARGV equ 4;
- sys_exit equ 1
- sys_read equ 3
- sys_write equ 4
- stdin equ 0
- stdout equ 1
- stderr equ 3
- SECTION .data ;initialized data
- szErrMsg db "Too many arguments. The max number of args is 4", 10
- ERRLEN equ $-szErrMsg
- szLineFeed db 10
- SECTION .text ;assembly code
- extern printf
- global _start
- _start:
- nop ;
- push ebp
- mov ebp, esp
- ;push welcome_msg;
- ;call printf
- cmp dword [ebp + 4], 1
- je NoArgs
- cmp dword [ebp + 4], VAR_MAX_ARGV ; check total args entered
- ja TooManyArgs
- ; push DWORD [i] DWORD directiva de tamanio de memoria
- jmp finish
- NoArgs:
- ; No args entered,
- ; start program without args here
- jmp finish
- TooManyArgs:
- mov eax, sys_write
- mov ebx, stdout
- mov ecx, szErrMsg
- mov edx, ERRLEN
- int 80H
- finish:
- mov esp, ebp
- pop ebp
- mov eax, sys_exit
- xor ebx, ebx
- int 80H
- SECTION .bss ;unitialized data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement