Skip to content

Instantly share code, notes, and snippets.

@harlanhaskins
Created October 21, 2015 20:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save harlanhaskins/1aa228ecd7d649a5e675 to your computer and use it in GitHub Desktop.
Save harlanhaskins/1aa228ecd7d649a5e675 to your computer and use it in GitHub Desktop.
harlan.asm - Prints "Harlan Haskins\n" to stdout.
global _main
bits 64
default rel
section .text
_main:
mov r8, array
add byte [r8], 8
loop_0:
cmp byte [r8], 0
je loop_0_end
add r8, 1
add byte [r8], 9
add r8, -1
add byte [r8], -1
jmp loop_0
loop_0_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 5
loop_1:
cmp byte [r8], 0
je loop_1_end
add r8, 1
add byte [r8], 5
add r8, -1
add byte [r8], -1
jmp loop_1
loop_1_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 3
loop_2:
cmp byte [r8], 0
je loop_2_end
add r8, 1
add byte [r8], 5
add r8, -1
add byte [r8], -1
jmp loop_2
loop_2_end:
add r8, 1
add byte [r8], 2
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add byte [r8], -6
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 5
loop_3:
cmp byte [r8], 0
je loop_3_end
add r8, 1
add byte [r8], -2
add r8, -1
add byte [r8], -1
jmp loop_3
loop_3_end:
add r8, 1
add byte [r8], -1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 6
loop_4:
cmp byte [r8], 0
je loop_4_end
add r8, 1
add byte [r8], 2
add r8, -1
add byte [r8], -1
jmp loop_4
loop_4_end:
add r8, 1
add byte [r8], 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 13
loop_5:
cmp byte [r8], 0
je loop_5_end
add r8, 1
add byte [r8], -6
add r8, -1
add byte [r8], -1
jmp loop_5
loop_5_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 10
loop_6:
cmp byte [r8], 0
je loop_6_end
add r8, 1
add byte [r8], 4
add r8, -1
add byte [r8], -1
jmp loop_6
loop_6_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 5
loop_7:
cmp byte [r8], 0
je loop_7_end
add r8, 1
add byte [r8], 5
add r8, -1
add byte [r8], -1
jmp loop_7
loop_7_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 6
loop_8:
cmp byte [r8], 0
je loop_8_end
add r8, 1
add byte [r8], 3
add r8, -1
add byte [r8], -1
jmp loop_8
loop_8_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add byte [r8], -8
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add byte [r8], -2
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], 2
loop_9:
cmp byte [r8], 0
je loop_9_end
add r8, 1
add byte [r8], 5
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
add r8, -1
add byte [r8], -1
jmp loop_9
loop_9_end:
add r8, 2
add byte [r8], 5
loop_10:
cmp byte [r8], 0
je loop_10_end
add r8, 1
add byte [r8], 2
add r8, -1
add byte [r8], -1
jmp loop_10
loop_10_end:
add r8, 1
mov rax, 0x2000004
mov rdi, 1
mov rsi, r8
mov rdx, 1
syscall
mov eax, 0x2000001
xor rdi, rdi
syscall
section .data
array:
times 30000 db 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment