# 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 |