[ASSEM] IA-32/64 에서 궁금한 것

01 ADD / 03 ADD 간의 차이?

http://ref.x86asm.net/coder.html
http://css.csail.mit.edu/6.858/2010/readings/i386/LOCK.htm
http://appleii.tistory.com/35

찾아본 바로는 ADD r/m32, r32 랑 ADD r32, r/m32 의 차이는 Assert LOCK# Signal Prefix 설정과, operand direction 이 다른 것으로 보입니다.

즉, 01 ADD r/m32, r32 과 03 ADD r32, r/m32 의 경우인데,
opcode 에서 01(0001), 03(0011) 로 2의 1승 자리의 비트는 operand direction을 의미한다고 합니다.
(방향 set(1): r32->r/m32 | unset(0): r/m32 r/m32 가 되는 것으로 생각됩니다.

혹시 제 조사에 오류가 있다면 의견 부탁드립니다..

———
추가: 방향은 메뉴얼에서 가로세로 찾는 방향이 달라지게 되는 것으로 결국은 동일한 내용이 된다.

Post a comment or leave a trackback: Trackback URL.

댓글 남기기