小编Bra*_*eel的帖子

了解x86-64汇编代码中的指针赋值

我想了解汇编代码.我被困在指定指针的部分和leaq命令后的代码中

这是我的C代码:

#include <stdio.h>
#include<stdlib.h>

int main(){
    int x=50;
    int *y=&x;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我相应的ASSEMBLY代码:

.file   "AssemlyCode.c"
    .def    __main; .scl    2;  .type   32; .endef
    .text
    .globl  main
    .def    main;   .scl    2;  .type   32; .endef
    .seh_proc   main
main:
    pushq   %rbp
    .seh_pushreg    %rbp
    movq    %rsp, %rbp
    .seh_setframe   %rbp, 0
    subq    $48, %rsp
    .seh_stackalloc 48
    .seh_endprologue
    call    __main
    movl    $50, -12(%rbp)
    leaq    -12(%rbp), %rax
    movq    %rax, -8(%rbp)
    movl    $0, %eax
    addq    $48, %rsp
    popq    %rbp
    ret
    .seh_endproc
    .ident  "GCC: (GNU) 5.4.0"
Run Code Online (Sandbox Code Playgroud)

c assembly x86-64 att

1
推荐指数
1
解决办法
437
查看次数

标签 统计

assembly ×1

att ×1

c ×1

x86-64 ×1