[컴퓨터구조] C++ 16bit 어셈블러 제작 (LEXER 포함)

등록일 2003.05.20 압축파일 (zip) | 4페이지 | 가격 1,000원

소개글

컴퓨터 구조 과제물입니다.
간단한 형태의 어셈블러를 제작합니다.
컴파일러 과제물로도 출제 가능한 형태입니다.

목차

52,224 Assembler#0.doc
50,688 Assembler0.opt
545 Assembler0.dsw
148,480 Assembler0.ncb
1,612 Assembler0.plg
222 input.txt
6,060 main.cpp
1,437 inst_type.cpp
3,040 lexer.cpp
1,457 lexer.h
616 table_type.cpp
1,329 table_type.h
3,469 inst_type.h
4,776 Assembler0.dsp
83 fileformat.h
2,178 out.objt
1,254,400 Report.hwp - 제출용 문서
1,132 token_type.h
457 lineinfo.h
<DIR> Debug - 빌드된 폴더

1. 문제정의
2. 알고리즘
3. 결과
4. 결론

본문내용

[문제정의]

수업시간에 배운 16비트 CPU를 위한 어셈블러를 구현하라.

l 본 파일과 동일 폴더에 들어 있는 "어셈블리 정리.doc"에서 설명하고 있는 어셈블러를 제작하시오.
l 이전 수업 시간에 만들었던 어휘분석기인 lexer는 본 어셈블러에 맞추어 제작된 것이다. 따라서 그대로 사용해도 된다.
l 본 어셈블러와 수업 교재 6장에서 설명하고 있는 어셈블러 사이의 차이는 단지, HEX와 DEC의사 명령이 없어 숫자 데이터는 무조건 10진수로 취급한다는 것, 그리고 각 pass에서의 알고리즘이 다소 차이가 난다는 것 뿐이다. 따라서 교재의 설명을 참고 하여도 좋다.

[알고리즘]

① LC = 0
② "END"라인이 나올 때까지 구문분석을 하면서 다음을 반복
- 문장 처음에 <ID>, 가 나오면 (<ID>,LC값) 쌍을 심볼 테이블에 저장.
- 분석한 라인이 ORG 수도 명령 문장인 경우: LC를 ORG 다음에 나오는 숫자로 set
- 분석한 라인이 메모리 참조 명령(MRI)인 경우:
* 라인 인포(LineInfo)를 다음과 같이 구성한 다음 이를 리스트에 저장.
LineInfo.lineNo = 현재 라인 수
LineInfo.type = 1
LineInfo.op_code = 해당 명령의 op-code값
...
*원하는 자료를 검색 해 보세요.
  • [java 프로그래밍] 자바로 짠 어셈블러 1페이지
    import java.util.*;import java.io.*;class Node {private String symbol = null; //단어이름private int line = 0; //라인 숫자private Node next = null; ..
  • [컴퓨터구조] 어셈블러 7페이지
    자바로 만든 어셈블러 입니다. 실제로 돌아가는것은 아니고 가상으로 만들어서 표현한 것입니다. 교수님께서 이런 숙제 내셨으면 어렇게 하세요... 완전한 것은 아니고요... 도움이 되셨으면 좋겠네요...그런데 시간이 없어서 얼마 걸리지 않게 만든거라서요...좋은지 모르..
  • [프로그래밍]c로 구현한 어셈블러 20페이지
    struct table_name{ char name[10]; //심벌을 저장 int value; //상대주소 저장 int length; //명령어 길이 char R_A;//재배치 여부 struct table_name *next;}ta..
  • 마이크로프로세서 시계&계산기 구현 0페이지
    마이크로프로세서의 final project에서 시계와 계산기를 구현한 소스이다. 실행은 i8086emul프로그램으로 할 수 있다. 총 모드를 5가지로 나누었다. 첫번째모드에서는 단순히 시계의 작동이다. 0시0분0초에서 시작되며 시작부분에서 바로 시계수정이 가능하다. 두..
  • [시스템 프로그래밍]C로 구현한 심플 어셈블러 0페이지
    개발 후기Pass1과정이 거의 끝나고 pass2에서 심볼과 리터럴 테이블에서 값을 불러와야 하늗데 END명령어를 넣고 나면 symbol table의 값이 지워지는 현상발생.한참을 해메다 결국 찾아낸 해법은 END명령어 다음에 ENTER키를 치지 않아서 문자열의 끝을 몰..
  • SIC/XE 어셈블러 C로 구현 0페이지
    후회없는 선택100% 완벽 구현프로그래밍언어를 사용하여 가상으로 만들어진 register와 memory를 토대로 하는 virtual loader를 구현하는 것이다. 그리고 메모리 상의 기계어들이 실행됨에 따라 register와 memory의 상태가 갱신되고, 그 내용을..
  • [프로그래밍] c로 구현한 어셈블러 8페이지
    1.문제분석 - 레지스터 참조 인스트럭션 즉 RRI와 메모리 참조 인스트럭션(MRI)을 구분하는 부분이 필요하다. - MRI로 들어왔을때 indirect 모드인지 아닌지 구분해줘야한다. - ADD이외의 나머지 machine instruction을 define해주..
더보기
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      상세하단 배너
      최근 본 자료더보기
      상세우측 배너
      추천도서
      [컴퓨터구조] C++ 16bit 어셈블러 제작 (LEXER 포함)