[시스템 프로그래밍]Java로 구현한 SIC_Assembler 와 MacroProcessor
- 최초 등록일
- 2005.10.30
- 최종 저작일
- 2005.10
- 압축파일
- 가격 10,000원
소개글
시스템 프로그래밍 수업때 배우는
SIC_Assembler와 MacroProcessor 소스 입니다.
무려 2개의 완벽한 소스가 들어있습니다.
주석도 확실히 달아서 Java조금만 공부하신 분이면
쉽게 이해하실수 있습니다.
컴파일 실행환경
jdk1.4.2 / eclipse
본문내용
/* 이 클래스는 이 프로그램의 실행 클래스로서 프로그램이다. 진행순서는
* 파일을 읽어와서 Pass1, Pass2를 실행하고, 마지막으로 obj파일을 작성함으로써 끝난다.
* 필요한 static 변수들은 모두 여기에 정의하였다.
* 그리고 asm파일에서 label은 그 문장의 처음에 공백없이 써야 되고
* label이 없을경우 mnemonics는 반드시 문장의 처음에 공백이 있어야 된다.*/
public class Main {
static int fileTotalLine; //파일의 전체 줄수를 나타냄
static int programPresentAddress; //지금 읽은 줄의 현재 주소를 나타냄
static int lineCounter; //한 줄을 읽을때마다 증가함. 파일의 읽은 줄 수를 나타냄.
static int programAddressLength; //프로그램의 전체 주소 길이
static String programName = ""; //이 프로그램의 이름
static String startLabelName = ""; //이 프로그램의 시작 Label을 나타낸다.
public static void main(String[] args) {
//프로그램 실행시 인자를 입력하지 않을 경우
if(args.length == 0) {
System.out.println("[Usage] : Java Main Filename.asm");
System.exit(1);
}
Etc etc = new Etc();
//asm파일을 읽어오기 위한 객체
PassOneFileManager pofm = new PassOneFileManager(args[0]);
//읽어온 파일의 전체 줄 수를 계산한다. fileTotalLine에 입력
etc.fileLineCount(args[0]);
//파일의 줄 수 만큼 String 배열객체를 생성한다.
String[] oneLine = new String[fileTotalLine];
//각강의 String 객체를 생성한다.
for(int i=0 ; i<fileTotalLine ; i++) {
oneLine[i] = new String();
}
lineCounter = 0;
//SymbolTable을 생성하기 위한 PassOne 객체를 만든다.
압축파일 내 파일목록
MacroProcessor.zip
SIC_Assembler.zip
참고 자료
없음