본문 바로가기
Department/System software

시스템 소프트웨어 과제#5

by mean. 2020. 7. 14.
728x90
반응형

EXERCISES Section 8.2

Do Problem 1:

Write a complete set of input specifications for a SIC assembler, as described in Section 2.1. You may make any decisions about requirements that you feel appropriate.
(2.1 절에서 설명한대로 SIC 어셈블러에 대한 전체 입력 사양 세트를 작성하십시오. 적절하다고 생각되는 요구 사항에 대한 결정을 내릴 수 있습니다.)


입력명세

1. 원리 프로그램 문장의 레이블은 문장의 첫 번째 열에서 시작해야 한다. 연산자 필드는 레이블 필드와 한 개 이상의 공백으로 분리된다. 레이블이 없는 경우에 연산자 필드는 첫 번째 열 이후의 어떤 열에서 시작해도 된다.

2. 레이블은 1~6문자로 구성된다. 첫 문자는 영문자(A~Z)이어야 한다. 나머지 문자들은 영문자 이거나 숫자(0~9)이면 된다.

3. 연산자 필드는 SIC 기호 명령 코드 이거나 BYTE, WORD, RESB, RESW, START, END등의 어셈블러 지시자여야 한다.

4. 명령의 피연산자는 기호(프로그램에서 레이블로 나타나는)이거나 실제 기계의 주소를 나타내는 16진수이다. 주소를 나타내는 16진수는 0으로 시작하고 (기호와 구분하기 위해) 0부터 0FFF까지의 값이어야 한다.

5. BYTE지시자의 16진 문자열 피연산자는 X'hhh..... 이어야 한다. h16진수 한자리(0~9거나 A~F)를 나타내는 문자이다. 16진 숫자는 짝수개 여야한다. 문자열의 최대 길이는 32자리 (메모리의 16바이트를 나타내는)이다.

6. 원시 프로그램은 500개의 레이블을 가질 수 있다.


출력명세

7. 어셈블리 리스트는 위치 계수기의 값과, 생성된 목적 코드, 그리고 오류 메시지와 함께 원시 프로그램의 문장(주석문까지 포함하는)을 포함한다.

8. 목적 프로그램은 16진수 FFFF보다 큰 주소를 가질 수 없다.

9. 어셈블러의 오류가 검출되면 목적 프로그램은 생성되지 않는다.


품질명세

10. 이 어셈블러는 1초당 적어도 50개의 원시문장을 처리할 수 있어야 한다.

11. 전문적인 SIC프로그래머는 처음으로 이 어셈블러를 사용할 때 아무런 도움 없이 오류 메시지의 적어도 90%는 이해가 가능해야 한다.

12. 어셈블러는 원시 프로그램을 처리할 때 전체 수행의 0.01%미만의 실패율만을 가져야한다.

 

 

728x90
반응형