Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern _calloc, _fdopen, _fprintf, _getchar, _putchar
- section .data
- write_mode db "w", 0
- error_outofmemory db "Fatal: The Operating System does not have enough memory available.", 0
- section .bss
- bf_memory resd 1
- section .text
- global _main
- _main:
- mov ebp, esp
- push dword 1
- push dword 30000
- call _calloc
- add esp, 8
- test eax, eax
- jz error_exit_outofmemory
- mov [bf_memory], eax
- mov edi, eax
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- test al, al
- jz loop_end_9
- loop_start_9:
- mov al, [edi]
- add al, -1
- mov [edi], al
- add edi, -1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- test al, al
- jnz loop_start_9
- loop_end_9:
- add edi, -1
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- test al, al
- jz loop_end_17
- loop_start_17:
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- test al, al
- jnz loop_start_17
- loop_end_17:
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- test al, al
- jz loop_end_27
- loop_start_27:
- add edi, 1
- mov al, [edi]
- test al, al
- jz loop_end_27_1
- loop_start_27_1:
- mov al, [edi]
- add al, -1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, -1
- add edi, -1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- test al, al
- jnz loop_start_27_1
- loop_end_27_1:
- add edi, -1
- add edi, -1
- mov al, [edi]
- test al, al
- jnz loop_start_27
- loop_end_27:
- add edi, 1
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- mov al, [edi]
- add al, -1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, -1
- add edi, -1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- test al, al
- jz loop_end_53
- loop_start_53:
- add edi, 1
- mov al, [edi]
- test al, al
- jz loop_end_53_1
- loop_start_53_1:
- mov al, [edi]
- add al, 1
- mov [edi], al
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- test al, al
- jnz loop_start_53_1
- loop_end_53_1:
- add edi, 1
- add edi, 1
- mov al, [edi]
- test al, al
- jnz loop_start_53
- loop_end_53:
- add edi, -1
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- add edi, 1
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- add al, -1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- add edi, 1
- mov al, [edi]
- add al, 1
- mov [edi], al
- mov al, [edi]
- push eax
- call _putchar
- add esp, 4
- jmp normal_exit
- error_exit_outofmemory:
- push write_mode
- push dword 2
- call _fdopen
- add esp, 8
- push error_outofmemory
- push eax
- call _fprintf
- add esp, 8
- mov eax, -1
- jmp short exit
- normal_exit:
- mov eax, 0
- exit:
- ret
Add Comment
Please, Sign In to add comment