레벨 I BASIC
Level 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]지원되었습니다.
레퍼런스
- ^ "NIBL". Dr. Dobb's Journal of Computer Calisthenics & Orthodontia, Running Light Without Overbyte. 1 (10). November 1976.
- ^ Lorenzo, Mark (2017). Endless Loop: The History of the BASIC Programming Language. Philadelphia: SE Books. p. 80. ISBN 978-1974-27707-0.
- ^ Welsh, David; Welsh, Theresa (2007). Priming the Pump: How TRS-80 Enthusiasts Helped Spark the PC Revolution. p. 7.
- ^ Reed, Matthew. "Level I BASIC". TRS-80.org. Retrieved 27 August 2017.
- ^ "Interview with Steven W. Leininger". TRS-80.com. Retrieved 28 August 2017.
- ^ Thomas, Wes (Sep–Oct 1977). "Radio Shack's $600 Home Computer". Creative Computing. 3 (5): 94–95.
- ^ Reed, Matthew. "Was there a Level I Model III?". TRS-80.org. Retrieved 27 August 2017.
- ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 232–233. Retrieved 2 November 2017.
- ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 123–132. Retrieved 2 November 2017.
- ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 216–220. Retrieved 2 November 2017.
- ^ Lien, David (1977). User's Manual for Level I (First ed.). Fort Worth, TX: Tandy Corporation. pp. 105–108, 137. Retrieved 9 August 2020.
외부 링크
- TRS-80 Level I BASIC
- Conklin Systems - He Changed Our World - Level I Basic 사용자 매뉴얼의 컴퓨터 개인화에 경의를 표합니다.