From f854cf73452aac23a57b3b75ce6eb243bb4ef2cd Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Mon, 21 Sep 2015 23:53:09 -0400 Subject: Initial commit --- Makefile | 11 +++++++++++ prog1 | Bin 0 -> 1054 bytes prog1.asm | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 Makefile create mode 100755 prog1 create mode 100644 prog1.asm diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..64435ba --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +all: prog1 + +prog1: prog1.o + ld -m elf_i386 -o $@ $< + +prog1.o: prog1.asm + nasm -f elf -g -o $@ $< + +.PHONY: clean +clean: + rm -rf *.o prog1 diff --git a/prog1 b/prog1 new file mode 100755 index 0000000..de7e4ce Binary files /dev/null and b/prog1 differ diff --git a/prog1.asm b/prog1.asm new file mode 100644 index 0000000..bf69e45 --- /dev/null +++ b/prog1.asm @@ -0,0 +1,38 @@ +global _start + +section .text + +; while edx <= ecx +loop: + cmp ecx, edx + jle exit + + ; ebx++ + add edx, 1 + + ; loop() + jmp loop + +exit: + ; exit value is edx, let's put it in ebx + mov ebx, edx + + ; clear registers + mov edx, 0 + mov ecx, 0 + + ; initate exit syscall + ; exit(ebx) + mov eax, 1 + int 80h + ret + +_start: + mov eax, 0 + mov edx, 0 + mov ecx, 255 + jmp loop + + ; exit is ebx + ;mov ebx, 0 + -- cgit