diff --git a/.gitignore b/.gitignore index 1e9427b3a397ecdf9576df4970c8bb988cef4497..d12f18d20ead399074ed6c13325557d09c2abbff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # ignore everything -* +*.* # specify files to track @@ -11,6 +11,7 @@ # specifics for C !*.c !*.h +!*.asm !Makefile # specifics for java diff --git a/example.asm b/example.asm new file mode 100644 index 0000000000000000000000000000000000000000..f661c1833062014b84d0272fe1d2c4c9cc7b2ca3 --- /dev/null +++ b/example.asm @@ -0,0 +1,23 @@ +; author: Brahms (brahms@spline.de) + +global collatz + +section .text + +collatz: + xor rax, rax +.go: + cmp rdi, 1 + jle .end + + mov rcx, rdi + lea rdx, [rdi+1+rdi*2] + + shr rdi, 1 + cmovc rdi, rcx + cmovc rdi, rdx + + inc rax + jmp .go +.end: + ret