File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,3 +23,6 @@ Cargo.lock
2323# Added by cargo
2424
2525/target
26+
27+ # temporary files
28+ * .bin
Original file line number Diff line number Diff line change 1+ # gcc -S add.c -O0 -o add.x86.s
2+ # gcc add.x86.s -no-pie -o add.x86.bin
3+ # ./add.x86.bin
4+ # echo $?
Original file line number Diff line number Diff line change 1- void main (void ) {
1+ int main (void ) {
22 int x = 3 ;
33 int y = 4 ;
44
Original file line number Diff line number Diff line change 1+ main:
2+ addi sp ,sp ,-32
3+ sd ra,24 (sp )
4+ sd s0,16 (sp )
5+ addi s0,sp ,32
6+ li a5 ,3
7+ sw a5 ,-20 (s0)
8+ li a5 ,4
9+ sw a5 ,-24 (s0)
10+ lw a5 ,-20 (s0)
11+ mv a4 ,a5
12+ lw a5 ,-24 (s0)
13+ addw a5 ,a4 ,a5
14+ sext.w a5 ,a5
15+ mv a0 ,a5
16+ ld ra,24 (sp )
17+ ld s0,16 (sp )
18+ addi sp ,sp ,32
19+ jr ra
Original file line number Diff line number Diff line change 1+ .file "add.c"
2+ .text
3+ .globl main
4+ .type main, @function
5+ main:
6+ .LFB0:
7+ .cfi_startproc
8+ pushq %rbp
9+ .cfi_def_cfa_offset 16
10+ .cfi_offset 6 , -16
11+ movq %rsp , %rbp
12+ .cfi_def_cfa_register 6
13+ movl $3 , -8 (%rbp )
14+ movl $4 , -4 (%rbp )
15+ movl -8 (%rbp ), %edx
16+ movl -4 (%rbp ), %eax
17+ addl %edx , %eax
18+ popq %rbp
19+ .cfi_def_cfa 7 , 8
20+ ret
21+ .cfi_endproc
22+ .LFE0:
23+ .size main, .-main
24+ .ident "GCC: (GNU) 13.3.0"
25+ .section .note.GNU-stack,"",@progbits
You can’t perform that action at this time.
0 commit comments