diff options
author | Matt Turner <mattst88@gmail.com> | 2008-03-24 20:17:22 +0000 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2008-03-24 20:17:22 +0000 |
commit | e424b09269e6fd37fd1c69006fc971de74d16fb3 (patch) | |
tree | 904b7b337a35b12fba8a25fdcaee8e0d34955af2 /nexteven.asm | |
parent | afda6f12adf869ca9b35eae215b2aa83b87de39a (diff) |
git-svn-id: svn://mattst88.com/svn/x86_64-assembly/trunk@2 a323887f-d61c-418c-83a5-2e06a2a01087
Diffstat (limited to 'nexteven.asm')
-rw-r--r-- | nexteven.asm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/nexteven.asm b/nexteven.asm new file mode 100644 index 0000000..b7b5c16 --- /dev/null +++ b/nexteven.asm @@ -0,0 +1,44 @@ +format ELF64 + +extrn printf +extrn puts +extrn scanf +public main + +section '.text' executable + +main: + push rbp + mov rbp,rsp + + mov edi,prompt + call puts + + sub rsp,16 + + mov rsi,rsp + mov edi,readint + xor eax,eax + call scanf + + mov rax,[rsp] + + add rsp,16 + + mov rdx,rax + and rdx,1 + add rax,rdx + + mov rsi,rax + mov edi,msg + xor eax,eax + call printf + + leave + ret + +section '.data' writable align 16 + +msg db "Next even integer is %ld",0xA,0 +prompt db "Enter an odd integer.",0 +readint db "%ld",0 |