크리에이티브 커먼즈 라이센스

홈페이지HOME

PHP

JavaScript

HTML

CSS

드롭다운메뉴

제로보드4

도   움   말

백지 건강강좌/자가임상체험

물박사(자가면역질환...)^미러

전동명(천연물질사전)^미러

竹田 장승옥(블로그)^글목록

계산환산(계산기)^ 단위변환

관주성경 TTS 일반파일 TTS

바이블로 Bible_ro 다운로드

다운로드>폰에 복사
>파일선택...설치됩니다.

[도움말 보기] 바로가기

개선 요구, 충고는
아래 관리자 연락
전화/메일 부탁 드립니다.
최대한 빨리 처리하고
업데이트 올리겠습니다.


asm_78. COM,EXE의 차이


     20 이형문 buju8t 12/28 1479

     4 디버거를 알자..COM,EXE의 차이







 이형문 (buju8t  )

디버거를 알자..COM,EXE의 차이  12/28

12:26 64 line


디버거를 공부하기 전에 MS-DOS 의 실행가능화일인  EXE모델과 COM모델이

메모리에 로드 되었을 때, 세그먼트 레지스터의 값과 시작번지에 대해 알

아봅시다.


MS-DOS 에서는 실행가는 프로그램이 메모리 상에 로드되었을때에 프로그램

의 직전에 PSP(Program Segment Prefix)라는 부분이 설정되고 ,그다음에

프로그램의 본체가 놓여집니다.

PSP는 전부 100H 바이트가 있어서 프로그램의 실행에 필요한 여러가지

정보가 들어 있읍니다.






EXE 모델


+-----------------------------------------------+

 하위 번지  

 

 +-------------+

<----DS,ES  

 PSP


 (100H 바이트)


 +-------------+

<----DS,(SS)  

 프로그램

본체

 +-------------+

<---CS:IP(시작번지)

 

 상위 번지

+------------------------------------------- ----+

EXE 화일이 메모리 상에 로드되었을 때에 DS(데이터 세그먼트)와

ES

(익스트라 세그먼트)가 PSP의 시작을 나타내고,CS(코드 세그먼트)가

프로그램의 시작을 나타내도록 세트 됩니다.

 SS(스택 세그먼트)는 특별히 지정하지 않으면 CS와 같은 값이 됩니다.

프로그램의 실행은 CS 내의 IP(인스트럭션 포인터) 로 나타내는 번지로

부터 시작됩니다.시작번지는 특별히 지정하지 않으면 0 이지만 임의의

번지로부터 시작할 수 있읍니다.


 DS와 ES 가 PSP의 부분을 지정하고 있으므로 프로그램 중에서 DS와 ES

를 사용할 때에는  다시 설정하지 않으면 안됩니다.






COM 모델


 COM 화일을 로드 했을 때에는 CS,DS,ES,SS의 네개가 모두 일치하여 PSP

의 시작을 지시하도록 세트 됩니다.


+-----------------------------------------------+

 하위 번지

 

 +-------------+

<----CS,DS,ES,SS  

 PSP


 (100H 바이트)


 +-------------+

<----CS:IP(=100H)

프로그램

본체  (시작 번지)  

 +-------------+


 

 상위 번지

+-----------------------------------------------+

프로그램의 본체는 100H바이트의 PSP직후에 놓여지고 선두로 부터

실행되므로 IP(인스트럭션 포인터) 의 초기치는 100H로 세트됩니다.

 소스프로그램을 작성할 때도 ORG 명령을 사용하여 시작번지를 100H

번지로 부터 설정함과 동시에 ,프로그램의시작에 라벨을 붙여 ,

END 문에 의해 번지를 지정해야 합니다.

ORG 100H 이외에서 시작되는 것이나 개시번지의 지정이 없는 것은

올바른 COM 화일로 변환 할 수가 없읍니다.

 COM 화일을 작성할 때는 모든 세그먼트를 일치 시켜야 합니다.또한,

COM 화일로 하는 프로그램에서는 특수한 경우의 용도를 제외하고는

세그먼트의 값을 변경하면 안됩니다.



ID:
PW:

     0 분
     6 분

자유게시판

건강백과 HOME

홈페이지 HOME

조   약     HOME

생활지혜 HOME

서식양식 HOME

법원 전산양식 검색

In Na zum

비공개 HOME

백과넷 포탈 : 건강/법률(메인)/홈피/서식/조약/생활지혜

◁ 2002.9.1.~2021.4.11. ▷

관리자 연락(저작권 의심 신고) : 김병희 010-6204-4973 k8z7@hanmail.net