인라인 어셈블리를 공부하면서 느낀 점이야.



그거야 말로


루틴의 정의야





인라인 어셈블리라는게 결국 뭐야??



컴파일러에게


"인풋을 바인드해줘"

"아웃풋을 바인드해줘"


내가 인풋과 아웃풋을 가지고 어떻게 가지고 놀던지 안에서 캡슐화 되어있으니 너는 신경쓸거 없어.





이거잖아.




이게 루틴이야



도대체 이렇게 좋은 루틴의 정의방법을


도대체


함수는 어째서



인자를 받아들여서 하나로 내보내는거야???




그러다보니까


이상하잖아.



함수의 인자로는 다 똑같은 변수들을 받아들인다고 쳐봐,



근데 인라인 어셈블리상으로는 그새끼들중 일부는


"=r" 이고


일부는


"r" 이야


아웃풋이 인풋이랍시고 들어가있고


return 은 쓰잘데기없이


"에러가 아니에요!! 축하해요!" 를 의미하는

0 반환을 하는데,




함수라 하면


인풋이 들어가서 아웃풋이 나오는 구조 아니냐??



그리고 함수라는게 아웃풋이 1차원이어야하는 이유도 없고.




그냥 인라인 어셈블리에서 input, output, clobber



이 세가지의 구조물이 루틴의 정의라고.


그리고, 캡슐화 된 내부에서 다시 내부변수들이 존재하는거고.



난 그래서



모든 변수를


input

output

inner

clobber


이렇게 네가지로 구분하려고 해.



명쾌하잖아?? 안그래??