diff options
| author | Carlos Maiolino <[email protected]> | 2025-07-10 22:55:07 +0200 |
|---|---|---|
| committer | Carlos Maiolino <[email protected]> | 2025-07-10 22:56:55 +0200 |
| commit | d98f46ce647846b0aa30b2e16a30fd4e152a1bf5 (patch) | |
| tree | 267474fcc77cf20b428f6f4c7f768ca09f4cfe0e /CSAPP/leaq.s | |
| parent | 869e68986aa8f69af6e7842260a68d1e5c6f796f (diff) | |
Add new code
Signed-off-by: Carlos Maiolino <[email protected]>
Diffstat (limited to 'CSAPP/leaq.s')
| -rw-r--r-- | CSAPP/leaq.s | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/CSAPP/leaq.s b/CSAPP/leaq.s new file mode 100644 index 0000000..a97b842 --- /dev/null +++ b/CSAPP/leaq.s @@ -0,0 +1,35 @@ + .file "leaq.c" + .text + .globl scale + .type scale, @function +scale: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq %rdx, -40(%rbp) + movq -32(%rbp), %rax + leaq 0(,%rax,4), %rdx + movq -24(%rbp), %rax + leaq (%rdx,%rax), %rcx + movq -40(%rbp), %rdx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $2, %rax + addq %rcx, %rax + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size scale, .-scale + .ident "GCC: (GNU) 10.2.1 20200723 (Red Hat 10.2.1-1)" + .section .note.GNU-stack,"",@progbits |
