関数 main のアセンブラー コードのダンプ:
0x0000000100000de6 <main+0>: push %rbp
0x0000000100000de7 <main+1>: mov %rsp,%rbp
0x0000000100000dea <main+4>: sub $0x30,%rsp
0x0000000100000dee <main+8>: mov %edi,-0x14(%rbp)
mov %rsp,%rbp
私は手段を学んだmove the value of rsp to rbp
しかし、私はインテルのアーキテクチャで、それは意味することを知っていたインテルmove the value of rbp to rsp
のマニュアル(Intel Architecture Software Developer's Manual. Volume 2. 3-104 MOV命令)によると、mov a, b
move b to a
次sub
の命令は同じです。sub a,b
私は手段を知っていたa = a-b
。しかし、ここでsub $0x30, %rsp
意味するのはrsp = rsp - 0x30
私がどうかしましたか、まずいことでもありましたか?