From 85fec93ba2aadf0d340a0ebecb4cd43e77a22c23 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Wed, 4 Sep 2024 16:20:54 +0800 Subject: [PATCH] add addembly x86 --- study_assembly_x86/Makefile | 28 +++++++++++++++++++++++ study_assembly_x86/main | Bin 0 -> 15264 bytes study_assembly_x86/main.c | 8 +++++++ study_assembly_x86/main.i | 13 +++++++++++ study_assembly_x86/main.o | Bin 0 -> 1440 bytes study_assembly_x86/main.s | 44 ++++++++++++++++++++++++++++++++++++ 6 files changed, 93 insertions(+) create mode 100755 study_assembly_x86/Makefile create mode 100755 study_assembly_x86/main create mode 100755 study_assembly_x86/main.c create mode 100755 study_assembly_x86/main.i create mode 100755 study_assembly_x86/main.o create mode 100755 study_assembly_x86/main.s diff --git a/study_assembly_x86/Makefile b/study_assembly_x86/Makefile new file mode 100755 index 0000000..7bcdb25 --- /dev/null +++ b/study_assembly_x86/Makefile @@ -0,0 +1,28 @@ +CC = gcc +CFLAGS = -Wall -g + +# 默认目标,生成所有文件 +all: main.i main.s main.o main + +# 预处理: 生成 main.i +main.i: main.c + $(CC) -E $< -o $@ + +# 编译: 生成汇编代码 main.s +main.s: main.i + $(CC) -S $< -o $@ + +# 汇编: 生成目标文件 main.o +main.o: main.s + $(CC) -c $< -o $@ + +# 链接: 生成可执行文件 main +main: main.o + $(CC) $< -o $@ + +# 清理所有生成的文件 +clean: + rm -f main.i main.s main.o main + +# .PHONY 表示这些目标不是文件名 +.PHONY: all clean diff --git a/study_assembly_x86/main b/study_assembly_x86/main new file mode 100755 index 0000000000000000000000000000000000000000..82454eb67de3abab994f68e0b9e6845e49bd0e69 GIT binary patch literal 15264 zcmeHOU2GiH6~4PphyyWR3=Sra$N*84P&~06gqZAuEliXy>Fc?nV^!~-uN5D)MGY%oG3Pw-GF>Qh<~NUOF9;z#C39?qG2zRh@8 zw+PenI35nWL2MPqR)-0 zU0p}|s)*C}tOl}bxsYCtjlwq&a$FlX>flCA(->MXLq?8UNfuXY3sA{BzzNnRQS5yvXWSrTVS9Po_H6Nr3rPWb4Pd?qnV zHkNGksZ=semgXN)1LH_%UcR=D+Sy4ACiJLX8fEe#VisQU|SHWdIDC4bk z9j;0~fugGIQ-#sqp6yflj;TU%cCKTtueYPO$F7v@?q~`;uTDC6P3_rtNTrXfDszZW zsnjw(EjqbG!oIiA!D;9CM@qlHz5J1XD57TnLck1{uDzD@2|@Kx!s zF{|z1p;sT!Jg;rOCXjbyJU;IW+(N!_NF)of98i zJus5%s&<`oPVKxx4q@vf6!q!2-Mr}!kw5XTaX+V4zs&Hn#h{hCewf?T_1f@a^QPnM zxFAUW^O66(k1}jqa^|l(XaDtpb9S-8NxkE|zZBd;9dt+sjp4=d=1qgw;(30@cjm~f zW_KKNPVBs%o6h{DpvgJ8a|mvOveR(Vl!*^D1BqDWq;o5u`#;>)TH)R#~_qPf1 zJw$!X|K{uY*~OEGzCM{-Y<}^r!wXEl!LQwK@;mwE3*>irA&QA|Sj!q2jhGCW444d< z444d<444d<444d<444d<444f3h%&(6d!^bNes0m6_z&BSSHtiZgsmTk;RxZ~gaILc zSILq(c2K3}GO6};YZ{-VFRYm7@8~aF3BxVyFt{fA#*4WgI$opxTAA;^G4ptOpy|2; z6i6!DN9cHA1v{CHm<*TQ z)HODVJ}C8%w~3DW$ac|D_qaiH)JgK+fh@3pwiK3FuS#(vY8GdtsFCX=SuTqGdabG_ z1aA;*6O8`$ls3Z}Y4=IT7`G}s6@5m6_^(1eA0i{yCD9utp1uK&=8HVhpRQVO$4BTgJrE24CR#%VRWp`QKo!vd1Kke>ZDN^%%{;Sl-VLh*U zJSQ`yZdS>8>1EVhs|!benPtZz~yIZmJKpX}!p@fICPIZeb(>GcYEhW&Zw)s3|vSvKlb;xp=2)s}^) z#>WX-)VkX5Got@;4?^+)whn{v`f(!vD|2^E{LO9};iT@hzbXk7q;N z)=qp&n(jtf3b*#iA&p^z7L!qNxNK%@@o5&?s(ao z_T9-mML^RLu2(L5G(C<$o4WI+3u81^iTa`sduECnx-&|uvd2o((|(b1@xz7pA6km^ zznogy*d%uO{d3Q9SRdh{wJQd{V~cIdYy6kNvYi98VeX*vElS zkS#9UM_i7O!h0;@v9AL0K7#qf5BOV(=RF%b_H7`xwdDLU2Y#M&P7#my24GbjF@Ey= zpC&t>6YRC;p*$Dyek9#2`)v<%&(IN%wvSUlca+o-0H1%6t)ri1?r8Ti`EZCiWa!SDOd@X3+z`eQ*HuH)Z{V;98Z z_d?a}?5)&R4Yg0i1Fw)J9*_5@%My?K6dfQAxR{7nS@G=DhkxL5XaXE^FdzL5{J1{vnDg$x_Ji% W5=%m*cf0!WPwmhF>k" +# 0 "<命令行>" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "<命令行>" 2 +# 1 "main.c" +int add_a_and_b(int a, int b) { + return a + b; +} + +int main() { + return add_a_and_b(2, 3); +} diff --git a/study_assembly_x86/main.o b/study_assembly_x86/main.o new file mode 100755 index 0000000000000000000000000000000000000000..79d6bfb5212f887ad1e1eba07b55f68c5bca59e2 GIT binary patch literal 1440 zcmbtTL2DCH5S~qIYqixV7Ap0y2N4y0B%vS_ku9NCij*P*yoC6YtXA!A%I+4@Lh)7_ zdg;&b=Cvm+_O}Qg?X8DEoiBM~Uta=(4$RKXH}k!D%)I@y`0{zq^GL*_XLKG3O7tdo z?gu?LpedT9%8SmA&Q7< z-E7u$O~=hzy$4CZyT-vxFxl=|UwngO(AJ75aPU8URJs*qx=t$1lD=INFA3MR%EER= zs;M(gs-C8#8m%Y_W5(iE7AoG&<22Kak0yQ>Z>o)?wGk%S7OCC|;acr&qNC8<;Qx%z zbj*ItIVLdiLkE}lA@D3am{}lzv7b%hjES$X1%$mp1i!~VaLnA64|ZVrZvRJ|!