[ Assemble ] 어셈블리어 변수 선언 & 레지스터 데이터
·
Archive/Hacking
어셈블리 프로그램을 작성한다는 것은 CPU가 지원해주는 각종 연산 기능들을 이용해서 레지스터나 메모리에 데이터를 저장한다는 것이다. sasm 을 이용하여 변수를 선언하고, 레지스터에 데이터를 복사해보자. 가장 헷갈렸던 부분이 여기다. eax와 ax에 0x1234를 저장하고, mov ax, eax 를 실행했을 때 에러가 난다. 32비트 짜리를 16비트에 억지로 집어넣으려고 하니까 탈이 난거다. 이 부분을 주의하도록 하자. 어셈블리 변수 선언 어셈블리에서 변수는 메모리의 시작 주소와 사용되는 메모리의 크기를 의미한다. 변수는 다음과 같은 정보를 지닌다. 시작 주소 저장 되어 있는 값 사용하는 데이터의 크기 > 데이터의 크기 지시어 타입 설명 byte 8비트 정수 word 16비트 정수 dword 32비트 정..