diff options
Diffstat (limited to 'c-asm')
| -rw-r--r-- | c-asm/.clang-format | 4 | ||||
| -rw-r--r-- | c-asm/Makefile | 13 | ||||
| -rw-r--r-- | c-asm/main.c | 11 | ||||
| -rw-r--r-- | c-asm/sum.s | 11 |
4 files changed, 39 insertions, 0 deletions
diff --git a/c-asm/.clang-format b/c-asm/.clang-format new file mode 100644 index 0000000..5f0e585 --- /dev/null +++ b/c-asm/.clang-format @@ -0,0 +1,4 @@ +BasedOnStyle: Chromium +ColumnLimit: 120 +IndentWidth: 4 + diff --git a/c-asm/Makefile b/c-asm/Makefile new file mode 100644 index 0000000..907e50c --- /dev/null +++ b/c-asm/Makefile @@ -0,0 +1,13 @@ +all: a.out + +sum.o: + as sum.s -o sum.o + +a.out: sum.o + gcc main.c sum.o + +clean: + -rm a.out *.o + +tags: + ctags -R * diff --git a/c-asm/main.c b/c-asm/main.c new file mode 100644 index 0000000..56b9bc5 --- /dev/null +++ b/c-asm/main.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int sum(int a, int b); + +int main() { + for (int i = 0; i < 10; ++i) { + printf("SUM of 5+%d is %d\n", i, sum(5, i)); + } + + return 0; +} diff --git a/c-asm/sum.s b/c-asm/sum.s new file mode 100644 index 0000000..8b943b9 --- /dev/null +++ b/c-asm/sum.s @@ -0,0 +1,11 @@ +.intel_syntax noprefix + +.global sum + +.text + +sum: + add rdi, rsi + mov rax, rdi + ret + |
