소개글
후회없는 선택100% 완벽 구현
프로그래밍언어를 사용하여 가상으로 만들어진 register와 memory를 토대로 하는 virtual loader를 구현하는 것이다. 그리고 메모리 상의 기계어들이 실행됨에 따라 register와 memory의 상태가 갱신되고, 그 내용을 보여줄 수 있는 명령어들을 구현한다. 또 object파일을 불러오거나 메모리의 내용을 object파일로 저장하는 기능과 직접 SIC어셈블리 언어를 메모리상에 작성하거나 메모리상의 기계어를 SIC 어셈블리언어로 역어셈블하는 기능을 구현한다.
-S명령어: 가상 SIC머신의 레지스터 상태를 보여준다.
-A명령어: 라벨을 사용하지 않고, 직접 어셈블리언어를 입력한다.
-G명령어: 가상 메모리상의 기계어를 지정된 주소부터 지정된 주소까지 실행시킨다.실행되는 기계어에 따라 register와 memory의 상태가 변한다.
-T명령어: 가상 메모리상의 기계어를 하나씩 실행시키고 register의 값을 보여준다.
-D명령어: 지정된 메모리 영역의 값들을 보여준다.
-L명령어: SIC어셈블러 형식의 object파일을 메모리로 불러온다.
-W명령어: 메모리의 내용을 SIC어셈블러형식의 object파일로 저장한다.
-R명령어: 메모리에 있는 기계어를 SIC어셈블리언어로 변환해서 보여준다.
컴파일 실행환경
1. symple assameber 시스템 프로그램 시간에 SIC과 SIC/XE버전의 어셈블리 언어에 대해서 배웠다. SIC버전 어셈블리 언어의 특징은 instruction format이 24비트로 고정되어 있고, addressing mode로 direct addressing mode와 indexed addressing mode 두 가지를 지원한다. 그리고 메모리에 접근을 할 때는 절대주소를 사용하여 메모리에 접근한다. 그리고 SIC/XE버전 어셈블리 언어의 특징은 instruction format은 4종류이고 각 instruction format에 따라 명령어의 길이가 달라진다. addressing mode에 관련된 비트는 n, I, x, b, p, e 총 6가지이며 immediate, indirect, relative addressing mode를 추가로 지원한다. 이번 과제에서 수업시간에 배운 SIC과 SIC/XE버전의 어셈블리 언어를 처리할 수 있는 어셈블러를 작성한다. 이 어셈블러는 어셈블리언어로 작성된 소스파일을 입력 받아서 처리한 object파일과 listing파일을 작성하게 된다.2. virtual loader-가상 장치는 정상 동작한다는 가정하에 구현하였고, SW레지스터의 구조는 임의로 작성하였다. SW레지스터와 디바이스를 실제와 같이 작성한다면 좀 더 현실과 동일한 시뮬레이션이 가능할 것이다.-현재는 memory fault나 illegal executing code 2가지의 예외만 처리하고 있지만, 이외에도 divided by zero와 같은 exception들을 처리하지 않았다.-헬프 명령이나 종료 명령을 제공하지 않고 있다.압축파일 내 파일목록
SICXE/시프과제1/doc/~$템 소프트웨어 - SICXE 구현.doc
SICXE/시프과제1/doc/~WRL0001.tmp
SICXE/시프과제1/doc/시스템 소프트웨어 - SICXE 구현.doc
SICXE/시프과제1/ex/ex1.asm
SICXE/시프과제1/ex/ex2.asm
SICXE/시프과제1/ex/ex3.asm
SICXE/시프과제1/simple_assembler.exe
SICXE/시프과제1/src/common_info.h
SICXE/시프과제1/src/error.c
SICXE/시프과제1/src/error.h
SICXE/시프과제1/src/main.c
SICXE/시프과제1/src/modification.c
SICXE/시프과제1/src/modification.h
SICXE/시프과제1/src/optable.c
SICXE/시프과제1/src/optable.h
SICXE/시프과제1/src/pass1.c
SICXE/시프과제1/src/pass1.h
SICXE/시프과제1/src/pass2.c
SICXE/시프과제1/src/pass2.h
SICXE/시프과제1/src/symtable.c
SICXE/시프과제1/src/symtable.h
SICXE/시프과제2/~$템 소프트웨어 - Vritual Loader.doc
SICXE/시프과제2/~WRL0003.tmp
SICXE/시프과제2/시스템 소프트웨어 - Vritual Loader.doc
SICXE/시프과제2/src and ex_obj/ex_1080.obj
SICXE/시프과제2/src and ex_obj/ex1.obj
SICXE/시프과제2/src and ex_obj/get_command.c
SICXE/시프과제2/src and ex_obj/get_command.h
SICXE/시프과제2/src and ex_obj/main.c
SICXE/시프과제2/src and ex_obj/opcode.c
SICXE/시프과제2/src and ex_obj/opcode.h
SICXE/시프과제2/src and ex_obj/process_command.c
SICXE/시프과제2/src and ex_obj/process_command.h
SICXE/시프과제2/src and ex_obj/virtual_environment.c
SICXE/시프과제2/src and ex_obj/virtual_environment.h
SICXE/시프과제2/src and ex_obj/virtual_loader.dsp
SICXE/시프과제2/src and ex_obj/virtual_loader.dsw
SICXE/시프과제2/virtual_loader.exe
SICXE/시프과제1/doc/~WRL0001.tmp
SICXE/시프과제1/doc/시스템 소프트웨어 - SICXE 구현.doc
SICXE/시프과제1/ex/ex1.asm
SICXE/시프과제1/ex/ex2.asm
SICXE/시프과제1/ex/ex3.asm
SICXE/시프과제1/simple_assembler.exe
SICXE/시프과제1/src/common_info.h
SICXE/시프과제1/src/error.c
SICXE/시프과제1/src/error.h
SICXE/시프과제1/src/main.c
SICXE/시프과제1/src/modification.c
SICXE/시프과제1/src/modification.h
SICXE/시프과제1/src/optable.c
SICXE/시프과제1/src/optable.h
SICXE/시프과제1/src/pass1.c
SICXE/시프과제1/src/pass1.h
SICXE/시프과제1/src/pass2.c
SICXE/시프과제1/src/pass2.h
SICXE/시프과제1/src/symtable.c
SICXE/시프과제1/src/symtable.h
SICXE/시프과제2/~$템 소프트웨어 - Vritual Loader.doc
SICXE/시프과제2/~WRL0003.tmp
SICXE/시프과제2/시스템 소프트웨어 - Vritual Loader.doc
SICXE/시프과제2/src and ex_obj/ex_1080.obj
SICXE/시프과제2/src and ex_obj/ex1.obj
SICXE/시프과제2/src and ex_obj/get_command.c
SICXE/시프과제2/src and ex_obj/get_command.h
SICXE/시프과제2/src and ex_obj/main.c
SICXE/시프과제2/src and ex_obj/opcode.c
SICXE/시프과제2/src and ex_obj/opcode.h
SICXE/시프과제2/src and ex_obj/process_command.c
SICXE/시프과제2/src and ex_obj/process_command.h
SICXE/시프과제2/src and ex_obj/virtual_environment.c
SICXE/시프과제2/src and ex_obj/virtual_environment.h
SICXE/시프과제2/src and ex_obj/virtual_loader.dsp
SICXE/시프과제2/src and ex_obj/virtual_loader.dsw
SICXE/시프과제2/virtual_loader.exe
참고 자료
없음프로그램소스 연관자료
이 자료와 함께 구매한 자료
- SIC/XE Assembler의 설계 및 구현 20페이지
- [시스템 프로그래밍] SIC 어셈블러 7페이지
- c로 구현한 sic 어셈블러 소스(약식 보고서도 포함) 22페이지
- <화학실험>화학발광 결과레포트 9페이지
- sic/ex 어셈블러 소스 3페이지