레벨 I BASIC

Level I BAS
레벨 I BAS
설계자스티브 라이닝어
처음 등장한1977
영향을 받다
Tiny BASIC, Palo Alto Tiny BASIC
영향받은
TRS-80 레벨 II 베이직

레벨 I BASIC은 최초의 TRS-80인 TRS-80 모델I에 부속된 BASIC 프로그래밍 언어의 방언입니다.

배경

탠디 사원인 Steve Leiner는 National Semiconductor에서 [1]근무 SC/MP용 NIBL(National Industrial Basic Language) BASIC 통역사의 초안을 작성했습니다.소스코드를 가져갈 수 없었기 때문에 처음에는 통역사를 고용했습니다.이 계약자가 납품에 [2]실패하자, 그는 TRS-80 모델 I의 오리지널 프로토타입에 Li-Chen Wang의 퍼블릭 도메인 버전인 Tiny BASIC을 개조했습니다.이를 위해 인터프리터에 필요한 메모리는 2KB에 불과했고, 초기 머신의 일반적인 4KB 메모리 레이아웃에 있는 사용자 프로그램에 평균 2KB의 빈 용량이 남아 있었습니다.

탠디사당시 사장 찰스 탠디는 임원들에게 시연하는 동안 그의 급여를 입력하려 했으나 입력하지 못했다.이는 Tiny BASIC이 최대 32,767의 2바이트 부호 정수를 사용했기 때문입니다.그 결과 프로덕션 [3]버전의 부동 소수점 산술이 요구되었습니다.

이로 인해 기존 16비트 정수 코드가 32비트 단정도 부동소수점 숫자를 사용한 버전으로 대체되었습니다.라이닝어는 입력/출력 루틴(키보드, CRT, 카세트에서 읽고 쓰기)을 지원하도록 언어를 확장했습니다.언어는 [4]ROM의 4KB 이내입니다.

레이닝어는 TRS-80을 발표하는 프레젠테이션에서 "우리가 한 일은 Wang Basic을 통해 약 60%의 정수 오버헤드 등을 완전히 [5]제거했습니다."라고 말했습니다.

추가 개발

TRS-80이 도입되었을 때 BASIC의 3가지 버전이 발표되었습니다.

  • 레벨 I BASIC
  • Level II BASIC - Microsoft가 개발한 12KB의 ROM을 사용하여 문자열 처리, 오류 처리, 삼각법 및 기타 전용 함수를 추가
  • 레벨 III 베이직 - 마이크로소프트도 개발하여 디스크[6] 명령어 제공

레벨 I 언어는 TRS-80 모델 II에서는 사용할 수 없었지만 1981년에 TRS-80 모델 III의 베이스라인 패키지로 다시 등장하여 모델 III BASIC(마이크로소프트 제품)을 탑재한 999달러 시스템에 비해 699달러에 판매되었습니다.언어는 모델 I 버전과 동일하지만 프린터에 [7]출력하기 위해 LLIST와 LPRINT라는2개의 명령어가 추가되었습니다.

언어 기능

레벨 I BASIC은 다음 [8]키워드를 지원했습니다.

  • 명령어:NEW,RUN,LIST,CONT(중단점부터 프로그램을 계속 또는 재개하다)
  • 스테이트먼트:PRINT,INPUT,READ,DATA,RESTORE,LET
  • 인쇄 한정자:AT,TAB
  • 구조:GOTO,GOSUB,ON-GOTO,ON-GOSUB,RETURN,IF-THEN(단, 아닙니다)ELSE),FOR-TO-STEP/NEXT,STOP,END
  • 그래픽스:CLS,SET,RESET,POINT()
  • 기능:ABS(),INT(),RND(),MEM
  • 산술:+ - * /
  • 관계 연산자:< > = <= => <>
  • 논리 연산자:*(그리고)+(또는)

베이스가 된 Palo Alto Tiny BASIC과 마찬가지로 Level I BASIC은 Microsoft BASIC과 같은 키워드를 토큰화하지 않고 키워드에 의해 사용되는 메모리의 양을 줄이기 위해 약어를 사용했습니다.F.위해서FOR,G.위해서GOTO,P.위해서PRINT,그리고.T.위해서THEN.

이 언어에서는 26개의 단정도 변수 A ~Z, 2개의 문자열 A$ 및 B$(각각 16자로 제한) 및 1개의 사전 정의된 배열 A()가 지원되었습니다.이 언어에는 어레이의 치수를 지정하기 위한 DIM 문장이 없습니다.DIM 문장의 사이즈는 프로그램 리스트에서 사용되지 않는 메모리(항목당 [9]4바이트)에 의해 결정됩니다.언어에는 많은 공통 수학 함수가 부족했기 때문에 매뉴얼은 제곱근,[10] 지수, 지수, 로그, 산술 부호, 삼각함수대한 서브루틴 목록을 제공했습니다.

그래픽스 지원은 가능한 한 최소 세트였습니다.CLS, CLear 화면용.SET(X,Y)디스플레이의 위치를 표시했습니다.RESET(X,Y)그 결과 전원이 꺼졌습니다.POINT(X,Y)로케이션이 점등되어 있는 경우는 1, 점등되어 있지 않은 경우는 0이 반환됩니다.좌표는 임의의 표현식이 될 수 있으며 X축의 경우 0 ~ 127, Y축의 경우 0 ~ 47의 범위입니다.흑백 디스플레이만 [11]지원되었습니다.

레퍼런스

  1. ^ "NIBL". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte. 1 (10). November 1976.
  2. ^ Lorenzo, Mark (2017). Endless Loop: The History of the BASIC Programming Language. Philadelphia: SE Books. p. 80. ISBN 978-1974-27707-0.
  3. ^ Welsh, David; Welsh, Theresa (2007). Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution. p. 7.
  4. ^ Reed, Matthew. "Level I BASIC". TRS-80.org. Retrieved 27 August 2017.
  5. ^ "Interview with Steven W. Leininger". TRS-80.com. Retrieved 28 August 2017.
  6. ^ Thomas, Wes (Sep–Oct 1977). "Radio Shack's $600 Home Computer". Creative Computing. 3 (5): 94–95.
  7. ^ Reed, Matthew. "Was there a Level I Model III?". TRS-80.org. Retrieved 27 August 2017.
  8. ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 232–233. Retrieved 2 November 2017.
  9. ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 123–132. Retrieved 2 November 2017.
  10. ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 216–220. Retrieved 2 November 2017.
  11. ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 105–108, 137. Retrieved 9 August 2020.

외부 링크