diff options
Diffstat (limited to 'PGU/CHAP10/write-newline.s')
| -rw-r--r-- | PGU/CHAP10/write-newline.s | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/PGU/CHAP10/write-newline.s b/PGU/CHAP10/write-newline.s new file mode 100644 index 0000000..e916379 --- /dev/null +++ b/PGU/CHAP10/write-newline.s @@ -0,0 +1,29 @@ +# Just write a newline (\n) to STDOUT + +.include "linux.s" +.type write_newline, @function +.globl write_newline + +.section .data + +newline: + .ascii "\n" + +.section .text + .equ ST_FILEDES, 16 + +write_newline: + pushq %rbp + movq %rsp, %rbp + + movq $SYS_WRITE, %rax + movq ST_FILEDES(%rbp), %rdi + movq $newline, %rsi + movq $1, %rdx + syscall + + movq %rbp, %rsp + popq %rbp + ret + + |
