[시스템프로그래밍] SIC 어셈블러(JAVA)

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

소개글

자바로 직접 짰습니다.
완전히 잘 돌아갑니다.
sourceprogram, opcode 도 같이 압축했습니다.
절대 어려운 소스가 아닙니다.
주석완전히 다 달아놨슴다...^^

목차

1. 개 요
교재의 알고리즘인 2pass를 기준으로 하였다.
1pass 이후에는 보통의 경우와 같이 LOC 와 Symboltable 이 생성된다.
2pass 에서는 다른 프로그램과 달리 templine 이라는 파일이 생성되는데
이는 길이를 측정하기 위해 임시로 목적프로그램의 한 라인을 따로 기록하는 곳이다.


2. 함 수
필요한 함수는 만들어서 사용하였다.
사용된 함수는 다음과 같다.
compare(String a) : opcode에 해당 명령어가 존재하는지를 boolean 으로 반환
compare2(String a) : 해당 symbol 이 존재하는지를 알아보는 함수
line(int a) : 임시파일의 해당(a) 라인을 읽고 그 라인의 길이와 그 라인을 더해서 스트링을 반환하는 함수
contrast2(String a,String filename) : 해당(filename) 파일을 읽으면서 해당(a) 스트링을 첫음절에서 찾고 다음 음절을 반환하는 함수
make_1(String a) : 스트링의 첫음절을 반환하는 함수
make_2(String a) : 스트링의 두 번째 음절을 반환하는 함수
make_3(String a) : 스트링의 세 번째 음절을 반환하는 함수
div(String line) : 한 라인을 각 필드로 나누는 함수

3. 기 타
개인컴퓨터에서 KAWA java 편집기를 사용하였으며 jdk1.3.1 의 환경에 했습니다.

본문내용

import java.io.*; // 파일 입출력을 위한 패키지

public class Assem // 메인 메소드가 있는 클래스
{
public static int symbol_error_flag = 0; // 패스1에서 에러체크를 위한 변수
public static int opcode_error_flag = 0;
public static void main(String argv[]) throws IOException // 메인 메소드
{
Read r = new Read(); // Read class 타입의 객체 r 생성
r.pass1("sourceprogram.txt"); // 객체 r 의 pass1 실행(호출)
if(symbol_error_flag == 0 && opcode_error_flag == 0) //패스1이후에러가없으면
{
System.out.println("!!!!!!!PASS1 OK!!!!!!!");
r.pass2("sourceprogram.txt"); // pass2 실행
}
else
System.out.println("ERROR!!!"); // pass1에서 에러 체크되면 에러메시지..
}
}

참고 자료

SYSTEM SOFTWARE
Leland L. Beck 저
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서