diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-09-23 00:22:44 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-09-23 00:22:44 -0400 |
commit | 94fcde92ba95b81d1955f8cd31507aed1063dd1b (patch) | |
tree | 789287835d4cd90a435dcd0e4706bc73c0074e2e | |
parent | 9d03e10557ec184ec575ca6f73378eb2fd2eaa3b (diff) | |
download | asmfun-94fcde92ba95b81d1955f8cd31507aed1063dd1b.tar.gz |
Add a few numbers
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | prog2.asm | 32 |
2 files changed, 39 insertions, 1 deletions
@@ -1,4 +1,4 @@ -all: prog1 +all: prog1 prog2 prog1: prog1.o ld -m elf_i386 -o $@ $< @@ -6,6 +6,12 @@ prog1: prog1.o prog1.o: prog1.asm nasm -f elf -g -o $@ $< +prog2: prog2.o + ld -m elf_i386 -o $@ $< + +prog2.o: prog2.asm + nasm -f elf -g -o $@ $< + .PHONY: clean clean: rm -rf *.o prog1 diff --git a/prog2.asm b/prog2.asm new file mode 100644 index 0000000..364108a --- /dev/null +++ b/prog2.asm @@ -0,0 +1,32 @@ +section .text +global _start + +exit: + mov ebx, 0 + mov eax, 1 + int 80h + +addme: + push ebp + mov ebp, esp + push edx + + mov edx, DWORD [ebp+12] + add edx, DWORD [ebp+8] + mov eax, edx + + pop edx + pop ebp + ret + +_start: + mov ebp, esp + sub esp, 8 + + mov DWORD [esp+4], 5 + mov DWORD [esp], 5 + call addme + + mov esp, ebp + pop ebp + call exit |