[시스템프로그래밍]SIC/XE 어셈블러 시뮬레이터
- 최초 등록일
- 2006.06.12
- 최종 저작일
- 2006.06
- 압축파일
- 가격 2,000원
소개글
시스템프로그래밍 책에 나온 SIC/XE로 작성된 컨트롤 섹션으로 나누어진
코드를 메모리로 로드하는 프로그램
완전 잘 되있다고 자부함
컴파일 실행환경
오직 C로 작성
본문내용
○ Initialization
- 명령어 데이터 파일(inst.data)을 읽어 inst_table에 저장.
- 오브젝트 코드 파일 ( obj1, obj2 , obj3 )이 존재하는 지 체크.
○ Menu
- Next instruction : PC를 증가시키면서 각 명령어 별로 모니터링 과 실행.
- Execution : 실행 된 결과 파일 출력.
- Memory prt : 메모리 값 출력
- Exit : 종료
○ Object Code Loading
- obj_loading() 함수에서 각 섹터 별로 obj2mem() 함수를 호출함.
- obj2mem() 함수에서 각 오브젝트 코드를 읽어서 메모리에 로드( modification record 미 적용 ).
- 그리고 modification 레코더는 mod_table에 그 정보를 저장.
- 각 섹터 별 오브젝트 코드가 로딩 이 끝난 후 mod_table에서 modification record 정보를 한꺼번에 읽어와 메모리 값을 수정.
○ Monitoring & Execution
- 메뉴에서 next instruction을 선택하면 mmu() 함수를 호출하여 각 명령어를 구분하고 포맷, 주소 모드, 확장모드 체크.
- 해당 PC 별로 명령어가 실행이 되면서 명령어 처리 함수 호출 ( processing_unit() ).
- Processing_unit() 함수를 통해 해당 명령어의 실행이 동시에 진행.
- 특히 RD,WD 명령어의 경우 장치명을 파일명으로 가정하고 처리함.
- monitor_prt() 함수를 호출하여 각 레지스터 값들을 모니터링.
○ Result Printing
- 이미 모니터링 작업에서 실행이 이루어 졌기 때문에 exe_unit() 함수에서는 복사 되어진 장치파일의 결과 출력.
참고 자료
없음