내 수업 중 하나에 대한 실습을 통해 읽고있었습니다. 질문에 대한 아키텍처는 x86입니다. 질문 :이 x86 어셈블리 예제에서 발생할 수있는 오류
Which of the following lines of pseudo C code performs the same operation as the
assembly statement
lea 0xffffffff(%esi), %eax ?
옵션 : 대답은해야처럼
a) *(esi-1) = eax
b) esi = eax + 0xffffffff
c) eax = esi - 1
d) eax = *(esi -1)
그것은 "레아"작업이기 때문에, 나는의 (c) 느낌,하지만 분명히 대답 키는 말한다 (A). 이것은 오타입니까? 또는 나는 다만 나쁜 이해가있다. 고맙습니다.
'lea' 명령은 결과를 레지스터가 아닌 메모리 덩어리로 이동시키기 때문에 C에서는이를 수행 할 수 없습니다. – Hawken
나는 이것이 C에서 물리적으로 가능하지 않다는 것을 이해하지만, 기본적으로 sudo C 코드를 묻는다. 위의 설명을 수정했습니다. – de1337ed
아, 미안 해요, 나는 조립에 상당히 새로운데, 내 마음을 날카롭게 유지하려고 노력하고 있습니다. :) – Hawken