SIC 어셈블러 발표

Download Report

Transcript SIC 어셈블러 발표

2007011126 손용석
SIC 어셈블러 발표
SIC 소스 환경
 1-8





: Label
9 : Blank
10-15 : Operation code
16-17 : Blank
18-35 : Operand
36-66 : comment
Pass 1
 프로그램내의 모든 문에 주소를 배정.
 패스 2에서 사용하기 위해 모든 레이블에 배
정된 주소 값들을 지정
 어셈블러 지시자들에 관련된 처리를 부분적
으로 행함
Pass 1
Intfile
 Pass1 에서 생성
 원시프로그램과 함께 배정된 주소, 오류 플
래그 등을 포함
 패스2에서 입력으로 사용
Pass 2
 명령어를 어셈블함 (연산자 코드를 번역하
고 주소를 조사함)
 BYTE, WORD 등으로 정의되는 데이터 값을
생성
 패스 1동안에 이루어지지 않는 어셈블러 지
시자를 처리함
 목적 프로그램과 어셈블러 리스트를 출력
Pass 2
Objfile
 헤더 레코드
 1
:H
: 프로그램 이름
 8-13 : 목적 프로그램의 시작주소 (16진수)
 14-19 :
 2-7
바이트로 표시된 목적 프로그램의 길이(16진수)
Objfile
 텍스트 레코드
 1 :T
 2-7 : 레코드에 포함될 목적코드 시작주소
(16진수)
 8-9 : 바이트로 나타낸 이 레코드의 길이
(16진수)
 10-69 : 16진수로 나타낸 목적코드
(목적 코드 1바이트 당 2개의 열)
Objfile
 1:E
 2-7 :
목적 프로그램 중 첫 번째로 실행될 명령어의
주소(16진수
Objlist
 원시프로그램에 목적코드가 포함된 형태
 사용자들이 원활하게 목적 프로그램을 이해
할 수 있게 도움을 줌.
개발 시 주의사항
 파스칼 소스를 분석 시 처음부터 따라가는
방식이 아니라 함수의 호출 순서를 따라서
구현을 하는 것이 훨씬 더 편리합니다.
 한 번에 다 작성을 하는 것이 아니라 각 함수
를 정의하고 중간 중간에 컴파일을 하여 에
러를 잡는 것이 더욱 원활합니다.
개발 시 주의사항
 Fopen, strcpy와 같은 특정 함수가 6.0 시절
에서는 사용이 가능하였으나 2008부터 안전
성에 문제가 있다고 판단
 Fopen_s, strcpy_s로 사용할 것을 권함.
 호환성의 문제로 인해 warning이 출력되나
크게 문제 될 사항은 아님.
감사합니다.