{"id":1314,"date":"2018-10-25T21:13:38","date_gmt":"2018-10-25T13:13:38","guid":{"rendered":"http:\/\/www.yusian.com\/blog\/?p=1314"},"modified":"2018-10-25T21:13:38","modified_gmt":"2018-10-25T13:13:38","slug":"att%e6%b1%87%e7%bc%96%e4%b8%ad%e5%87%bd%e6%95%b0%e7%9a%84%e5%9f%ba%e6%9c%ac%e5%ae%9e%e7%8e%b0","status":"publish","type":"post","link":"https:\/\/www.yusian.com\/blog\/assembler\/2018\/10\/25\/2113381314.html","title":{"rendered":"AT&#038;T\u6c47\u7f16\u4e2d\u51fd\u6570\u7684\u57fa\u672c\u5b9e\u73b0"},"content":{"rendered":"<p>1\u30018086\u6c47\u7f16\u53c2\u8003\u94fe\u63a5\uff1a<br \/>\n1.1\u3001<a href=\"http:\/\/www.yusian.com\/blog\/assembler\/2018\/10\/24\/173913.html\" rel=\"noopener\" target=\"_blank\">\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u53c2\u6570\u7bc7<\/a><br \/>\n1.2\u3001<a href=\"http:\/\/www.yusian.com\/blog\/assembler\/2018\/10\/24\/234103.html\" rel=\"noopener\" target=\"_blank\">\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u5c40\u90e8\u53d8\u91cf\u7bc7<\/a><br \/>\n1.3\u3001<a href=\"http:\/\/www.yusian.com\/blog\/assembler\/2018\/10\/25\/112543.html\" rel=\"noopener\" target=\"_blank\">\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u5b8c\u5584\u7bc7(\u6808\u5e27)<\/a><\/p>\n<p>2\u3001\u7b80\u5355C++\u4ee3\u7801<\/p>\n<pre lang=\"cpp\" line=\"1\">#include <iostream>\r\n#include <cmath>\r\n\r\nusing namespace std;\r\n\r\nint sum(int a, int b){\r\n    return a + b;\r\n}\r\nint main(){\r\n    sum(1, 2);\r\n    return 0;\r\n}<\/pre>\n<p>3\u3001XCode\u4e2d\u7f16\u8bd1\u4ee5\u4e0a\u4ee3\u7801\u5f97\u5230\u7684\u6c47\u7f16\u4ee3\u7801<br \/>\n3.1\u3001main\u51fd\u6570<\/p>\n<pre lang=\"asm\" line=\"1\">cplus`main:\r\n    0x100000f80 <+0>:  pushq  %rbp;\u4fdd\u62a4bp\r\n    0x100000f81 <+1>:  movq   %rsp, %rbp;\u4fdd\u62a4sp\r\n    0x100000f84 <+4>:  subq   $0x10, %rsp;\u5728\u6808\u4e2d\u9884\u755910H\u4e2a\u7a7a\u95f4\u7ed9\u5c40\u90e8\u53d8\u91cf\r\n    0x100000f88 <+8>:  movl   $0x1, %edi;\u52a0\u8f7d\u7b2c\u4e00\u4e2a\u53c2\u6570\u5230di\r\n    0x100000f8d <+13>: movl   $0x2, %esi;\u52a0\u8f7d\u7b2c\u4e8c\u4e2a\u53c2\u6570\u5230si\r\n    0x100000f92 <+18>: movl   $0x0, -0x4(%rbp);\r\n    0x100000f99 <+25>: callq  0x100000f60;\u8c03\u7528sum()\u51fd\u6570\r\n    0x100000f9e <+30>: xorl   %esi, %esi\r\n    0x100000fa0 <+32>: movl   %eax, -0x8(%rbp);\u53d6\u51fa\u7ed3\u679c\r\n    0x100000fa3 <+35>: movl   %esi, %eax\r\n    0x100000fa5 <+37>: addq   $0x10, %rsp;\u6062\u590dsp\r\n    0x100000fa9 <+41>: popq   %rbp;\u6062\u590dbp\r\n    0x100000faa <+42>: retq   ;\u8fd4\u56de\r\n<\/pre>\n<p>3.2\u3001sum\u51fd\u6570<\/p>\n<pre lang=\"asm\" line=\"1\">cplus`sum:\r\n    0x100000f60 <+0>:  pushq  %rbp;\u4fdd\u62a4bp\r\n    0x100000f61 <+1>:  movq   %rsp, %rbp;\u4fdd\u62a4sp\r\n    0x100000f64 <+4>:  movl   %edi, -0x4(%rbp);\u52a0\u8f7d\u7b2c\u4e00\u4e2a\u53c2\u6570\u5230\u5c40\u90e8\u53d8\u91cf\u533a\u57df\r\n    0x100000f67 <+7>:  movl   %esi, -0x8(%rbp);\u52a0\u8f7d\u7b2c\u4e8c\u4e2a\u53c2\u6570\u5230\u5c40\u90e8\u53d8\u91cf\u533a\u57df\r\n    0x100000f6a <+10>: movl   -0x4(%rbp), %esi;\u5c06\u7b2c\u4e00\u4e2a\u53c2\u6570\u52a0\u8f7d\u5230si\r\n    0x100000f6d <+13>: addl   -0x8(%rbp), %esi;\u7d2f\u52a0\u7b2c\u4e8c\u4e2a\u53c2\u6570\u7684\u503c\r\n    0x100000f70 <+16>: movl   %esi, %eax;\u7ed3\u679c\u5b58\u50a8\u5230ax\u4e2d\r\n    0x100000f72 <+18>: popq   %rbp;\u6062\u590dbp\r\n    0x100000f73 <+19>: retq;\u8fd4\u56de   <\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1\u30018086\u6c47\u7f16\u53c2\u8003\u94fe\u63a5\uff1a 1.1\u3001\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u53c2\u6570\u7bc7 1.2\u3001\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u5c40\u90e8\u53d8\u91cf\u7bc7 1.3\u3001\u51fd\u6570\u8c03\u7528\u539f\u7406\u2013\u5b8c\u5584\u7bc7(\u6808\u5e27) 2\u3001\u7b80\u5355C++\u4ee3\u7801 #include #include using namespace std; int sum(int a, int b){ return a + b; } int main(){ sum(1, 2); return 0; } 3\u3001XCode\u4e2d\u7f16\u8bd1\u4ee5\u4e0a\u4ee3\u7801\u5f97\u5230\u7684\u6c47\u7f16\u4ee3\u7801 3.1\u3001main\u51fd\u6570 cplus`main: 0x100000f80 : pushq %rbp;\u4fdd\u62a4bp 0x100000f81 : movq %rsp, %rbp;\u4fdd\u62a4sp 0x100000f84 : subq $0x10, %rsp;\u5728\u6808\u4e2d\u9884\u755910H\u4e2a\u7a7a\u95f4\u7ed9\u5c40\u90e8\u53d8\u91cf 0x100000f88 : movl $0x1, %edi;\u52a0\u8f7d\u7b2c\u4e00\u4e2a\u53c2\u6570\u5230di 0x100000f8d : movl $0x2, %esi;\u52a0\u8f7d\u7b2c\u4e8c\u4e2a\u53c2\u6570\u5230si 0x100000f92 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124],"tags":[129,134,89,127,121],"class_list":["post-1314","post","type-post","status-publish","format-standard","hentry","category-assembler","tag-asm","tag-att","tag-c","tag-127","tag-121"],"_links":{"self":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/comments?post=1314"}],"version-history":[{"count":0,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1314\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/media?parent=1314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/categories?post=1314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/tags?post=1314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}