[시스템프로그래밍]상대로더 설계 및 구현
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[시스템프로그래밍]상대로더 설계 및 구현에 대한 보고서 자료입니다.

목차

1. 개요 및 용어

2. 전제 및 요구사항

3. 프로그램 개요

4. flow chart

5. 사용함수

6. 감상 및 보안사항

7. 첨부

본문내용

_Rld_Cnt, int Lesa_Cnt, int* PG_Memory){
int i,j,k;
int temp;
char* flag;
//TXT카드의 상대주소값으로 RLD카드를 검색하여 flag에 따라 가감
for(i=0;i if(i%3==1){
for(j=0;j if(j%5==4 &&(!(strcmp(PG_Txt[i], PG_Rld[j]) ))){
//flag를 받아옴
flag = PG_Rld[j-1];
//RLD심볼의 ID로 LESA테이블에서 값을 읽어옴
for(k=0;k if(atoi(PG_Rld[j-3]) == Lesa_Table[k].id)
temp = Lesa_Table[k].value;
}
//해당 txt에 값을 flag에 따라 연산
if(!strcmp(flag,"+"))
itoa((atoi(PG_Txt[i+1]) + temp),PG_Txt[i+1],10);
else
itoa((atoi(PG_Txt[i+1]) - temp),PG_Txt[i+1],10);
}
}
}
}
//메모리 맵으로 계산한 값과 절대 주소를 맵핑
for(i=1,j=0;i PG_Memory[j*2] = atoi(PG_Txt[i]) + Lesa_Table[0].value;//절대주소
PG_Memory[j*2+1] = atoi(PG_Txt[i+1]);//값
}
}
void MemoryPrint(int* Memory){
int i=0;
for(i=0;i<10;i=i+2){
if(Memory[i] !=0 && Memory[i+1] !=0)
printf("\t%d\t%d\n",Memory[i], Memory[i+1]);
}
}
void print_GEST(){
int i;
printf("\t======GEST TABLE======\n");
printf("\tSYMBOL\t\tVALUE\n");
for(i=0;i printf("\t%s\t\t%d\n", GEST_TABLE[i].symbol,GEST_TABLE[i].value);
printf("\n\n");
}
void print_LESA(struct LESA* LESA_TABLE, int LESA_PTR){
int i;
printf("\tID\t\tVALUE\n");
for(i=0;i printf("\t%d\t\t%d\n", LESA_TABLE[i].id, LESA_TABLE[i].value);
printf("\n\n");
}
int main(void){
int PG1_Parse_Cnt[3];
int PG2_Parse_Cnt[3];
int i;
//IPLA주소값 지정
printf("PG1의 시작 주소를 입력하세요 : ");
scanf("%d",&IPLA);
printf("\n\n\n\n");
////////////////////////////Path1///////////////////////////////////////////////
FileToString("PG1_ESD_deck.txt", PG1_ESD);
FileToString("PG1_TXT_deck.txt", PG1_TXT);
FileToString("PG1_RLD_deck.txt", PG1_RLD);
FileToString("PG2_ESD_deck.txt", PG2_ESD);
FileToString("PG2_TXT_deck.txt", PG2_TXT);
FileToString("PG2_RLD_deck.txt", PG2_RLD);
PG1_Parse_Cnt[0] = Token(PG1_ESD,PG1_ESD_WORD);
PG1_Parse_Cnt[1] = Token(PG1_TXT,PG1_TXT_WORD);
PG1_Parse_Cnt[2] = Token(PG1_RLD,PG1_RLD_WORD);
PG2_Parse_Cnt[0] = Token(PG2_ESD,PG2_ESD_WORD);
PG2_Parse_Cnt[1] = Token(PG2_TXT,PG2_TXT_WORD);
PG2_Parse_Cnt[2] = Token(PG2_RLD,PG2_RLD_WORD);
MakeGEST(&IPLA,PG1_ESD_WORD,PG1_Parse_Cnt[0]);
MakeGEST(&IPLA,PG2_ESD_WORD,PG2_Parse_Cnt[0]);
print_GEST();
///////////////////////Path1종료////////////////////////////////////////////////
///////////////////////Path2시작////////////////////////////////////////////////
PG1_LESA_Cnt = MakeLESA(PG1_ESD_WORD,PG1_LESA_TABLE,PG1_Parse_Cnt[0],0);
PG2_LESA_Cnt = MakeLESA(PG2_ESD_WORD,PG2_LESA_TABLE,PG2_Parse_Cnt[0],0);
printf("\t======PG1's LESA======\n");
print_LESA(PG1_LESA_TABLE, PG1_LESA_Cnt);
printf("\t======PG2's LESA======\n");
print_LESA(PG2_LESA_TABLE, PG2_LESA_Cnt);
MakeTXT(PG1_TXT_WORD, PG1_RLD_WORD, PG1_LESA_TABLE, PG1_Parse_Cnt[1], PG1_Parse_Cnt[2], PG1_LESA_Cnt, PG1_Memory);
MakeTXT(PG2_TXT_WORD, PG2_RLD_WORD, PG2_LESA_TABLE, PG2_Parse_Cnt[1], PG2_Parse_Cnt[2], PG2_LESA_Cnt, PG2_Memory);
printf("\t===PG1 MemoryMap===\n");
MemoryPrint(PG1_Memory);
printf("\n\n\n");
printf("\t===PG2 MemoryMap===\n");
MemoryPrint(PG2_Memory);
getch();
}

키워드

  • 가격5,000
  • 페이지수18페이지
  • 등록일2009.12.30
  • 저작시기2009.10
  • 파일형식한글(hwp)
  • 자료번호#570657
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니