gcc inline的ouput第一個會自動從eax取得 默認只能取一個(有空再研究一下gcc的inline好了)
movq 需要 uint64_t, movl 則只需要普通int
當call一個function會有
call function //function是函數簽名每次進人新function,function內的頭2句都會是
push rbp mov rsp,rbp作用是把上一個function的回傳地址推入stack然後再將目前的rsp內容複製到rbp,是一個進入新環境的概念 然後離開函式時會
ret //same as "pop eip"把當前esp pop進eip
另外再留一下gdb的用法 對理解程序有幫助 首先如果想反組譯某些函數
b*funcname //funcname是函數名 另外建議幫gdb安裝插件例如gdb-peda 一目了然比較好懂 r//same as run 作用是從breakpoint開始函式 nexti//下一個執行組語指令 p *x//打印x位置所存內容 i r//打印r系列register x /100c addr//顯示addr開始以後100個位的內容