KR950006618B1 - 계산기내의 계산 스택 회복 장치 및 방법 - Google Patents

계산기내의 계산 스택 회복 장치 및 방법 Download PDF

Info

Publication number
KR950006618B1
KR950006618B1 KR1019870014751A KR870014751A KR950006618B1 KR 950006618 B1 KR950006618 B1 KR 950006618B1 KR 1019870014751 A KR1019870014751 A KR 1019870014751A KR 870014751 A KR870014751 A KR 870014751A KR 950006618 B1 KR950006618 B1 KR 950006618B1
Authority
KR
South Korea
Prior art keywords
data
stack
operator
storing
containment
Prior art date
Application number
KR1019870014751A
Other languages
English (en)
Other versions
KR880008152A (ko
Inventor
씨. 윅크스 윌리엄
더블유.그로드 로렌스
Original Assignee
휴렛트-팩카드 캄파니
디. 크레이그 노들런드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛트-팩카드 캄파니, 디. 크레이그 노들런드 filed Critical 휴렛트-팩카드 캄파니
Publication of KR880008152A publication Critical patent/KR880008152A/ko
Application granted granted Critical
Publication of KR950006618B1 publication Critical patent/KR950006618B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Calculators And Similar Devices (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

내용 없음.

Description

계산기내의 계산 스택 회복 장치 및 방법
제1도는 본 발명의 양호한 실시예에 따른 계산장치의 키보드 및 표시기를 도시한 도면.
제2도는 제1도에 도시한 계산장치의 내부 쉽-레벨 구조를 도시한 도면.
제3도는 제1도에 도시한 계산장치의 등속 호출 메모리 형태를 도시한 도면.
제3a도 내지 제3i도는 식의 입력, 조작 및 평가를 단계적으로 사용자에게 보여주는 표시기를 도시한 도면.
제4도는 계산기의 사용자 인터페이스의 논리 실행을 나타내는 플로우챠트.
제5도, 제6도, 제7a도 및 제7b도는 제4도의 키부의 확대도.
제8도는 본 발명의 RPN 실시예에 따라, 데이타 스택이 비축될 때는 도시한 플로우챠트.
제9a도 내지 제9g도는 제8도에 도시한 바와 같은 RPN 실시예에 따른 데이타 스택 및 예비 데이타 스택의 내용을 도시한 도면.
제10도는 본 발명이 non-RPN 실시예내에서 어떻게 실행될 수 있는가를 나타내는 플로우챠트.
제11a도 내지 제11f도는 제10도에 도시한 바와 같은 non-RPN 실시예에 따른 데이타 스택, 예비 데이타 스택, 연산자 스택 및 예비 연산자 스택의 내용을 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
14 : 대수 커서 15 : 메뉴 레이블
100 : 계산장치 103 : 표시기
104 : 다기능 키 105 : ENTER 키
106 : 신호 표시기 상부 라인 107 : 쉬프트 키
108 : 사용자 메뉴키 109 : NEXT키
110 : 적외선 발광 다이오드 111 : ON키
113 : LOGS 키 201 : 중앙 처리 장치
202 : 키보드 203,204 : ROM
205,206 : RAM 207,208 : 문자라인
302 : 오브젝트 영역 304 : 자유 메모리 영역
305 : 데이타 포인터 스택 메모리 309 : 키 맵 메모리 영역
310 : 변수 메모리 401 : 외부 루우프
412,701 : 스택 라인 901 : 기본 데이타 스택
902 : 예비 데이타 스택 1101 : 연산자 스택
1102 : 데이타 스택 1103 : 예비 연산자 스택
1104 : 예비 데이타 스택
본 발명은 계산기(calculator)용 에러 회복(error recovery) 장치 및 방법에 관한 것이다. 전형적으로, 과거에는, 계산기용으로 유용한 최소 에러 보정(error correction)만이 있었다.
에러 보정의 일례는 표시기 내의 최종값이 재호출(recall)될 수 있는 휴렛트-팩카드 캄파니(Hewlett-Packard Company) 모델 41C계산기 상에서 발견된다. 이 계산기는 “X”레지스터 및 “최종(last) X” 레지스터를 갖는다. X레지스터의 내용은 표시된다. 최종 X레지스터는 기능 실행 전에 X레지스터의 내의 최종값인 값을 보존한다. 최종 X레지스터의 내용을 표시된 X레지스터내에 다시 배치시키기 위해, “최종 X”기능키가 압압될 수 있다.
상기 에러 보정 기법은, 어느 정도의 레벨을 제공하지만 기능이 1개 이상의 레지스터 상에서 동작할 때 에러 보정을 허용하지 못한다. 그러므로, 1개 이상의 레지스터를 사용하여 연산을 수행할 수 있는 계산기의 경우에, 더욱 광범위한 에러 보정 기법이 바람직하게 된다.
본 발명의 양호한 실시예에 따르면, 계산기내의 계산 스택의 회복 장치 및 방법이 제공된다. 계산시에 사용될 연산자 및 데이타 격납용 스택을 사용하는 계산기내에서 계산이 수행되기 전에 스택들의 내용을 격납시킬 준비가 행해진다. 계산이 수행된후, 사용자가 계산을 “취소(undo)”하고자 하면, 사용자는 “undo”키를 누를 수 있다. 이때, 스택들의 초기 상태는 복원(restore)된다.
식의 계산을 취소할 능력은 소정의 현재 사용자 스택 배양(oriented) 수학적 계산 장치에 유용한 것보다 우수한 에러 회복 시스템이다. 이것은 우연적 또는 부정확한 키압압 또는 코맨드(command) 실행의 영향을 완전히 제거한다. 또한, 이것은 계산기 사용자가 각각의 연산용 모든 인수(argument)를 재입력시킬 필요없이 동일한 인수셋트에 각각 적용된 연속 연산의 응용을 허용한다. 일반적으로, 이것은 적용된 코맨드의 특성, 대응 인수 및 결과의 수 또는 형태, 또는 스택상에 존재하는 오브젝트(object)의 총수에 무관하다.
이하, 첨부도면을 참조하여 본 발명에 대해서 상세하게 기술하겠다.
제1도내에는, 제1부(section,101) 및 제2부(102)를 갖고 있는 계산장치(100)이 도시되어 있다. 제1부(101)은 영ㆍ숫자 기호를 입력시키기 위한 키들을 포함하는 다수의 키를 포함한다.
제2부(102)는 표시기(103)을 포함한다. 양호한 실시예내에서, 표시기(103)은 각각 23개 문자의 4개 라인(line)을 표시하는 액정 도트 에러이 표시기(liquid crystal dot array display)이다. 또한, 표시기(103)은 오브젝트 실행 및 연산의 다수의 계산기 모우드를 표시하기 위해 각각 사용되는 신호 표시기(annunciator)(도시하지 않음)의 상부 라인(106)을 포함한다.
또한, 제2부는 레이블(label)된 바와 같은 숫자 키 및 기능 키를 포함하는 다수의 키를 포함하다. ENTER키(105)는 영ㆍ숫자 문자 엔트리를 종료시키고 엔트리 처리를 개시하기 위해 사용된다(제7a도 및 제7b도 참조). 쉬프트(shift) 키(107)는 압압된 다음(next) 키가 이 키 상에 레이블된 바와 같은 정의를 실행하게 하도록 작용한다.
또한, 제2부(102)는 기능 또는 변수값을 관련시킬 수 있는 6개 다기능 키 행(row)(104)를 포함한다. 다기능 키의 현재 정의는 이 키들 상에 직접 표시된 메뉴 레이블에 의해 표시기(103)의 최 저부 문자 행 내에 표시된다.
제1 및 제2부(101 및 102)는 6개의 메뉴 서브그룹내의 관련된 계산기 기능의 그룹(메뉴)들을 다기능 키(104)에 지정하는 다수의 키를 포함한다. 각각의 계산기 기능에 대한 메뉴 레이블은 각각의 키(104) 상에 표시된다. 사용자 변수를 다기능 키(104)에 자동적으로 지정하는 USER메뉴 키(108)이 포함된다. NEXT 키(109)는 다기능 키 지정이 현재 메뉴내의 6가지 기능의 다음 그룹으로 진행하게 된다. 이 키(109)의 쉬프트된 기능 PREV는 이전의 6가지 기능을 재작동 시킨다.
또한, 제2부(102)는 데이타를 대응 수신기, 전형적으로 프린팅 장치로 전송하기 위해 사용되는 적외선 발광 다이오드(110)을 포함한다.
ON키(111)은 사용자가 계산기를 턴온 또는 턴오프하게 하고, 계산기가 온 상태일때 정상 계산기 동작을 인터럽트(interrupt)하게 하는 특수 인터럽트키이다.
본 발명의 설명내에서, 오브젝트로 불리워진 각각의 수학적 또는 논리적 엔트리는 무한 크기의 후입 선출(last in first out) 스택상에서 표시 및 조작되는 것으로 기술된다. 계산기 동작은 스택상의 오브젝트의 평가를 중심으로 한다. 오브젝트는 데이타, 명칭(name) 또는 절차(procedure)일 수 있다. 데이타 오브젝트는 특수한 아무것도 행하지 않고(이들이 바로 데이타임), 명칭 오브젝트는 다른 오브젝트라고 불리워지며, 절착 오브젝트는 정의 내의 오브젝트 및 코맨드를 처리한다. 이 계산 동작 시스템의 원리는 1986.5.30일자 출원되고 본 발명의 양수인에게 양도된 “Data Processing System and Method for the Direct and Indirect Execution of Uniformly Structured Objects Types”란 명칭의 미합중국 특허 출원 제868,978호에 기술되어 있다.
참조로 한 시스템내에서, 균일하게 구성된 오브젝트들은 오브젝트 메모리 내에서 오브젝트 포인터(pointer)와 공정하게 혼합된다. 이 오브젝트들은 메모리내의 오브젝트 실행 순차의 프롤로그를 어드레스한다. 오브젝트 포인터는 다른 오브젝트를 어드레스한다. 오브젝트들은 직접 또는 간접 어드레스되는지 적합하게 평가된다. 포인터는 오브젝트 또는 오브젝트 포인터를 선택적으로 포인트 또는 어드레스 한다.
오브젝트가 포인터에 의해 직접 어드레스되면, 메모리내의 오브젝트의 어드레스의 어드레시(addressee)가 어드레스되어, 오브젝트 실행 순차를 개시한다.
오브젝트가 간접 어드레스되면, 포인터는 오브젝트 포인터를 어드레스한다. 오브젝트 포인터는 오브젝트를 어드레스한다. 메모리내의 오브젝트 어드레스는 어드레스되어 오브젝트 실행 처리를 개시한다.
더욱 상세하게 말하자면, 본 발명내에 사용된 오브젝트 실행 처리는 실행 순차내에 공평하게 포함되는 오브젝트와 오브젝트 포인터를 정확하고 자동적으로 평가한다. 오브젝트들은 모든 오브젝트들이 직접 또는 간접적으로 공평하게 실행되도록 균일한 구조로 이루어진다. 상이한 형태의 오브젝트들은 여전히 균일하게 구성된다. 각각의 오브젝트는 최소한 플로로그 어드레스부 및 본체부(body)로 구성된다. 이 2개의 부분은 메모리내에서 인접되어 있다. 프롤로그 어드레스는 오브젝트의 실행을 기술하는 메모리내의 프롤로그를 어드레스한다. 본체부는 데이타이다. 오브젝트는 프롤로그 어드레스가 포인트 또는 어드레스되는 경우에 포인트 또는 어드레스된다.
오브젝트는 단일 오브젝트 또는 복합 오브젝트로 될 수 있다. 본체부가 연속 오브젝트 및 오브젝트 포인터이면, 오브젝트는 복합 오브젝트이다.
오브젝트의 직접 실행시에, 번역기(interpreter) 포인터라고 부르는 포인터는 오브젝트의 프롤로그 어드레스를 포인트한다. 이 프롤로그 어드레스는 실행할 오브젝트를 직접 식별하는 메모리내의 오브젝트 실행이 프롤로그 어드레스한다. 오브젝트의 간접 실행시에, 번역기 포인터는 실행할 오브젝트인 오브젝트의 프롤로그 어드레스를 포인트 또는 어드레스하는 오브젝트 포인터를 포인트한다. 오브젝트 포인터가 메모리내의 프롤로그를 어드레스하지 않기 때문에, 실행할 오브젝트를 직접 식별하지 못한다. 프롤로그 어드레스는 메모리내의 오브젝트 실행의 프롤로그를 어드레스한다.
그러므로, 프롤로그 어드레스부 및 본체부를 각각 포함하는 오브젝트들 간의 구조를 균일하게 하고, 메모리내의 오브젝트 실행의 프롤로그를 제공하며, 번역기 포인터 및 오브젝트 포인터가 프롤로그 어드레스부를 포인팅함으로써 오브젝트를 선택적으로 식별할 수 있고, 번역기 포인터가 오브젝트 포인터를 포인트할 수 있는 오브젝트 포인터 및 번역기 포인터를 사용할때, 간단한 기술이 제공되어, 최소 처리 스텝(step)으로 직접 또는 간접 오브젝트 실행하기 위해 오브젝트와 오브젝트 포인터의 상호 혼합을 허용하게 된다. 이것은 프로그래밍을 단축시키고 메모리를 보존하여, 처리 오버헤드(overhead)를 상당히 감소시킨다.
[정의]
[데이타 오브젝트]
이 오브젝트들은 논리 유니트(unit), 즉 숫자 데이타, 문자열(character string), 및 오브젝트 리스트(list)로 취급된 데이타를 나타낸다.
[데이타 오브젝트]
Figure kpo00001
[명칭 오브젝트]
이 오브젝트들은 사용자 메모리내에 격납된 다른 오브젝트들을 명명한다. 국부 명칭은 절차에 의해 발생될 수 있고 절차가 평가를 완료했을때 자동적으로 삭제된다.
[명칭 오브젝트]
Figure kpo00002
[변수]
변수는 함께 격납되는 임의 오브젝트와 명칭의 결합물이다. 명칭은 변수의 명칭이 된다. 즉, 다른 오브젝트는 변수의 내용의 값이다. 이들은 사용자 메모리내에 함께 격납되어, 스택으로부터 분리된다. 변수들은 대부분의 계산기들 상에서 발견된 번호가 매겨진(numbered) 데이타 레지스터 및 프로그램 메모리를 교체시킨다.
[절차 오브젝트]
이 오브젝트들은 절차 오브젝트가 평가될때 처리되는 오브젝트 및 코맨의 절차-순차를 포함한다. 프로그램 오브젝트는 스택, 사용자 메모리 또는 계산기 모우드에 영향을 미치는 것들을 포함하는 소정 순차의 오브젝트 및 코맨드를 포함할 수 있다. 대수 오브젝트는 제한된 수의 오브젝트 형태 및 코맨드를 포함하고, 이것의 구문(syntax)는 수학적 식 및 방정식과 유사하다.
[절차 오브젝트]
Figure kpo00003
[프로그램]
프로그램은 코맨드 라인의 오브젝트 형태이다. 코맨드 라인내에 입력된 오브젝트 및 코맨드는 절차를 구성한다. 이 절차가 프로그램 분리문자(delimiter)에 의해 둘러싸여지면, 이것은 절차가 나중에 평가될 오브젝트로서 취급될 것이라는 것을 표시한다.
[식]
식은 통상적으로 수학적 형태에 대응하는 구문으로 입력되어 표시되는 수학적 식을 나타내는 절차이다. 식의 평가는 각각의 오브젝트를 스택상에 놓고 이것을 평가한다.
[방정식]
방정식은 등호 “=”에 의해 연결된 2개의 식이다. 방정식의 평가는 새로운 방정식을 발생시킨다. 새로운 좌측식은 최초 좌측식을 평가한 결과이다. 새로운 우측 식은 최초 우측식을 평가한 결과이다.
[코맨드]
코맨드는 프로그램내에 포함될 수 있는 내장 절차이다. 코맨드 라인내에 나타나는 것과 같은 코맨드명칭(예를 들어, DROP 또는 SIN)은 계산기내에 격납된 절차 오브젝트의 인용안된(unquoted)명칭으로 고찰될 수 있다.
[스택]
스택은 1개의 오브젝트를 각각 보유하는 연속 번호가 매겨진 레벨이다. 오브젝트는 레벨 1은 스택으로 입력되어, 스택내의 오브젝트를 더 높은 레벨로 상승시키게 된다. 또한, 오브젝트들은 레벨 1로부터 스택을 빠져나오게 하여, 스택상에 남은 오브젝트를 낮은 레벨로 강하시키게 된다. 모든 오브젝트들은 스택상의 오브젝트로 동일하고 간단하게 취급된다.
코맨드는 스틱내의 오브젝트들을 복사(duplicate), 삭제 및 재순서화(reorder) 시킨다. 몇가지 이 코맨드들은 키보드상에서 발견되고(DROP,SWAP,ROLL 및 CLEAR), 다른 것들은 STACK메뉴내에 있다.
대부분의 코맨드들은 스택으로부터 (인수라고 부르는) 입력 오브젝트를 취하고, 실행후 스택에(결과라고 부르는) 출력 오브젝트를 복귀시킨다. 인수는 코맨드가 실행되기 전에 스택상에 존재해야 한다. 코맨드는 이것의 인수를 제거하여, 이것들을 결과로 대체시킨다. 예를 들어, 기능 SIN은 레벨 1로부터 값(실수 또는 복소수, 또는 대수)를 취하고, 이것의 sine값을 계산하며, 그 결과를 레벨 1로 복귀시킨다. 기능 +는 스택으로부터 2개의 값을 취하고, 이들의 합을 스택에 복귀시킨다.
코맨드가 인수 다음에 오는 이 형태의 논리는 후위(postfix) 논리 또는 RPN(Reverse Polish Notation)이라고 불리워진다.
[신호 표시기]
Figure kpo00004
[오브젝트 엔트리]
키가 새로운 오브젝트를 입력시키기 위해 압압되면, 키상의 문자는 명령 라인내로 입력된다. 코맨드 라인은 텍스트(text) 형태로 표시된 소정수의 오브젝트를 포함할 수 있다. 이것은 표시기의 저부(존재시, 메뉴 레이블 바로 위)에 나타난다. 또한, 코맨드 라인은 EDIT 또는 VISIT가 기존의 오브젝트의 내용을 관찰하거나 변경시키기 위해 사용될 때 나타난다.
코맨드 라인의 내용은 ENTER(또는, ENTER를 자동적으로 수행하는 소정의 코맨드 또는 기능 키)가 압압될 때 처리한다. 코맨드 라인의 내용은 프로그램으로서 평가되고, 코맨드 라인은 표시기로부터 사라진다.
소정 수의 문자들은 코맨드 라인내에 입력될 수 있다. 이 라인은 “새로운 라인(newline)” 문자[라인-공급(line-feed)]를 현재 커서 위치에서의 코맨드 라인 열내에 삽입시키는 NEWLINE을 압압함으로써 몇개의 행으로 쪼개질 수 있다. 새로운 라인문자는 오브젝트 분리기(separator)로서 작용하지만, 코맨드 라인이 평가될 때 무시된다.
23개 보다 많은 문자들이 코맨드 라인내에 입력되면, 문자들은 표시기를 좌측으로 스크롤 오프(scroll off)시킨다. 생략 부호(...)는 표시되지 않은 문자를 표시하기 위해 최좌측 문자 위치내에 나타난다. 표시기의 좌측단부를 지나 커서를 이동시키면, 최좌측 문자는 표시기내로 다시 스크롤하고, 문자는 표시기를 우측으로 스크롤 오프시킨다. 이때, 생략 부호는 표시기의 우측 단부에 나타난다. 코맨드 라인이 다수의 텍스트행을 포함하면, 모든 행들은 모두 좌우측으로 스크롤한다.
제2도는 계산 장치(100)의 내부 칩-레벨 구조를 도시한 것이다. 중앙 처리 장치(201), 2개의 해독 전용 메모리(ROM, 203 및 204), 및 2개의 결합 표시기 구동기와 등속 호출 메모리(RAM, 205 및 206)은 메인 버스(204)에 결합되어 있는 것으로 도시되어 있다. 각각의 표시기 구동시는 액정 표시기(103)의 2개의 문자 라인(207 및 208)을 제어한다. 키보드(202)는 중앙 처리 장치(201)에 결합되어 있는 것으로 도시되어 있다. 키보드(202)는 2개의 키 부(101 및 102, 제1도)를 포함할 수 있지만, 접촉에 민감한 스크린(touch-sensitive screen)과 같은 데이타 엔트리의 선택적 형태를 나타낼 수 있다. 본 발명에 따른 이 시스템 및 이 시스템 소자들의 특수 구성 및 사용에 대해서는 본 설명이 전개됨에 따라 명백해진다.
제3도는 본 발명의 사용자 인터페이스를 원조하기 위해 ROM(203 및 204)내에 포함된 동작 시스템에 의한 RAM(205 및 206)의 사용 맵(map)이다. 본 명세서 및 상술한 바와 같은 참조한 특허 출원내에 사용된 오브젝트란 용어는 수학적 데이타 및 식, 프로그램 등을 포함하는 동작 시스템에 의해 원조된 소정의 다수의 데이타 형태를 나타낸다. 오브젝트는 ROM(203 및 204), 및 임시 오브젝트 영역(302) 또는 사용자 변수 영역(310)내의 RAM들 내에 존재할 수 있다. 제1도의 부분(101)은 오브젝트 형태, 이들의 기호, 및 오브젝트 형태의 예를 리스트한다.
예비 시스템 메모리(301)은 나머지 메모리 영역(302~310)을 식별하는 메모리 어드레스 및 다른 영구적으로 할당된 시스템 데이타를 포함한다.
임시 오브젝트 영역(302)는 계산기 사용중에 발생된 무명 오브젝트들을 포함한다.
복귀 스택 메모리 영역(303)은 계류중인 계산기 동작을 나타내는 오브젝트 순차에 대한 포인터를 구성하는 어드레스들의 후입 선출 스택이다. 이 스택은 메모리의 종료부(상위 어드레스)를 위해 커진다.
자유 메모리 영역(304)는 현재 사용되지 않는 메모리 영역이다.
데이타 포인터 스택 메모리 영역(305)는 오브젝트에 대한 포인터를 구성하는 어드레스의 후입 선출 스택이다. 본 발명의 사용자 인터페이스는 포인터 자체가 아닌 스택 포인터에 의해 포인트된 인간-해독가능한 형태의 오브젝트들을 표시한다. 데이타 포인터 스택 메모리(305)는 메모리의 개시부(하위 어드레스)를 위해 자유 메모리내로 커진다.
코맨드 라인 메모리 영역(306)은 텍스트 문자 형태로 사용자-입력 코맨드 및 데이타를 누산하기 위해 사용된 동적으로 지정된 사용자 메모리이다.
임시 주위환경 메모리 영역(307)은 본래 중간 결과 및 파라메터 페시지(passage)를 격납하기 위해 사용된 오브젝트들의 동적으로 지정된 링키드-리스트(linked-list)이다.
루우프 인덱스 메모리 영역(308)은 프로그램 구문(construct)을 루우프시키기 위해 개시 및 정지 인덱스를 절약하기 위해 사용된다.
키 맵 메모리 영역(309)는 각각의 키보드 키에 관련된 현재 기능을 정한다.
사용자 변수 메모리 영역(310)은 사용자에 의해 명백히 발생된 명명된 오브젝트(변수)를 포함한다.
제2도의 시스템의 특수 기능 뿐만 아니라 메모리의 억세싱과 기능 및 계산기의 표시는 다음과 같은 식 LN(2.3+1.0)의 엔트리, 조작 및 평가시에 검사된다. 제3a도 내지 제3i도를 참고하겠다.
1. [ON]키(111)을 압압. 표시기는 제3a도에 도시한 바와 같다. 표시기의 4개의 라인들은 상부로부터 저부까지의 내림차 순으로 스크린의 좌측상에 번호가 매겨져 있다.
2. [′]키(112)를 압압. 이 분리 문자는 오브젝트(명칭 및 대수)를 기호화한다. 표시기는 제3b도에 도시한 바와 같다.(제3a도에 도시한 바와 같은) 즉시 엔트리 모우드 내에서, 이것은 대수 엔트리 모우드를 개시 또는 작동시킨다. 대수 커서(14)는 분리 문자 옆에 표시기 스크린의 하부 좌측 코어(라인 1)내에 있다. 이 모우드 내에서, 대수 식내에 허용불가능한 연산에 대응하는 키를 압압하면, 키에 대응하는 연산이 실행된다. 대수 기능 키를 압압하면, 기능 명칭이 코맨드 라인에 가산된다. 기능(LN)이 LN(2.3+1.0)과 같은 괄호내의 인수를 취하면, 개 괄호가 추가된다. 라인 1 내지 4는 쉬프트 업되어 라인 1, 2 및 3만이 보이게 된다.
3. 쉬프트 키(107) 및 쉬프트 된 LOGS키(113) 압압. 표시기는 제3c도에 도시한 바와 같다. 각각의 메뉴 레이블(15)는 라인 1내에 표시된다. 대수 커서(14)는 라인 2로 올려지고, 라인 1 내지 4는 쉬프트 업되어 번호가 매겨진 라인 1 및 2가 보이게 된다.
4. LN압압. 이것은 메뉴 표시기내의 레이블 LN바로 밑의 메뉴 키(104)이다. 표시기는 제3d도에 도시한 바와 같다. 대괄호 또는 괄호가 우측에 표시되어 있는 기능 LN은 라인 2에 추가되고, 대수 커서(14)는 우측으로 쉬프트된다.
5. 식 2.3+1.0은 대응 표시 키를 순차적으로 작동시킴으로써 추가된다. 이 스텝들에 대응하는 표시들은 제3e도, 제3f도 및 제3g도내에 나타난다. 메뉴 레이블은 변화되지 않은 상태를 유지한다.
6. 다음에, 쉬프트 키(107) 및 쉬프트된 키(116)을 압압. 이것은 식의 종료부에 대괄호를 추가시켜(제3h도), 양(2.3+1.0)을 완료시키게 된다.
7. ENTER키(105)가 작동됨. 이것은 제3i도에 도시한 바와 같이 식을 표시기의 우측으로 전이시키고, 식을 표시기 스택의 저부에 입력시킨다. 커서(14)는 사라진다.
제4도, 제5도, 제6도, 제7a도 및 제7b도는 본 발명의 사용자 인터페이스의 논리 실행을 나타내는 플로우 챠트를 도시한 것이다. 제4도에 도시한 “외부(outer)루우프”는 사용자 상호작용의 최외부 레벨을 구성하는 엔드리스(endless) 루우프이다. 이 다이어그램내에 사용된 용어들은 다음과 같다.
1. 상부 외부 루우프 기능(401)은 루우프의 논리 개시부이다.
2. 저(low) 메모리 기능(402)는 가용 자유 메모리(304)가 정상 계산기 동작이 어렵게 될 정도로 작은 상태를 의미한다. 저 메모리 경고(401a)가 표시된다.
3. 스택 표시 기능(403)[메모리 영역(305)]는 데이타 스택 메모리 영역(305)로부터의 데이타 스택 오브젝트를 표시기(103)의 우측에 입력되는 사용자 해독 가능 문자에 제공한다. 이 스탭의 논리는 제5도 내에서 전개된다. 스택 변경 기능(403a)는 표시기를 초기화시킨다.
4. ENTER 기능(404)는 코맨드 라인(306)의 내용을 파싱(parsing) 및 실행시키는 동작을 뜻하는데, 이것은 소정의 즉시-실행 키, 특히 [ENTER] 키(105)를 압압함으로써 개시될 수 있다.
5. TRACE 기능(405)는 사용자-제어 계산기 모우드를 뜻한다. 트레이스(trace) 모우드가 작용되면, 모든 사용자 입력 및 계산기 결과들은 적외선 발광 다이오드(110)를 통해 프린트되기 위해 자동적으로 전송된다.
6. 상이한 실행 메뉴의 선택은 필요시에 사용자 관찰 및 상호작용용 새로운 메뉴 표시를 필요로 한다. 메뉴 변경된 판단 기능(406)은 새로운 메뉴 레이블 기능(407)을 표시한다. 코맨드 라인이 변화되면, 새로운 라인이 표시된다. 판단 기능(408)은 재표시 기능(409)를 개시한다.
7. 에러 판단 기능(410)은 계산기 동작의 정상 완료를 방해하는 소정의 계산기 수학적 또는 논리적 에러를 뜻한다. 이것은 에러 표시 기능(411)을 개시한다.
8. 가동중(busy) 표시 기능(407)은 라인(106)내의 이 표시기의 표시를 뜻한다. 이 표시는 계산기가 가동중이라는 것, 즉 새로운 키스트로크(keystroke)를 처리할 준비를 못한다는 것을 표시한다. 이것은 자동적으로 턴 오프된다.
9. 코맨드 스택 기능(411)은 후속 재사용을 위해 비축된 4개의 가장 최근의 코맨드 라인 엔트리들의 스택인 코맨드 스택 포인터를 갱신한다. 이들은 메모리 영역(306)내의 엔트리이다.
10. 처리 키 스텝(409)은 각각의 키 압압을 대기 및 처리한다. 이것은 제3도에 상세하게 도시되어 있다. 외부루우프는 새로운 키보드 입력을 대기하는 동안 이 단계에서 무한 대기할 수 있다.
제5도는 표시기 스탭 동작(403)의 논리를 도시한 것이다. 표시기(103)는 문자 데이타의 4개의 라인을 표시할 수 있다. 감소 우선 순위 순서로, 정상 표시기는 최하위 표시기 라인으로 시작하여, 다음과 같은 것을 포함한다.
1. 흑백(white-on-black) 문자로 나타난 메뉴 키 레이블들을 포함하는 0 또는 1개의 라인.
2. 현재 코맨드 라인 엔트리의 0 내지 4개의 라인.
3. 스택 오브젝트의 4개 까지의 라인.
제5도 내의 “윈도우(window)”(501,502)는 메뉴 레이블 라인 및 코맨드 라인 표시기의 존재에 의해 결정된 스택 오브젝트 표시기 용으로 유용한 표시기 부(1 내지 4개의 라인)를 표시한다. 스택 라인(503)의 수는 윈도우내에 유용한 라인들의 수이다.
유용한 스택 라인 수가 0미만이면, 표시는 통과된다.
1개 이상의 라인들이 유용하면 1개의 라인이 유용한 경우에 다음 오브젝트가 표시되기 위해 억세스된다.
결정 기능(504)내에서 언급된 제1도내의 이 쉬프트 키들의 작용에 의해 개시된 연산 편집(Edit) 및 비지트(Visit)는 내용이 사용자에 의해 편집될 수 있도록 오브젝트가 스택으로부터 코맨드 라인으로 카피(copy)되게 한다. 편집된 오브젝트가 코맨드 라인과 스택 표시기내에서 동시에 나타날 수 있으면, 오브젝트의 스택 표시기는 역비디오(invrse video)(흑백 기능)(505)로 나타난다.
기능(506)은 사용자 제어 다중 라인표시 모우드를 검사한다. 다중 라인 모우드가 작동중이면, 제1스택 오브젝트는 필요시에 1개 이상의 표시기 라인으로 나타난다[기능(507,501,508,509)]. 그렇지 않으면, 1-라인 형태로 나타난다. 모든 다른 스택 오브젝트들은 1개의 라인 상에 나타난다.
복귀 기능(510)은 표시를 스택으로 복귀시키는 제4도의 스텝(403)으로 복귀시키는 것이다.
제6도는 처리 키 스텝(414)의 논리적 플로우챠트를 도시한 것이다. GET KEY 스텝(601)은 실행 키 압압이 전자 장치에 의해 검출될 때까지 처리 흐름을 중지시키는 대기 상태이다. 이것은 오브젝트들이 코맨드 라인내에 입력될 수 있는 대수 모우드로 될 수 있다. 또한, 이 상태는 시스템 타이머 또는 [ON] 키(111)에 의해 발생된 전자 인터럽트에 의해 인터럽트 될 수 있다(602). 인터럽트는 시스템이 존재시에 코맨드 라인 커서를 명멸시키고 시스템 클럭을 갱신하게 한다.
작동 중인 다기능 키가 커서 이동 키이면, 다기능 키 압압은 기능(603)에 의해 검출되고, 커서 이동은 기능(604)에 의해 실행된다.
알파 모우드가 알파 모우드 기능(605)에서 결정된 바와 같이 작동되면 현재 키의 알파 모우드 정의는 실행 알파키 엉크션(unction)(606)에 의해 실행된다. 대부분의 키의 경우에, 이것은 키 명칭을 메모리내 및 표시기 상의 현재 코맨드 라인에 추가시키는 것을 의미한다.
대수 엔트리 모우드가 작동중, 즉 판단 기능(607)의 실행중이고, 기능(608)에서 결정된 바와 같이 현재 키가 문자 키이거나 대수 식 구문내에서 적합한 기능에 대응하면, 현재 키의 알파 모우드 정의는 실행 알파 키 기능(606)에 의해 실행된다.
알파 모우드도 대수 엔트리 모우드도 작동중이 아니면, 계산기는 스텝(609)에서 즉시 엔트리 및 실행 모우드내에 있다. 현재 키의 정의가 ENTER의 자동실행을 포함하면, ENTER순차(610)(제7a도 및 제7b도를 참조)이 실행된다. 최종적으로, 키의 즉시 엔트리 정의는 기능(611)에서 실행된다.
복귀(612)는 외부 루우프로의 복귀 스텝이다.
제7a도 및 제7b도는 ENTER동작 스텝(610)의 논리 실행에 대한 플로우챠트이다. ENTER처리의 개시시에, 제1도에 도시되어 있지 않지만 정의내에 참조된 표시기 라인(106)내의 작동중 신호 표시기(701)는 턴온된다. 이것은 모든 처리가 완료되고 계산기가 부수적인 사용자 입력을 대기한 후에 작동 중 신호 표시기(412)의 턴에 의해서만 클리어된다.
UNDO 엔에이블기능(702)는 계산기가 에러 회복을 위해 다른 처리전에 데이타 스택의 카피를 비축하게 된다는 것을 의미하는데, 스택 카피 비축 기능(703)이 개시된다.
스텝(704)은 스택 관찰 기능에 의해 변경된 경우에 상부 스택 표시기 카운터를 리세트시킨다.
스텝(705)내에서, 현재 키 압압에 대응하는 기능의 명칭은 TRACE모우드 프린팅을 위해 얻어진다. 코맨드 라인이 공백 상태이면, 판단 기능(706)은 TRACE판단 기능(707)을 개시한다. TRACE모우드가 엔에이블되면, 기능 명칭은 프린트된다. 기능 명칭 프린트 스텝(708)은 기능 명칭이 제1도의 적외선 발광 다이오드(110)을 통해 전송되게 한다.
코맨드 라인이 공백 상태가 아니면, 코맨드 라인 파스기능(709)에서 전체 코맨드 라인이 파스된다. 즉, 정확한 구문 검사가 행해진다. 구문 에러가 파스 에러 판단 기능(710)에서 검출되면, 코맨드 라인은 커서가 라인내의 에러의 위치에 있게 되는 기능(711)에 의해 복원되고, 구문 에러 메시지는 이 기능(711)에 의해 표시되어 제어가 외부루우프(401)의 상부로 복귀하게 된다.
코맨드 스택이 판단 기능(712)에 의해 엔에이블된 것으로 결정되면, 코맨드 라인 텍스트는 가능한 재사용을 위해 4-레벨 코맨드 스택내에 기능(713)에 의해 비축된다.
판단 기능(714,제7b도)에서, TRACE가 엔에이블되면 기능(715)는 코맨드 라인 내용 및 현재 키 기능 명칭이 프린트되기 위해 적외선 발광 다이오드(110)에 의해 전송되게 한다.
현재 ENTER가 정지 스택 오브젝트를 종료시키고 있으면, 판단 기능(716)은 스택으로부터 이 오브젝트를 드롭(drop)시키기 위해 기능(717)을 개시한다. 다음에, EDIT ENDED결정(718)이 행해진다.
파스된 코맨드 라인 평가 기능(719)에서, 코맨드 라인 엔트리 더하기 현재 키 정의로 표시된 프로그램이 실행된다. 이것은 코맨드 라인 및 종료 키 압압에 의해 계산기에 제공된 명령들의 실행을 나타내는 중요한 사용자 가시 스텝이다.
코맨드 라인 실행이 완료되면, 현재 ENTER가 스택 오브젝트 또는 변수의 편집(VISIT)을 종료한 경우에, 최초 오브젝트를 교체시키기 위해 새로운 최상위 스택 오브젝트가 사용된다(721).
복귀(722)는 제6도에 도시한 바와 같은 키 동작 처리 또는 실행(611)으로의 복귀 스텝이다.
기술한 계산기의 에러 보정 능력이 설명을 간략화하기 위해, 기본데이타 스택(901) 및 예비 데이타 스택(902)의 간략화된 개념적 표현이 제9a도 내지 제9g도 내에 도시되어 있다. 기본 데이타 스택(901)은 RPN 계산시에 사용하기 위한 데이타를 격납시키기 위해 사용되고, 예비 데이타 스택(902)는 데이타 스택(901)내의 정보의 카피를 격납시키기 위해 사용된다. 기본 데이타 스택(901)과 예비 데이타 스택(902)는 RAM(205)내로 격납될 수 있다.
제8도는 이미 기술한 같은 RPN계산기상에서 에러 보정을 실행하는 프로그램의 간략화된 플로우챠트이다. 스텝(901)내에서, 프로그램은 사용자가 키를 압압하기를 대기한다. 키가 압압될때, 스탭(802)내의 프로그램은 키가 즉시 실행 키인지의 여부를 평가한다. 즉시 실행 키는 표시기의 내용 및 스택의 내용이 동작되게 하는 키이다.
압압된 키가 즉시 실행 키가 아니면, 모니터는 다음 키를 대기한다. 그렇지 않으면, 스텝(803)내에서, 프로그램은 키가 표시기의 내용이 기본 데이타 스택(901)상에 입력되게 하는지의 여부를 평가한다. 그렇지 않으면, 스텝(805)내에서, 기본 데이타 스택(901)의 내용은 예비데이타 스택(902)내에 격납된다. 그다음, 프로그램 스텝(806)내에서, 표시기의 내용은 기본 데이타 스택(901)에 입력된다. 그 다음, 프로그램은 압압된 키가 ENTER키(105)였는지의 여부를 평가한다. 그렇다면, 모니터는 다음 키를 대기한다. 그렇지 않으면, 프로그램은 스텝(808)내에서 압압된 키에 의해 지정된 기능을 수행한다.
다음은 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용의 변화가 나타나는 동작의 간단 설명이다. 제9a도내에서, 기본 데이타 스택(901) 및 예비 데이타 스택(902)은 공백 상태인 것으로 도시되어 있다(TOS stands for Top of Stack).
제9b도는 사용자가 다음 순차를 입력시킨 후의 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용을 도시한 것이다.
4
3
ENTER
숫자 “4” 및 “3”은 즉시 실행 키가 아니다. ENTER는 즉시 실행 키이지만, 기본 데이타 스텍(901)은 공백 상태 aND였으므로, 데이타는 전혀 예비 데이타 스택(902)내로 전송되지 않았다.
제9c도는 사용자가 다음 순차를 입력시킨후의 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용을 도시한 것이다.
5
7
ENTER
알 수 있는 바와 같이, 기본 데이타 스택(901) 상에 57을 입력시키기 전에, 기본 데이타 스택(901)의 내용은 예비 데이타 스택(902)상에 복사된다.
제9d도는 사용자가 다음 키스트로크를 입력시킨 후의 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용을 도시한 것이다.
+
이 경우에, 기본 데이타 스택(901)의 내용은 기본 데이타 스택(901)내의 내용을 가산시키기 전에 예비 데이타 스택(902)상에 복사된다.
제9b도에 도시한 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 상태로 백업시키면, 사용자는 다음 순차를 입력시켜야 한다.
5
7
+
이때, 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용은 제9e도에 도시한 바와 같이 된다.
이때, 사용자가 쉬프트 키(107) 다음에 UNDO키(120)을 압압하였으면, 기본 데이타 스택(901) 및 예비 데이타 스택(902)의 내용은 제9f에 도시한 바와 같이 교환되거나, 기본 데이타 스택(901)의 내용은 제9g도에 도시한 바와 같은 예비 데이타 스택(902)의 내용에 의해 대체된다.
본 발명은 선택적 실시예내에 사용될 수 있다. 예를 들어, 제10도는 본 발명이 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)를 갖고 있는 non-RPN계산기의 다수의 실시예들 중 1개의 실시예내에서 어떻게 실행될 수 있는지를 나타내는 플로우챠트이다. 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)는 제11a도 내지 제11f도 내에 도시되어 있다.
다음은 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103), 및 예비 데이타 스택(1104)의 내용의 변화가 나타나는 동작의 간단한 설명이다. 제11a도내에서, 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)는 공백 상태인 것으로 도시되어 있다.
제11b도는 사용자가 다음 순차를 입력시킨 후의 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)의 내용을 도시한 것이다.
4
3
+
연산자 “+”를 입력시키면, 방정식의 부분 파싱이 발생되고, 값들은 연산자 스택(1101) 및 데이타 스택(1102)상에 놓여진다.
제11c도는 사용자가 다음 순차를 입력시킨 후의 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)의 내용을 도시한 것이다.
5
7
_
제11d도는 사용자가 다음 순차를 입력시킨 후의 연산자 스택(1101), 데이타 스택(1102), 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)의 내용을 도시한 것이다.
9
ENTER
연산자 스택(1101) 및 데이타 스택(1102)의 내용은 계산을 수행하기 전에 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)내에 비축된다.
이때, 사용자가 실행에 따라 “UNDO” 키를 압압하였으면, 연산자 스택(1101) 및 데이타 스택(1102)의 내용은 제11e도에 도시한 바와 같이 예비 연산자 스택(1103) 및 예비 연산자 스택(1104)의 내용과 교환되거나, 연산자 스택(1101) 및 데이타 스택(1102)의 내용은 제11f도에 도시한 바와 같이 예비 연산자 스택(1103) 및 예비 데이타 스택(1104)의 내용에 의해 대체된다.

