2012-04-27 2 views
0

나는이 숙제와 약간 혼동을 겪고 있습니다. 대학을 위해서해야 할 일이 있습니다. 레지스터가 무엇인지, 왜 메모리 나 레지스터에 몇 바이트를 넣어야하는지 이해하지만Linux의 IA32에서 피연산자와 연산에 대한 액세스

(은 GNU 어셈블리) : 큰 도움이 될 것입니다 것은 나에게 첫 번째 운동에 밀어주고

| address || Value | 
| 0x100 || 0xFF | 
| 0x104 || 0xAB | 
| 0x108 || 0x13 | 
| 0x10C || 0x11 | 


| Register|| Value | 
| %eax || 0x100 | 
| %ecx || 0x1 | 
| %edx || 0x3 | 

피연산자에 해당하는 값은 다음 표를 기입하는 것은 표시 :

| Operand  || Value | 
| %eax  || 
| 0x104  || 
| $0x108  || 
| (%eax)  || 
| 4(%eax)  || 
| 9(%eax,%edx) || 
|260(%ecx,%edx)|| 
|0xFC(,%ecx,4) || 
|(%eax,%edx,4) || 

내가 이것을 볼 수있는 것은 첫 번째 피연산자가 16 진수 값이 0x100이고 레지스터이고, 두 번째 것은 이전에 아무 것도 없기 때문에 말할 수 없다는 것입니다. 세 번째 피연산자는 달러 플래그를 가지고 있습니다. 즉각적인 피연산자이며, 어떤 값을 얻을 수 있는지 알 수 없습니다.

4 (% eax에) 아마 내가 아무 생각이 시점에서 변위되는 4 메모리 주소의 ...

나는 나의 의심이 무엇인지 이해하기 위해 필요한만큼 분명했다 희망 , 제공되는 도움에 대해 대단히 감사합니다.

친절, 수자.

답변

1

AT & T 구문을 찾아야합니다. Here은 AT & T 구문 메모리 피연산자 ("AT & T 스타일 구문")을 해석하는 방법에 대한 간단한 설명입니다.

관련 문제