mov

어셈블리2017. 5. 1. 21:53

# include <stdio.h>


int main(void)

{

int v1 = 10;

int v2 = 0;

__asm

{

mov eax, v1;

mov v2, eax;

}

printf("%d \n", v2);

return 0;

}




구지 __asm 부분을 c언어로 생각해보자면 아래와 같을 것이다.

/*


int temp = 0;

temp = v1;

v2 = temp;


*/


================================================================

*mov 명령 사용시 주의사항

1. 목적지 (Destination), 소스(source)는 반드시 같은 크기여야 한다.

2. 목적지 (Destination), 소스(source)는 모두 메모리 피 연산자 일 수 없다.

================================================================

# include <stdio.h>

int main(void)
{
char cData = 0;

__asm
{
//mov eax, cData; /* 오류 */
mov al , cData;
}
return 0;
}


'어셈블리' 카테고리의 다른 글

Irvine 설치 방법  (0) 2017.05.07
버퍼 오버플로우 공격  (0) 2017.05.02
irvine  (0) 2017.05.01
인라인 어셈블리 sub  (0) 2017.05.01
인라인 어셈블리 add  (0) 2017.05.01