KR960004060B1 - Bank choosing pre-assembling method of multi-memory bank system - Google Patents
Bank choosing pre-assembling method of multi-memory bank system Download PDFInfo
- Publication number
- KR960004060B1 KR960004060B1 KR1019910021280A KR910021280A KR960004060B1 KR 960004060 B1 KR960004060 B1 KR 960004060B1 KR 1019910021280 A KR1019910021280 A KR 1019910021280A KR 910021280 A KR910021280 A KR 910021280A KR 960004060 B1 KR960004060 B1 KR 960004060B1
- Authority
- KR
- South Korea
- Prior art keywords
- bank
- subroutine
- call
- program
- rom
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Abstract
Description
제 1 도는 일반적인 메모리 뱅크 구조도.1 is a general memory bank structure diagram.
제 2 도는 제 1 도의 메모리 뱅크를 선택하는 시시템의 블럭도.2 is a block diagram of a system for selecting the memory bank of FIG.
제 3 도는 종래의 프로그램 작성 흐름도.3 is a flowchart of a conventional program creation.
제 4 도는 제 3 도의 작성 흐름에 의해 작성된 메모리 뱅크의 프로그램.4 is a program of a memory bank created by the creation flow of FIG.
제 5 도는 본 발명에 따른 프로그램 작성 흐름도.5 is a flow chart of programming according to the present invention.
제 6 도는 본 발명에 따른 링크 정보 테이블.6 is a link information table according to the present invention.
제 7 도는 본 발명에 따른 프리 어셈블러의 제어 흐름도.7 is a control flowchart of a preassembler according to the present invention.
제 8 도는 제 7 도의 프리 어셈블러에 의해 작성된 중간 프로그램.8 is an intermediate program written by the preassembler of FIG.
본 발명은 마이크로 컴퓨터를 이용하는 시스템의 메모리 뱅크 제어 방법에 관한 것으로, 특히 다중 메모리 뱅크(Multi-Memory Bank) 구조를 가지는 마이크로 컴퓨터를 위한 프리 어셈블링 방법에 관한 것이다.The present invention relates to a method of controlling a memory bank of a system using a microcomputer, and more particularly, to a preassembly method for a microcomputer having a multi-memory bank structure.
통상적으로 어드레싱 스페이스(Addressign Space)가 넓지 않은 중앙처리장치(Central Processing Unit; Micro-processor)를 이용하는 시스템에서 메모리의 어드레스 영역을 확장할 때에는 뱅크 선택 제어회로(Bank Control Circult)를 일반적으로 사용한다.In general, a bank control circuit is generally used to expand an address area of a memory in a system using a central processing unit (Micro-processor) having a small addressing space.
예를들면 16비트(Central Processing Unit)의 경우 64Kbyte 크기의 메모리는 억세스할 수 있다. 이때 CPU를 교체하지 않고 메모리의 크기를 확장하는 방법은 이미 주지된 바와 같이 메모리 뱅크를 이용하는 것이다.For example, in the case of 16 bits (Central Processing Unit), 64Kbyte of memory can be accessed. At this time, a method of expanding the size of the memory without replacing the CPU is to use a memory bank, as is well known.
메모리 뱅크는 제 1 도에 공지된 바와 같이 CPU 어드레스를 OOOOH-FFFFH라 할 때 제 1 램(RAM)과 제 1 롬(ROM)을 제 1 뱅크로 하고, 상기 제 1 롬(ROM)에 병렬로 제 2 롬(ROM)을 접속하여 제 2 뱅크로 하여 제 1 뱅크와 제 2 뱅크를 선택하도록 한다.As is known from FIG. 1, when the CPU address is OOOOH-FFFFH, the memory bank has a first RAM and a first ROM as a first bank, and is parallel to the first ROM. The second ROM is connected to select the first bank and the second bank as the second bank.
상기 제 1 도에 도시된 바와 같은 메모리 맵으로 메모리 뱅크를 구성할 경우 CPU로부터 출력되는 I/O(Input/Output)신호를 디코딩하여 뱅크를 선택하는 회로를 구성하여야 한다.When configuring a memory bank with a memory map as shown in FIG. 1, a circuit for selecting a bank by decoding an input / output (I / O) signal output from a CPU should be configured.
제 2 도는 제 1 도의 메모리 뱅크를 선택하기 위한 공지의 시스템 블럭도로서 10은 CPU, 12는 I/O디코더, 14는 뱅크 레지스터, 16은 메모리 디코더, 20,22는 제 1, 제 2 롬, 18은 제 1 램이다.2 is a well-known system block diagram for selecting a memory bank of FIG. 1, where 10 is a CPU, 12 is an I / O decoder, 14 is a bank register, 16 is a memory decoder, 20 and 22 are first and second ROMs; 18 is the first RAM.
상기 제 1 도와 같은 뱅크를 선택하기 위해서는 뱅크라는 I/O비트를 한 개 또는 한 개 이상을 할당하여 제 2 도와 같이 메모리 디코더(16)로서 뱅크 선택 신호를 발생하여야 한다(제 2 도의 구성에서는 설명이 편의를 위해서 한 개의 비트 A15를 할당한 예를 도시함).In order to select the same bank as the first diagram, a bank selection signal must be generated as the memory decoder 16 as shown in the second diagram by allocating one or more I / O bits called banks. Shows an example of allocating one bit A15 for this convenience).
상기 제 2 도와 같은 시스템에서 제 1 롬(20)과 제 1 램(18)을 사용할 경우 Bank= 0(A15)로 만들어 메모리 디코더(16) 회로에 의해 제 1 롬(20)이 선택되도록 한다. 이때 제 2 롬(22)은 선택되지 않는다. 제 1 롬(20)을 사용하다가 제 2 롬(22)을 사용해야 할 경우 Bank= 0(A15) 으로 만들어 제 2 도의 메모리 디코더 회로(16)에 의해 제 2 롬(22)이 선택되도록 한다. 이때 제 1 롬 (20) 은 선택되지 않는다. 뱅크를 이용할 경우 위와 같이 제 1 롬(20) 제 2 롬(22)을 배타적으로 하나씩 밖에 사용하지 못한다.When the first ROM 20 and the first RAM 18 are used in the same system as the second diagram, Bank = 0 (A15) is used to select the first ROM 20 by the memory decoder 16 circuit. At this time, the second ROM 22 is not selected. If the second ROM 22 is to be used while the first ROM 20 is used, Bank = 0 (A15) is used to select the second ROM 22 by the memory decoder circuit 16 of FIG. At this time, the first ROM 20 is not selected. In the case of using the bank, only the first ROM 20 and the second ROM 22 may be used exclusively as described above.
상기 제 2 도와 같이 뱅크 선택 시스템을 구성한 경우 제 1램(18)에서 제 1 롬(20) 또는 제 2 롬(22)의 어느곳에 있는 서브 루틴을 콜(Call)하더라도 미리 원하는 뱅(Bank)를 선택하여 준다면 아무런 문제없이 사용할 수가 있다. 그러나 제 1 롬(20)이 프로그램에서 제 2 롬(22)의 (Subroutine)을 호출 (Calll)할 수는 없다.In the case of configuring the bank selection system as shown in the second diagram, even if a subroutine in any of the first ROM 20 or the second ROM 22 is called from the first RAM 18, the desired bank is previously selected. If you choose it, you can use it without any problem. However, the first ROM 20 cannot call (Subroutine) of the second ROM 22 in the program.
왜냐하면 제 1 롬(20)에서 제 2 롬(22)으 서브 루틴을 호출(Call)하기 전에 제 1 뱅크에서 제 2 뱅크를 선택해주어야 하는데 뱅크가 바뀌어 버리면 제 1 롬(20)내의 다음 명령어 CPU(10)를 더 이상 수행할 수가 없기 때문이다.This is because the second bank must be selected from the first bank before calling the subroutine from the first ROM 20 to the second ROM 22. If the bank is changed, the next instruction CPU in the first ROM 20 ( 10) can no longer be performed.
일반적으로 프로그램을 작성하는 프로그래머는 이것을 고려하여 제 1 롬(20)과 제 2 롬(22)사이에 직접 서브 루틴을 호출하지 않도록 소프트웨어를 설계한다. 그렇지 않고, 이를 해결하기 위해서는 양쪽 제 1, 제 2 롬(20)(22)의 같은 번지에 같은 명령어를 만들어 놓고 뱅크를 선택하게 하면 된다. 그러나 일반적인 프로그램의 작성은 제 3 도와 같은 작성 흐름에 의해 개발하여 나가기 때문에 상기와 같은 상황을 고려하여 모든 프로그램을 작성한다는 것은 대단히 어렵다. 즉 프로그램 사이즈(Size)가 큰 프로그램을 개발할 경우 매우 복잡하며, 거의 개발 완료 상태에서 서브 루틴들의 뱅크 위치를 바꾸어야 될 필요가 있을 경우 프로그램을 고치는데 많은 노력이 든다.In general, a programmer who writes a program considers this and designs software so as not to call a subroutine directly between the first ROM 20 and the second ROM 22. Otherwise, in order to solve this problem, the same instruction may be made at the same address of both the first and second ROMs 20 and 22 and the bank may be selected. However, it is very difficult to write all programs in consideration of the above situation because general program is developed by the same writing flow as the third diagram. That is, when developing a program having a large program size, it is very complicated, and when it is necessary to change the bank positions of subroutines in the near-developed state, much effort is required to fix the program.
따라서 본 발명의 목적은 각 프로그램의 루틴에서 서브 루틴의 호출위치 정보에 따라 프로그래머가 작성한 프로그램 데이터를 변형시키어 메모리 뱅크 선택 제어를 자동적으로 수행할 수 있도록 하는 프리 어셈블러(Pre-Assembler)를 제공함에 있다.Accordingly, an object of the present invention is to provide a pre-assembler for automatically performing memory bank selection control by transforming program data written by a programmer according to call position information of a subroutine in each program routine. .
본 발명은 다른 목적은 링크 정보 테이블로서 중간 프로그램(Inter mediate program)을 자동으로 생성하여 메모리 뱅크를 자동으로 선택하는 프리 어셈블링 방법을 제공합에 있다.Another object of the present invention is to provide a pre-assembly method of automatically generating an intermediate program as an link information table and automatically selecting a memory bank.
이하 본 발명을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제 4 도는 제 1 도와 같은 뱅크 회로에 작성된 프로그램의 일예를 나타낸 것으로 이는 본 발명의 동작예를 보다 손쉽게 하기 위해 나타낸 것이다.4 shows an example of a program written in the same bank circuit as in FIG. 1, which is shown to make the operation of the present invention easier.
(a)는 메인 프로그램으로서 서브 프로그램 SUB1을 호출하는 콤멘드(Command ; Routine)를 가지고 있으며 이는 제 1 램(18)에 저장되어 있다고 가정한다.It is assumed that (a) has a command (Command; Routine) for calling the subprogram SUB1 as a main program, which is stored in the first RAM 18.
(b)는 서브 프로그램 SUB1으로서 서브 프로그램 SUB2를 호출하기 위한 콤멘드(Command ; Routine)가 프로그램되어 있으며 이는 제 1 롬(20)내에 위치하며, (c)는 서브 프로그램 SUB2로서 제 2 롬(22)에 프로그램이 된다. 이때 제 1 롬(20)은 제 1 뱅크(BANK0), 제 2 롬(22)은 제 2 뱅크(BANK1)이다.(b) has a command (Command; Routine) programmed to call the subprogram SUB2 as the subprogram SUB1, which is located in the first ROM 20, and (c) the second ROM 22 as the subprogram SUB2. ) Is a program. In this case, the first ROM 20 is the first bank BANK0 and the second ROM 22 is the second bank BANK1.
제 5 도는 본 발명에 따른 프로그램 작성 흐름도로서, 소스 프로그램의 링크 정보 테이블로서 중간 프로그램(Intermediate Program)을 생성하고, 상기 중간 프로그램으로서 목적 코드(Object Code)를 생성하고, 링크 정보를 이용하여 링크한다.5 is a flow chart for creating a program according to the present invention, which generates an intermediate program as a link information table of a source program, generates an object code as the intermediate program, and links using the link information. .
제 6 도는 본 발명에 따른 링크 정보 테이블로서, 이는 전술한 제 1 도 및 제 2 도에서 제 1 램 (18)과 제 1 롬(20)이 제 1 뱅크(BANK0)이고, 제 2 롬(22)이 제 2 뱅크(BANK1)이라 가정하였을 때의 링크 테이블이다.6 is a link information table according to the present invention, in which the first RAM 18 and the first ROM 20 are the first bank BANK0 and the second ROM 22 in FIGS. 1 and 2 described above. ) Is a link table when it is assumed that the second bank BANK1 is.
제 7 도는 본 발명에 따른 프리 어셈블러의 흐름도이다.7 is a flowchart of a pre-assembler according to the present invention.
제 8 도는 제 7 도에 의해 서로 다른 뱅크를 호출(Call)할 수 있도록 작성된 중간 프로그램이다.FIG. 8 is an intermediate program written to call different banks by FIG.
이하 본 발명에 따른 프리 어셈블링의 동작을 상세히 설명한다.Hereinafter, the operation of preassembly according to the present invention will be described in detail.
지금 제 4 도와 같은 소스 프로그램 제 1 도의 메모리 제 1 램(18)과 제 1, 제 2 롬(ROM)(20)(22)에 저장되어 있는 상태에서 제 2 도의 시스템이 동작되면 CPU(10)는 제 7 도 7a 과정에서 제 6 도와 같은 링크 정보 테이블을 읽어 각 서브 루틴의 뱅크 위치를 내부 메모리 영역에 설정된 뱅크 테이블에 기록한다. 그리고 7b 과정에서 제 4 도 (a)(b)(c)와 같은 소스 프로그램중(a)의 소스 프로그램의 1라인 데이터를 읽어 소스 프로그램의 끝인가를 우선 검색하고, 끝이 아닐때에는 읽어들인 소스 프로그램 1라인을 입력 버퍼에 저장한다.If the system of FIG. 2 is operated while being stored in the first RAM 18 and the first and second ROMs 20 and 22 of the source program FIG. In FIG. 7A, the link information table as shown in FIG. 6 is read, and the bank position of each subroutine is recorded in the bank table set in the internal memory area. Then, in step 7b, the first line data of the source program of (a) of the source program as shown in Fig. 4 (a), (b), (c) is read first to find out whether it is the end of the source program. Store one line of the program in the input buffer.
상기 7d과정후 7e과정에서 서브 루틴의 시작인가를 검색하여, 시작이면 7f과정에서 서브 루틴의 이름을 버퍼(C-sub-name; Call-sub Routine Name Buffer)에 저장하고 7g과정에서 입력 버퍼가 호출 명령어를 가지고 있는가를 검색한다.In step 7d, it is checked whether the subroutine is started. In step 7f, the name of the subroutine is stored in a buffer (C-sub-name; Call-sub Routine Name Buffer). Check if you have a call command.
만약 상기 7g과정의 검색에서 서브 루틴의 호출 명령어를 가지고 있다면 7i 과정에서 호출할 서브 루틴이 C-Sub-name에 저장된 뱅크에 들어있는가를 검색한다. 이때 상기 제 4 도 (a)의 서브 루틴으 호출 명령(Call SUB)은 같은 뱅크에 들어 있으므로 전술한 7b과정으로 반복 수행하게 된다.If the subroutine call instruction is performed in step 7g, the subroutine to be called in step 7i is searched for in the bank stored in the C-Sub-name. At this time, since the subroutine call command (Call SUB) of FIG. 4 (a) is included in the same bank, the above-described process is repeated in step 7b.
한편 상기한 7e과정에서 서브 루틴의 시작이 아니고, 7g과정에서 서브 루틴의 명령을 가지고 있지 않다면 CPU(10) 는 7h과정에서 입력 버퍼의 내용을 출력 호일에 기록한후 전술한 7b과정부터 반복 동작한다.On the other hand, if it is not the start of the subroutine in step 7e and does not have the instruction of the subroutine in step 7g, the CPU 10 repeats the above-described step 7b after recording the contents of the input buffer in the output foil in step 7h. .
상기와 같은 과정의 반복 수행에 의해 제 4 도 (b)의 서브 루틴(5a)(Call SUB2)가 검출되면 전술한 7e과정에서 서브 루틴의 시작을 검출하게 되고, 7f과정에서 서브 루틴의 이름을 C-Sub-name 버퍼에 저장한다.When the subroutine 5a (Call SUB2) of FIG. 4 (b) is detected by repeating the above process, the start of the subroutine is detected in step 7e and the name of the subroutine is checked in step 7f. Store in the C-Sub-name buffer.
그리고 7g과정을 수행하여 호출(Call) 명령어를 가지고 있느지 검색한후 호출 명령이면 7i과정에서 호출할 서브 루틴이 C-Sub-name과 같은 뱅크에 있는가를 검색한다.In step 7g, it is checked whether the call instruction is included. If the call instruction is executed, it is checked whether the subroutine to be called in step 7i is in the same bank as the C-Sub-name.
이때 상기 서브 루틴 SUB1의 뱅크는 제 1 뱅크(BANK0)이고 서브 루틴 SUB2는 제 2 뱅크(BANK1)임으로 다르다고 판단(제 6 도의 뱅크 정보 테이블 참조)하고, 7j과정에서 중간 프로그램을 생성한다.At this time, it is determined that the bank of the subroutine SUB1 is the first bank BANK0 and the subroutine SUB2 is the second bank BANK1 (see the bank information table of FIG. 6), and generates an intermediate program in step 7j.
7j과정에서 CPU는 출력 파일에 다음 4가지의 명령을 삽입한다.In step 7j, the CPU inserts the following four commands into the output file:
1. mem1에 갈 곳의 뱅크 비트 정보 즉 제 2 뱅크(BANK1)의 비트 정보를 기록하고,1. Record the bank bit information of the place to go to mem1, that is, the bit information of the second bank BANK1,
2. mem2에 갈곳의 어드레스 정보인 제 2 롬(22)의 스타트 어드레스를 기록하고,2. Write the start address of the second ROM 22, which is the address information of the location to mem2,
3. mem3에 돌아올 뱅크 비트 정보를 기록하며,3. Record the bank bit information to return to mem3,
4. 호출전환(Call Switcher)정보를 세트하여 제 8 도(D)와 같이 출력 파일을 생성한다.4. Set the call switcher information to generate the output file as shown in FIG.
이후 제 7 도 7b과정으로 점프하여 반복 수행함으로서 뱅크가 다른 서브 루틴에 대한 중간 프로그램을 작성한다.Thereafter, the process jumps to the process shown in FIG. 7B to be repeated to create an intermediate program for another subroutine.
상기 제 7 도와 같은 프리 어셈블러(Pre- assembler)에 의해 제 4 도 (a)(b)(c)와 같은 소스 프로그램을 제 8 도와 같은 흐름을 가진 프로그램으로 변경된다. 결과적으로 볼 때 제 8 도 (d)와 같은 중간 프로그램인 스위치터 루틴이 새로 들어 갔으며(이 스위치터 루틴은 뱅크에 상관없이 사용 가능한 RAM 영역에 할당된다) 몇 개의 명령어로 바뀌었다. 바뀐 프로그램의 메인(Main)(Main은 뱅크에 관계없이 항상 사용 가능하게 되어 있음)에서 서브 프로그램(SUB1)(SUB1은 제 1 롬(20) 즉 BANK0에 들어 있음)을 호출 (Call)할때는 그대로 별 문제 없이 수행되나, 서브 프로그램(SUB1)에서 서브 프로그램(SUB2)(SUB2는 제 2 롬(22) 즉 BANK1에 들어 있음)를 호출(Call)할 때 서로 다른 뱅크를 호출하는 것이므로 일단 서브 프로그램 SUB2를 부르기 전에 가고자 하는 SUB2의 BANK1과 돌아올 BANK0을 각각 mem1, mem3에 저장하고, SUB2의 어드레스(Address)를 mem2에 저장하고 스위치터(switcher)를 호출하게 된다. 거기에서는 앞서 저장된 mem1의 뱅크를 선택 제 2 롬 (22)을 선택한 다음 서브 프로그램(SUB2)을 호출하고 서브 프로그램(SUB2)의 수행을 마친 다음 리턴(Return)되면 본래의 서브 프로그램(SUB1)로 돌아오기 위해 mem3에 저장된 뱅크를 선택 (제 1 롬(20)을 선택)하고 리턴(Return) 동작이 일어난다. 이렇게 하여 SUB1 서브 프로그램(SUB2)에서 서브 프로그램으로 돌아오게 된다.A pre-assembler as shown in FIG. 7 converts a source program as shown in FIG. 4 (a) (b) (c) into a program having the same flow as in FIG. As a result, a new switcher routine, an intermediate program as shown in FIG. 8 (d), is newly entered (this switcher routine is allocated to the available RAM area regardless of the bank) and replaced with a few instructions. When calling the subprogram SUB1 (SUB1 is included in the first ROM 20 or BANK0) from the main of the changed program (Main is always available regardless of the bank), it is still different. This can be done without any problem, but the subprogram SUB2 is called when the subprogram SUB2 (SUB2 is in the second ROM 22 or BANK1) is called in a different bank. Before calling, it saves BANK1 of SUB2 and BANK0 to return to mem1 and mem3 respectively, saves address of SUB2 to mem2 and calls the switcher. There, select the bank of mem1 previously stored, select the second ROM 22, then call the subprogram SUB2, finish execution of the subprogram SUB2, and return to the original subprogram SUB1 when returned. To return, select the bank stored in mem3 (select the first ROM 20) and a Return operation takes place. In this way, the SUB1 subprogram SUB2 returns to the subprogram.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910021280A KR960004060B1 (en) | 1991-11-26 | 1991-11-26 | Bank choosing pre-assembling method of multi-memory bank system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910021280A KR960004060B1 (en) | 1991-11-26 | 1991-11-26 | Bank choosing pre-assembling method of multi-memory bank system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930010731A KR930010731A (en) | 1993-06-23 |
KR960004060B1 true KR960004060B1 (en) | 1996-03-26 |
Family
ID=19323530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910021280A KR960004060B1 (en) | 1991-11-26 | 1991-11-26 | Bank choosing pre-assembling method of multi-memory bank system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR960004060B1 (en) |
-
1991
- 1991-11-26 KR KR1019910021280A patent/KR960004060B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR930010731A (en) | 1993-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5182807A (en) | Assembler system for determining when to compile source code modules | |
KR920004962A (en) | Virtual long command memory device for digital signal processing device and method of generating the command | |
JPS6363938B2 (en) | ||
US4999770A (en) | Command controlled multi-storage space protection key pretesting system permitting access regardless of test result if selected key is predetermined value | |
JPH0346850B2 (en) | ||
US5623640A (en) | Data memory system that exchanges data in data locations with other data locations based on the number of writes to the memory | |
JPH05165718A (en) | Processing system | |
JPS6122817B2 (en) | ||
KR960004060B1 (en) | Bank choosing pre-assembling method of multi-memory bank system | |
IE61306B1 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
KR0155178B1 (en) | Imformation processing system | |
US5896505A (en) | Data transfer system and method for dividing an original data read instruction into individual read demands for each data element | |
US5148531A (en) | System for executing a conditional statement without reading program data part that does not satisfy the conditional clause | |
JP2002319292A (en) | Memory device and read-out method for the memory device | |
JP2503634B2 (en) | Micro program controller | |
JP2570407B2 (en) | Programmable controller | |
JPS6327795B2 (en) | ||
KR19990037395A (en) | System and method for executing two word instructions in a single cycle | |
JP2000066966A (en) | I/o log recording circuit | |
JPH06101017B2 (en) | Data-based access mode dynamic change method | |
JPS6144339B2 (en) | ||
JPH07334353A (en) | Microcomputer system | |
JPH05189212A (en) | Linking method | |
JPS6235146B2 (en) | ||
JPH0823823B2 (en) | Language processing program processing method |
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: 20000225 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |