pdf파일 p.67(교재 p.54) 컴파일 명령어
ml /c /coff /Zi example.asm
obj 파일 생성됨.
pdf파일 p.68(교재 p.55) 링크 명령어
link /debug /subsystem:console /entry:start /out:example.exe example.obj io.obj kernel32.lib
exe 파일, ilk 파일, pdb 파일 생성됨.
windbg 파일 실행. 교재p55. 이하 (pdf p68.)
File 에서 Open Executable... 을 클릭한 후 링크 한후 만들어진 exe파일을 실행한다.
다음 이렇게 생긴 아이콘을 클릭(메세지창 뜨고 확인 후 한 두번 더 클릭) 하면 작성했던 소스 코드가 등장하다.
View 에 memory, Registers를 통해 메모리와 레지스터의 값의 변화를 알 수 있다.
Registers 부분에 레지스터 안에 값이 들어가거나 값이 변동 될시 글자색이 빨갛게 변함.
listing 파일pdf p.73, 교재 p.60
컴파일 명령어. ml /c /coff /Fl example1.asm
lst파일 생성.
constant operands pdf p.81 교재 p.68
cf. 어셈블리에선 대문자 소문자 구분 X
메모리모드에 값을 직접 넣는 direct 방식과 (C에서 '=' 대입 연산자 같은), 간접적으로 넣는 indirect (C에서 포인터 같은) 방식이 있다. indirect 방식 사용방법은 '[]'로 감싸서 사용한다. (어셈블리에선 대괄호 배열 아님. 어셈블리에선 배열(데이터) 계념 없다 하신걸로 기억합니다. 메모리의 '크기'만 존제함)
number of Byte, 컴파일 후 생성되는 명령어의 길이(?)크기(?)
mov 사용 되어지는 Destination, Source에 들어가는 값들에 따라 정해지는 명령어 길이와 컴퓨터 코드
mov number1 eax 가 사용 될시 (기계어)명령어 코드는 A3
mov eax iNum 이 사용 될시 (기계어)명령어 코드는 A1
많이 공부하고 많이 눈에 익혀 놓다 보면 기계어 코드만 봐도 어떤 명령어에 어떤 레지스터 변수들이 위치되어져서 사용 됬는지 역추적 할 수 있다고 함.
수업에 대한 이해도가 크게 부족해서 잘 모르겠는 부분이 많네요 ㅠ 설명 첨가 해주실 부분 있으면 설명 부탁드립니다
-----------------------------------------------------------
http://wowcat.tistory.com/1878 [전 년도 선배님이 작성하신 업무일지.]
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
채팅 소스 입니다. (2) | 2015.08.26 |
---|---|
20150825 -21번-여지윤-일일업무일지- 채팅프로그램 (6) | 2015.08.25 |
채팅소스파일입니다. (2) | 2015.08.25 |
20150824-14번-박제혁-일일업무일지 - FD_ISSET, select 함수를 이용한 채팅프로그램 (8) | 2015.08.25 |
20150820-19번-안향진-일일업무일지 - 어셈블리 컴파일 (6) | 2015.08.21 |
20150819-18번-안해운-일일업무일지 - 초음파센서 SRF05, Timer/Counter (5) | 2015.08.20 |
20150818-16번-박태인-일일업무일지 - select 함수로 입출력 다중화 구현 (7) | 2015.08.18 |
업무일지 작성 순서 (0) | 2015.08.18 |