다음 어셈블리 코드를 이해하는 데 문제가 있습니다. 이 장면의 배경에 숫자가있는 예를 나에게 줄 수 있다면 좋을 것입니다.어셈블리 sarl 및 idivl 해석
movl $0, %ecx
movl $0, %eax
addl $1, %eax
movl %eax, %edx
sarl $31, %edx
idivl $7
movl %edx, %eax
movl (%esp, %eax, 4), %eax
movl %eax, (%esp, %ecx, 4)
내 결과가 아무 의미가 없기 때문에 나는 SARL 및 idivl를 잘못 해석 할 수있다 생각
..
도와 주셔서 감사합니다 많이! 지금은 3 시간 동안 그 코드 앞에 앉아 있었어요 ^^
나는 생각한다
ECX = 0
EAX = 0
EAX = 0 + 1 = 1
EDX = EAX = 1
지금 현재 시프트 EDX => EDX = 0
E dx : eax는 7로 나눕니 까?
왜 내가 edx = 0을 설정하고 sarl을 꺼낼 수 없습니까? 그게 같지 않니?
알아 낸 내용을 추가하여 질문을 편집하십시오. 또한 디버거를 사용하여 원하는 번호로 단일 단계를 수행 할 수 있습니다. – Jester
'idivl $ 7'? 이것도 조립합니까? – harold