BRONZE
BRONZE 등급의 판매자 자료

[프로그래밍] SIC/XE 로더/시뮬레이터 (VC)

아래 어셈블러에 이은 다음 과제입니다. 컴퓨터 학부 3학년 과목 시스템 프로그래밍의 과제였습니다. 로더와 시뮬레이터를 제작하는 것인데, C로 개발하였으며, GUI는 MFC로 꾸몄습니다. 소스코드가 어렵지 않습니다. MFC코드 빼고나면 정말 간단한 SWITCH-CASE문으로 대부분 구성되어 있으며, System Software (3rd Edition) by Leland L. Beck 책과 함께 한다면 더욱 어렵지 않습니다. 압축 파일 내부에는 VC 6.0 프로젝트 파일과 VC 2005용 솔루션 파일이 있으며, 소스코드 외 레포트 파일 및 아키텍쳐 구조도 및 설명서, 프로그램 Control Flow인 순서도 또한 포함되어 있습니다. 본인이 SIC/XE명령어를 추가하고 싶다면 간단하게 SWITCH-CASE에 추가하기만 하면 됩니다. 교재의 COPY하는 소스 코드를 테스트 해보시면 동작 원리를 알 수 있을 듯하며, 물론 예제 코드 또한 포함되어 있습니다. 교수님께서 보기 쉬운 레포트를 작성해서 인지 매우 좋은 과제 점수를 받았습니다. 흐름도나 아키텍쳐 설명 등을 포함해서 그런 것 같으며, 모두 압축 파일 내에 있습니다. 아무리 코딩을 잘 해도, 교수님께서 보기 어려운 소스코드나 레포트인 경우 점수가 잘 나오지 않더군요. 문서의 컬러링 또한 한목 한 것 같습니다. 참고하셔서 좋은 성적 받으시길 바래요.. ^^ 아래는 문서 내용 일부분입니다. ** 요구 사항 SIC/XE의 오브젝트 파일을 메모리에 로드하는 기능과 로드된 Machine Code를 실행하는 시뮬레이터를 구현 Loader - SIC/XE 오브젝트 코드의 각 Section을 Linking해주는 기능과 Relocation Loader기능을 포함하고 있다. Simulator – Loader가 올릴 SIC/XE의 가상 머신 아키텍쳐 구현과 Memory에 올라간 Machine Code를 분석/해석하여 실행을 시켜주는 기능을 포함하고 있다. ** 구 현 본 프로그램에서는 MFC를 이용하여 GUI를 제작, 내부 핵심 모듈은 C함수로 구현이 되어 있다. ** 주요 함수 Loader – Loader_Pass1(), Loader_Pass2() [ HexACSII2Int(), convert_endian() ] Simulater – parsing_code() [ address_analysis(), type3_execute() ] ** SIC/XE Architecture 구현 방법 - 메모리 Char배열로 1MB의 메모리를 할당 - 레지스터 각 레지스터의 3바이트를 구현하기 위해 int와 char[4]를 union타입으로 Packing한 구조(상위 1바이트는 사용안함) - union을 사용한 이유 – 메모리 복사시 SIC메모리를 char배열로 만들었기에 메모리 복사하기 위해 char형 타입필요 , 시뮬레이터 사용시 각종 산술 연산을 하기 위해 int형 타입이 필요 ** 장치 SIC/XE Machine의 장치 ‘F1’과 ‘05’장치는 Simulater에서는 각각을 파일로 Emulation 시켰다. ‘F1’ = test_in.txt ‘05’ = test_out.txt ** SIC/XE Simulator Architecture 위 그림에서 OnMenuitem1pass와 OnMenuitemLineRun, OnMenuitemRun은 사용자가 버튼을 클릭하였을 때 수행하는 메소드이다. 각 이벤트 메소드들은 Loader과 Simulater 모듈을 실행시켜 메모리에 적재, 코드 분석, 실행 등을 수행한다. 구현한 프로젝트에서 사용된 파일은 아래와 같다. SICXEAssembler.cpp - GUI를 위해 MFC에서 사용 – Wizard가 만들어 준 코드라 첨부하지 않음 SICXEAssemblerDlg.cpp - GUI를 위해 MFC에서 사용 – 실제 이 코드에서 각 함수를 Call한다. SICXELoader.cpp - Object를 메모리에 Load시키는 코드 파일 SICXESimulater.cpp - 메모리에 적재된 Machine Code를 분석/실행하는 코드 파일 StdAfx.cpp - SIC/XE Architecture Emulation을 위해 사용된 전역 변수 및 공통 함수 위 파일 중에서 실제 작성/수정한 파일인 SICXEAssemblerDlg.cpp, SICXELoader.cpp, SICXESimulater.cpp, StdAfx.cpp 파일만 레포트에 추가하였다.
압축파일
최초등록일 2007.02.01 최종저작일 2006.06
[프로그래밍] SIC/XE 로더/시뮬레이터 (VC)
  • 미리보기

    소개

    아래 어셈블러에 이은 다음 과제입니다. 컴퓨터 학부 3학년 과목 시스템 프로그래밍의 과제였습니다. 로더와 시뮬레이터를 제작하는 것인데, C로 개발하였으며, GUI는 MFC로 꾸몄습니다.

    소스코드가 어렵지 않습니다. MFC코드 빼고나면 정말 간단한 SWITCH-CASE문으로 대부분 구성되어 있으며, System Software (3rd Edition) by Leland L. Beck 책과 함께 한다면 더욱 어렵지 않습니다.

    압축 파일 내부에는 VC 6.0 프로젝트 파일과 VC 2005용 솔루션 파일이 있으며, 소스코드 외 레포트 파일 및 아키텍쳐 구조도 및 설명서, 프로그램 Control Flow인 순서도 또한 포함되어 있습니다. 본인이 SIC/XE명령어를 추가하고 싶다면 간단하게 SWITCH-CASE에 추가하기만 하면 됩니다. 교재의 COPY하는 소스 코드를 테스트 해보시면 동작 원리를 알 수 있을 듯하며, 물론 예제 코드 또한 포함되어 있습니다.

    교수님께서 보기 쉬운 레포트를 작성해서 인지 매우 좋은 과제 점수를 받았습니다.
    흐름도나 아키텍쳐 설명 등을 포함해서 그런 것 같으며, 모두 압축 파일 내에 있습니다.
    아무리 코딩을 잘 해도, 교수님께서 보기 어려운 소스코드나 레포트인 경우 점수가 잘 나오지 않더군요. 문서의 컬러링 또한 한목 한 것 같습니다.

    참고하셔서 좋은 성적 받으시길 바래요.. ^^
    아래는 문서 내용 일부분입니다.


    ** 요구 사항
    SIC/XE의 오브젝트 파일을 메모리에 로드하는 기능과 로드된 Machine Code를 실행하는 시뮬레이터를 구현

    Loader - SIC/XE 오브젝트 코드의 각 Section을 Linking해주는 기능과 Relocation Loader기능을 포함하고 있다.
    Simulator – Loader가 올릴 SIC/XE의 가상 머신 아키텍쳐 구현과 Memory에 올라간 Machine Code를 분석/해석하여 실행을 시켜주는 기능을 포함하고 있다.


    ** 구 현
    본 프로그램에서는 MFC를 이용하여 GUI를 제작, 내부 핵심 모듈은 C함수로 구현이 되어 있다.

    ** 주요 함수
    Loader – Loader_Pass1(), Loader_Pass2() [ HexACSII2Int(), convert_endian() ]
    Simulater – parsing_code() [ address_analysis(), type3_execute() ]

    ** SIC/XE Architecture 구현 방법
    - 메모리
    Char배열로 1MB의 메모리를 할당
    - 레지스터
    각 레지스터의 3바이트를 구현하기 위해 int와 char[4]를 union타입으로 Packing한 구조(상위 1바이트는 사용안함)
    - union을 사용한 이유 – 메모리 복사시 SIC메모리를 char배열로 만들었기에 메모리 복사하기 위해 char형 타입필요 , 시뮬레이터 사용시 각종 산술 연산을 하기 위해 int형 타입이 필요

    ** 장치
    SIC/XE Machine의 장치 ‘F1’과 ‘05’장치는 Simulater에서는 각각을 파일로 Emulation 시켰다.
    ‘F1’ = test_in.txt
    ‘05’ = test_out.txt

    ** SIC/XE Simulator Architecture
    위 그림에서 OnMenuitem1pass와 OnMenuitemLineRun, OnMenuitemRun은 사용자가 버튼을 클릭하였을 때 수행하는 메소드이다. 각 이벤트 메소드들은 Loader과 Simulater 모듈을 실행시켜 메모리에 적재, 코드 분석, 실행 등을 수행한다.

    구현한 프로젝트에서 사용된 파일은 아래와 같다.

    SICXEAssembler.cpp - GUI를 위해 MFC에서 사용 – Wizard가 만들어 준 코드라 첨부하지 않음
    SICXEAssemblerDlg.cpp - GUI를 위해 MFC에서 사용 – 실제 이 코드에서 각 함수를 Call한다.
    SICXELoader.cpp - Object를 메모리에 Load시키는 코드 파일
    SICXESimulater.cpp - 메모리에 적재된 Machine Code를 분석/실행하는 코드 파일
    StdAfx.cpp - SIC/XE Architecture Emulation을 위해 사용된 전역 변수 및 공통 함수

    위 파일 중에서 실제 작성/수정한 파일인 SICXEAssemblerDlg.cpp, SICXELoader.cpp, SICXESimulater.cpp, StdAfx.cpp
    파일만 레포트에 추가하였다.

    컴파일 실행환경

    ** 개발 환경
    O/S : Windows XP Professional SP2
    Tool & Compiler : Visual C++ 6.0 SP6
    Language - Core : C
    - GUI : C++, MFC

    참고자료

    · System Software (3rd Edition) by Leland L. Beck
  • 자료후기

    Ai 리뷰
    판매자가 등록한 자료를 통해 새로운 인사이트를 얻고, 과제의 내용을 보강하는 데 큰 도움이 되었습니다. 정말 추천할 만한 자료입니다! 감사드립니다.
    왼쪽 화살표
    오른쪽 화살표
  • 자주묻는질문의 답변을 확인해 주세요

    해피캠퍼스 FAQ 더보기

    꼭 알아주세요

    • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
      자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
      저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
    • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
      파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
      파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2025년 05월 12일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
3:35 오후