Claims (9)

  1. 연산될 데이타를 포함하는 데이타 스택을 갖고 있는 계산기내에 있어서, 에러 회복을 수행할 수 있는 장치가 데이타 스택상에 격납된 데이타를 사용하여 계산을 수행하기 위해 데이타 스택에 결합된 계산 수단, 데이타가 계산 수행시에 계산 수단에 의해 사용되기 전에 데이타 스택상에 격납된 데이타를 수신하여 격납시키기위해 데이타 스택에 결합된 격납 수단 및 데이타 스택에 의해 격납된 데이타를 격납 수단에 의해 격납된 데이타로 대체시키기 위해 데이타 스택 및 격납 수단에 결합된 복원 수단을 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 복원 수단은 격납 수단에 의해 격납된 데이타를 데이타 스택에 의해 격납된 데이타로 대체시키기 위한 교환 수단을 포함하는 것을 특징으로 하는 장치.
  3. 연산자를 순차적으로 격납시키기 위한 제1격납 수단, 데이타 순차적으로 격납시키기 위한 제2격납 수단, 제1격납 수단내에 격납된 연산자 및 제2격납 수단상에 격납된 데이타를 사용하여 계산을 수행하기 위해 제1격납 수단 및 제2격납 수단에 결합된 수단, 제1격납 수단상에 격납된 연속 연산자의 복제물을 격납시키기 위해 제1격납 수단에 결합된 제1복제 수단 및 제1격납 수단의 내용을 제1복제 수단의 내용으로 대체시키기 위해 제1복제 수단 및 제1격납 수단에 결합된 제1복원 수단을 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서, 제2격납 수단상에 격납된 연속 데이타의 복제물을 격납시키기 위해 제2격납 수단에 결합된 제2복제 수단 및 제2격납 수단의 내용을 제2복제 수단의 내용으로 대체시키기 위해 제2복제 수단 및 제2격납 수단에 결합된 제2복원 수단을 부수적으로 포함하는 것을 특징으로 하는 계산 장치.
  5. 제4항에 있어서, 제1복원 수단은 제1복제 수단의 내용을 제1격납 수단의 내용으로 대체시키기 위한 제1교환 수단을 포함하고, 제2복원 수단은 제2복원 수단의 내용을 제2격납 수단의 내용으로 대체시키기 위한 제2교환 수단을 포함하는 것을 특징으로 하는 계산 장치.
  6. 연산될 데이타를 포함하는 데이타 스택을 갖고 있는 계산기내에 있어서, 에러 회복을 수행할 수 있는 장치가 사용자가 계산을 수행하도록 계산기를 지시하게 하기 위한 사용자 엔트리 수단, 데이타 스택상에 격납된 데이타를 사용하여 사용자로부터의 지시에 응답하여 수행되는 계산을 수행하기 위해 데이타 스택 및 사용자 엔트리 수단에 결합된 게사 수단, 데이타가 계산 수행시에 계산 수단에 의해 사용되기 전에 데이타 스택상에 격납된 데이타를 자동적으로 수신하여 격납시키기 위해 데이타 스택에 결합된 격납 수단 및 사용자 지시에 응답하여 데이타 스택에 의해 격납된 데이타를 격납 수단에 의해 격납된 데이타로 대체시키기 위해 데이타 스택, 격납 수단 및 사용자 엔트리 수단에 결합된 취소 수단을 포함하는 것을 특징으로 하는 장치.
  7. 제6항에 있어서, 취소 수단은 격납 수단에 의해 격납된 데이타를 데이타 스택에 의해 격납된 데이타로 대체시키기 위한 교환 수단을 포함하는 것을 특징으로 하는 장치.
  8. 산술 계산을 수행하고, 산술 계산시에 사용될 데이타를 격납시기키 위한 데이타 스택으로서 구성된 메모리의 일부 및 산술 계산시에 사용될 연산자를 격납시키기 위한 연산자 스택으로서 구성된 메모리의 일부를 사용하는 장치내의 에러 보정 방법에 있어서, 데이타 스택내의 데이타를 제1격납 위치에 격납시키는 단계, 연산자 스택내의 연산자를 제2격납 위치에 격납시키는 단계, 데이타 스택내의 데이타 및 연산자 스택내의 연산자를 사용하여 산술 계산을 수행하는 단계, 제1격납 위치내에 격납된 데이타를 사용하여 데이타 스택내의 최초 데이타를 복원시키는 단계 및 제2격납 위치내에 격납된 연산자를 사용하여 연산자 스택내의 최소 연산자를 복원시키는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 산술 계산을 수행하고, 산술 계산시에 사용될 데이타를 격납시키기 위한 데이타 스택으로서 구성된 메모리의 일부 및 산술 계산시에 사용될 연산자를 격납시키기 위한 연산자 스택으로서 구성된 메모리의 일부를 사용하는 장치내의 에러 보정 방법에 있어서, 데이타 스택내의 데이타를 제1격납 위치에 격납시키는 단계, 연산자 스택내의 연산자를 제2격납 위치에 격납시키는 단계, 데이타 스택내의 데이타 및 연산자 스택내의 연산자를 사용하여 산술 계산을 수행하는 단계, 데이타 스택내의 데이타를 제1격납 위치내에 격납된 데이타와 교환시키는 단계 및 연산자 스택내의 연산자를 제2격납 위치내에 격납된 연산자와 교환시키는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019870014751A 1986-12-24 1987-12-23 계산기내의 계산 스택 회복 장치 및 방법 KR950006618B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US946543 1986-12-24
