Linux Kernel ã® include/asm-i386/system.h ã® switch_to() ãã¯ãã¨ãã§ä½¿ããã¦ããããã¦ï¼ããã¨æåãªãã¯ããã¯ãªã®ããããã¾ãããï¼ call foo ã¨ãã¯ï¼æ©æ¢°çã« pushl $1f jmp foo 1: ã¿ããã«ï¼ã¹ã¿ãã¯ã®é ã«æ»ãçªå°ãããã·ã¥ãã¦ï¼é¢æ°ã«ã¸ã£ã³ãããæãã«æ¸ãæããããã®ã§ã¯ãªããã¨æãã¾ããï¼ ret ãã¾ãï¼ pop %ecx jmp *%ecx ã¿ããã«ï¼é©å½ã«å£ãã¦ãè¯ãã¬ã¸ã¹ã¿ã«æ»ãå¤ã pop ãã¦éæ¥ã¸ã£ã³ãããã°å¤§ä¸å¤«ãªæ°ããã¾ãï¼ ãã¡ããï¼æ¬æ¥ä¸å½ä»¤ã§æ¸ããã®ãï¼ããããã¡ã¢ãªè§¦ã£ãæå¥å½ä»¤æ°å¢ããã®ã¯ãã«ãã«ããã®ã§ï¼å®ç¨æ§ã¯ç¡ãããã§ããï¼ ã¢ã»ã³ãã©ã¨ãï¼x86 å½ä»¤ã¬ãã«ã®ã¯ããã¯æ°ã¨ã μOP (ãã¤ã¯ããªãã¬ã¼ã·ã§ã³) ã¬ãã«ã®è©±ã¨ãå ¨ç¶ããããªãåãªã®ã§ï¼å¤§ããªåéãããã¦ã
{{#tags}}- {{label}}
{{/tags}}