![]() |
![]() |
|
| ¼Áµ¿±þÅú |
| ¥ì¥¸¥¹¥¿ %EBX¤Ë¤Ä¤¤¤Æ¶µ¤¨¤Æ²¼¤µ¤¤¡£ | ||
| ||
|
²¼µ¤Î¤è¤¦¤Ë¡¢%ebx¤ÎÆâÍÆ¤ò½ñ¤´¹¤¨¤ë¤È ¥»¥°¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤½¤Î¸¶°ø¤Ï¡¢%ebx¤Ï¡¢½é´ü¤ÎÃͤòÊÝ»ý¤·¤Ê¤±¤ì¤Ð ¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¹¤«¡© ¤´¶µ¼ø´ê¤¤¤Þ¤¹¡£ [@///test]cat test.s .file "test.s" .data var: .long 0x1234 .text .globl main main: movl $var,%ebx ret [@///test]gcc -o test test.s [@///test]./test Segmentation fault¡¡¡¡¡¡<----------------¥»¥°¥ë [@///test] ----------------------------------- [@///test]cat test.s .file "test.s" .data var: .long 0x1234 .text .globl main main: movl %ebx,%eax <------ %ebx¤ÎÆâÍÆ¤òÊÝ»ý movl $var,%ebx movl %eax,%ebx <------- ¸µ¤ËÌᤷ¤¿ ret [@///test]!gcc gcc -o test test.s [@///test]./test [@///test] <----------¤»¤°¤é¤Ê¤¤
| ||
| ¤³¤ÎÅê¹Æ¤Ø¤Î¥³¥á¥ó¥È | ||
|
Re:¥ì¥¸¥¹¥¿ %EBX¤Ë¤Ä¤¤¤Æ¶µ¤¨¤Æ²¼¤µ¤¤¡£ | ||
|
|