US06/946,543 US4821228A (en) 1986-12-24 1986-12-24 Method and apparatus for computation stack recovery in a calculator

Publications (2)

Publication Number Publication Date
KR880008152A KR880008152A (ko) 1988-08-30
KR950006618B1 true KR950006618B1 (ko) 1995-06-19

Family

ID=25484623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870014751A KR950006618B1 (ko) 1986-12-24 1987-12-23 계산기내의 계산 스택 회복 장치 및 방법

Country Status (6)

Country Link
US (1) US4821228A (ko)
EP (1) EP0272821B1 (ko)
JP (1) JP2716135B2 (ko)
KR (1) KR950006618B1 (ko)
CA (1) CA1277771C (ko)
DE (1) DE3789803T2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173254A (ja) * 1987-12-28 1989-07-07 Sharp Corp 計算機
US5187799A (en) * 1988-05-17 1993-02-16 Calif. Institute Of Technology Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers
US5020012A (en) * 1988-12-15 1991-05-28 Hewlett Packard Company Method and apparatus for matching menu labels with keys
JP2966432B2 (ja) * 1989-07-07 1999-10-25 シャープ株式会社 電子機器
JPH0797313B2 (ja) * 1989-08-30 1995-10-18 株式会社東芝 計算機及びこの計算機に用いられる演算方法
JPH0390351U (ko) * 1989-12-28 1991-09-13
US5067102A (en) * 1990-01-31 1991-11-19 Hewlett-Packard Company Method and apparatus for displaying and editing mathematical expressions in textbook format
JP2778798B2 (ja) * 1990-04-11 1998-07-23 富士通株式会社 制御データのキュー構造管理処理方式
JP3082169B2 (ja) * 1991-11-20 2000-08-28 インターナショナル・ビジネス・マシーンズ・コーポレ−ション データ処理システム及びその実行方法
US5243550A (en) * 1992-03-27 1993-09-07 Michael Cannizzaro Multi-column printing calculator
DE69530134T2 (de) * 1994-12-07 2003-11-06 King Jim Co Ltd Zeicheninformationsprozessor zum Drucken von Zeichen
JPH10289211A (ja) * 1997-04-14 1998-10-27 Sharp Corp 小型電子機器
US6748404B1 (en) * 2000-08-22 2004-06-08 Kinpo Electronics, Inc. Data editable statistic calculator, and the related data editing method
US7478265B2 (en) * 2004-10-14 2009-01-13 Hewlett-Packard Development Company, L.P. Error recovery for input/output operations
US7418460B2 (en) * 2004-10-19 2008-08-26 Microsoft Corporation Method and system for enabling undo across object model modifications
US7827451B2 (en) * 2006-05-24 2010-11-02 International Business Machines Corporation Method, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US9424139B1 (en) * 2011-03-31 2016-08-23 Emc Corporation Version based data protection
JP6905190B2 (ja) * 2017-09-01 2021-07-21 富士通株式会社 情報処理装置およびスタック破壊検出プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309761A (en) * 1964-06-26 1982-01-05 Hewlett-Packard Company Calculator for evaluating numerical answers to problems
US3533082A (en) * 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US4366553A (en) * 1972-07-07 1982-12-28 Hewlett-Packard Company Electronic computing apparatus employing basic language
JPS5432228A (en) * 1977-08-18 1979-03-09 Japanese National Railways<Jnr> Mark reader
US4456964A (en) * 1979-06-25 1984-06-26 Hewlett-Packard Company Calculator including means for displaying alphanumeric prompting messages to the operator
US4524416A (en) * 1980-04-15 1985-06-18 Honeywell Information Systems Inc. Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US4587632A (en) * 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
JPS5792239U (ko) * 1980-11-25 1982-06-07
JPS57153339A (en) * 1981-03-18 1982-09-21 Hitachi Ltd Information processor
US4530049A (en) * 1982-02-11 1985-07-16 At&T Bell Laboratories Stack cache with fixed size stack frames
US4519045A (en) * 1982-05-25 1985-05-21 Texas Instruments Incorporated Electronic data processing apparatus with equation operating system having improved unary operation implementation
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
US4698784A (en) * 1984-01-06 1987-10-06 Hewlett-Packard Company Syntactic device for chain calculations

