Created
November 23, 2015 03:28
-
-
Save rcombs/ee9c3ef2c8038d2daae8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SECTION .data | |
fizz: db 'Fizz' | |
buzz: db 'Buzz' | |
num: db '00' | |
nl: db 0x0A | |
SECTION .text | |
global start | |
start: | |
mov rbp, 1 | |
mov r8, 10 | |
mov r9, 3 | |
mov r10, 5 | |
mov r12, 15 | |
lea r13, [fizz wrt rip] | |
lea r14, [buzz wrt rip] | |
mov rsp, 4 | |
mov r15, 8 | |
mov rdi, 1 ; fd | |
.loop: | |
mov rdx, 2 ; 4 bytes | |
lea rsi, [num wrt rip]; string | |
mov rax, rbp | |
idiv r8b | |
xor ax, 0x3030 | |
mov [1 + num wrt rip], ah | |
mov [num wrt rip], al | |
cmp al, 0x30 | |
lea rax, [1 + num wrt rip] | |
cmove rdx, rdi | |
cmove rsi, rax | |
mov rax, rbp | |
idiv r9b | |
test ah, ah | |
cmove rdx, rsp | |
cmove rsi, r13 | |
mov rax, rbp | |
idiv r10b | |
test ah, ah | |
cmove rdx, rsp | |
cmove rsi, r14 | |
mov rax, rbp | |
idiv r12b | |
test ah, ah | |
cmove rdx, r15 | |
cmove rsi, r13 | |
mov rax, 0x2000004 ; write | |
syscall | |
mov rax, 0x2000004 ; write | |
lea rsi, [nl wrt rip] | |
mov rdx, 1 | |
syscall | |
inc rbp | |
cmp rbp, 100 | |
jle .loop | |
mov rax, 0x2000001 ; _exit | |
mov rbx, 0 ; return value | |
syscall |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment