ã¬ã¸ã¹ã¿å²ãå½ã¦ã®æé©å
rowl1ã§
plus: (x,y) { return x+y; };
ãã³ã³ãã¤ã«ããã¨ãä¸éã³ã¼ãã
_plus.ii2TiL: pushl %ebp movl %esp, %ebp movl 12(%ebp), %p9 movl 8(%ebp), %p8 movl %p8, %p10 addl %p9, %p10 movl %p10, %eax leave ret
ã«ãªãã%p8,%p9,%p10ãã¬ã¸ã¹ã¿æªå²ãå½ã¦ã®å¤æ°ã仿ã®ã¬ã¸ã¹ã¿å²ãå½ã¦ã®å®è£ ã ã¨ãããã
_plus.ii2TiL: pushl %ebp movl %esp, %ebp movl 12(%ebp), %eax movl 8(%ebp), %ebx movl %eax, %ecx addl %ebx, %ecx movl %ecx, %eax leave ret
ã«ãªã£ã¦ããæµç³ã«ããã¯ã«ãã³æªãã®ã§æé©åããã
æ¹æ³ã¯
movl X, Y
ã¨ããè¡ãããå ´åãXã¨Yã«åãã¬ã¸ã¹ã¿ã»ã¹ã¿ãã¯é åãå²ãå½ã¦ãããã¨ãã®ã³ãã¼ãæ¶ããã¨ããå
¸åçãªç©ã
å®éã¯å²ãå½ã¦ã®é çªã¨ãããããã³ã¹ãè¨ç®ãã¦ãããåºåã¬ã¸ã¹ã¿ã¯ã¹ã¿ãã¯ããã¬ã¸ã¹ã¿ã®æ¹ãè¯ãããã ã¨ãããããããã¥ã¼ãªã¹ãã£ã¯ã¹ããªãã¨ãªã使ã£ã¦ããã
çµæ
_plus.ii2TiL: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax addl 12(%ebp), %eax leave ret
ã¨ã¦ãè³¢ããªã£ããæ¬å½ã¯ã¹ã±ã¸ã¥ã¼ãªã³ã°ããã¹ãã ãã©ãããã§è¯ãã¨ãã¨ãã¾ãã