Also Published As

Publication number Publication date
EP0272821A3 (en) 1990-02-14
CA1277771C (en) 1990-12-11
EP0272821A2 (en) 1988-06-29
EP0272821B1 (en) 1994-05-11
JP2716135B2 (ja) 1998-02-18
DE3789803D1 (de) 1994-06-16
KR880008152A (ko) 1988-08-30
US4821228A (en) 1989-04-11
JPS63170722A (ja) 1988-07-14
DE3789803T2 (de) 1994-12-08

Similar Documents

Publication Publication Date Title
KR950006618B1 (ko) 계산기내의 계산 스택 회복 장치 및 방법
US4845665A (en) Simulation of computer program external interfaces
US5465358A (en) System for enhancing user efficiency in initiating sequence of data processing system user inputs using calculated probability of user executing selected sequences of user inputs
US5506952A (en) Method and system for guiding the formation of a correctly structured instruction for data processing systems
CA1172374A (en) Interactive display terminal with alternating data processing and text processing sessions with text processing status line operable during data processing session
EP0266144B1 (en) A calculator having a user-accessible object stack for the uniform application of mathematical functions and logical operations to a multiplicity of object types
US4435780A (en) Separate stack areas for plural processes
US4466065A (en) Queuing capability in a foreground task
JP2518645B2 (ja) 計算装置
EP0266145B1 (en) Electronic data processing apparatus for improved algebraic expression manipulation
Smith et al. MathScribe: A user interface for computer algebra systems
JPS63766A (ja) 文書処理装置
EP0112179B1 (en) Data processing apparatus with automatic mode determination
EP0052754A1 (en) Text highlighting method in a text processing system
JPS62256124A (ja) 文字処理装置
EP0364099B1 (en) Data storage and retrieval in a calculator
JP2571043B2 (ja) 文字置換装置
Russell et al. Integrated Reliability and Risk Analysis System (IRRAS) Version 2. 0 user's guide
JPH1027084A (ja) 表示装置
JPH021627Y2 (ko)
EP0587355A1 (en) Display control apparatus
JPH07121342A (ja) 情報処理装置のユーザインタフェース
JPH0776953B2 (ja) データ処理装置
JPH0659791A (ja) データ処理装置用キーボードの入力処理装置
JPH0635906A (ja) 表計算処理装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070619

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee