위의 소스를 컴파일해서 보면ㅇㅅㅇ
여기서 -0x8(%rbp) 는 a고 -0x4(%rbp)는 b임ㅇㅅㅇ
어셈 첨보면 일단 여기선 %eax랑 %rax는 같다고 생각하면 되고ㅇㅅㅇ
%edx, %eax는 임시 변수라고 생각하면 됨ㅇㅅㅇ
<+19>에서 a 값을 %eax에 넣고ㅇㅅㅇ
그 다음에 %eax값에 1 더하고 %edx에 넣음ㅇㅅㅇ
그리고 %edx 값을a에 넣고, <- 여기까지가 후위연산ㅇㅅㅇ
%eax 값을 b에 넣음 <- 대입연산ㅇㅅㅇ
후위연산이 먼저 실행되는게 마즘ㅇㅅㅇ
그리고 재밌는거ㅇㅅㅇ
ㅇㅅㅇ
ㅇㅅㅇ
어셈블리때문에 갓볼트 폰으로하고있었는데 이거 너무불친절하다
갓볼트가 머임ㅇㅅㅇ
웹에서 코드 어셈블리로 해줄수있는거
어캐복사하는지 모르겟음
https://godbolt.org
그걸 굳이 왜 폰으로..ㅇㅅㅇ
그러게....
이런거 복습 너무 좋아. 그리고 언제나 결론은 쓰는 놈을 조지자 ㅇㅅㅇ
자바는 좀 특이하네 우왕
자바는 일단 값을 꺼내놓고 index에있는걸 그냥 증가시키는 꼴이다보니깐 앞에있는 ++a만 정상 인식되고 그뒤로는 a가 1이 됐으니 a+a로 된듯
중요한건 저렇게 쓰면 안된단거지ㅇㅅㅇ
그르치
ㅈㄴ ㅇㅅㅇ 말끝마다 ㅇㅅㅇ ㅇㅅㅇ거리네 ㅇㅅㅇ
ㅇㅅㅇ
고수 - dc App