JPH0316498A - Address assigner - Google Patents

Address assigner

Info

Publication number
JPH0316498A
JPH0316498A JP2100579A JP10057990A JPH0316498A JP H0316498 A JPH0316498 A JP H0316498A JP 2100579 A JP2100579 A JP 2100579A JP 10057990 A JP10057990 A JP 10057990A JP H0316498 A JPH0316498 A JP H0316498A
Authority
JP
Japan
Prior art keywords
data
memory
remote control
controller
stored
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2100579A
Other languages
Japanese (ja)
Other versions
JPH0824395B2 (en
Inventor
Douglas M Keenan
ダグラス マービン キーナン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics Inc
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
Priority claimed from GB898908861A external-priority patent/GB8908861D0/en
Application filed by Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Publication of JPH0316498A publication Critical patent/JPH0316498A/en
Publication of JPH0824395B2 publication Critical patent/JPH0824395B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing

Abstract

PURPOSE: To save a memory by using a single subroutine for extracting all data stored in an optional one of plural matrixes and changing the single subroutine by adding the start position of a required matrix so as to address an indivisual matrix. CONSTITUTION: A controller 100 receives a clock signal for setting up the timing of various functions of the controller 100 itself from a clock oscillator 110. In a learning mode, an IR receiver 140 receives and IR signal transmitted from an emulated remote control hand unit and supplies digital data expressing the IR signal to the controller 100. The controller 100 stores 'raw' (i.e., uncompressed) data in a general memory 122. When the transmission of a remote control signal for a command is required in a normal remote control mode, the controller 100 decompresses a stored code and sends the code to an output unit 160.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、ビデオカセットレコーダ、ケーブルコンバー
タ、ビデオディスクプレーヤ、テレビジョン受像機など
の消費者用電子製品用のプログラム可能なリモートコン
トロール送信機において有用なメモリ節約構成に関する
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application The present invention is useful in programmable remote control transmitters for consumer electronic products such as video cassette recorders, cable converters, video disc players, and television receivers. Concerning memory saving configurations.

発明の背景 消費者用電子製品に使用する赤外線( I R ) I
7モートコントロール装置として、異なる製造業者によ
り製造され、且つそれぞれ異なるリモートコントロール
信号コード形式を使用する多数の電子製品の中の任意の
1つを制御するマルチブランド万能リモートコントロー
ル・ハンドユニットヲ使用する傾向にある。万能リモー
トコントロール・ハンドユニットを使用すると、ユーザ
ーはリモートコントロール・ハンドユニットヲ一台タケ
使用すればよいという便利さが得られると共に、消費者
用電子製品の機能を、すべてではないにしても、ほとん
ど制御することができる。
BACKGROUND OF THE INVENTION Infrared (IR) I for use in consumer electronic products
7. The tendency to use multi-brand universal remote control hand units as remote control devices to control any one of a number of electronic products manufactured by different manufacturers and each using different remote control signal code formats. It is in. A versatile remote control hand unit provides the user with the convenience of only having to use a single remote control hand unit while providing most, if not all, of the functionality of a consumer electronic product. can be controlled.

一台の万能リモートコントロール●ハンドユニットが処
理できる種々の機能および種々のリモートコントロール
・コマンド信号形式の数は、リモートコントロールのコ
ード記憶に利用できるメモリの量に大きく依存する。
One Universal Remote Control The number of different functions and different remote control command signal formats that a hand unit can handle is highly dependent on the amount of memory available for remote control code storage.

万能リモートコントロール・ハンドユニットニは2つの
基本的なタイプがある。ランダム・アクセス●メモリ(
RAM)をペースとするシステムは、しばしば“学習″
リモートコントロール・ハンドユニットと呼ばれる。こ
のタイプのリモートコントロール●ハンドユニットでは
、ユー−Il+’−6DオlJジナル・ハンドユニット
の所望の機能をリモートコントロール・ハンドユニッ}
K”[,!tる”必要がある。これは、通常、′学習″
リモートコントロール・ハンドユニットを1学習モード
”に切シ換エ、”$習”リモートコントロール・ハンド
ユニットがエミ瓢レートされるハンドユニットカラのI
R送信を受信することができるように、これら2つのハ
ンドユニットを物理的に向かい合わせることによシ行な
われる。この学習過程は情報記憶処理として始1シ、I
R送信は学習するリモートコントロール・ユニットによ
う受信されながら記録される。この最初の“生″データ
の記憶の後、生データは分析され且つ圧縮され、それか
らこのデータの最終的な圧縮形がRAMに記憶される。
There are two basic types of universal remote control hand units. Random access ●Memory (
RAM-based systems often have “learning”
It is called a remote control hand unit. This type of remote control hand unit allows you to perform the desired functions of the U-Il+'-6D original hand unit.
K"[,!tru" is necessary. This is usually ``learning''
Switch the remote control hand unit to ``Learning Mode'', and select the hand unit color in which the ``$X'' remote control hand unit is trained.
This is done by physically facing these two hand units so that they can receive the R transmission. This learning process begins as an information storage process.
R transmissions are recorded as they are received by the learning remote control unit. After this initial "raw" data storage, the raw data is analyzed and compressed, and then the final compressed form of this data is stored in RAM.

万能IJモー}:”}ロール●ハンドユニットカコマン
ドを送信するために、リモートコントロール・モードで
使用されるとき、記憶された圧縮コードがメモリから読
み出され、非圧縮化(圧縮されたものを戻すこと)され
、その結果得られる信号が送信される。
When used in remote control mode to send a hand unit command, the stored compressed code is read from memory and decompressed (uncompressed) (return) and the resulting signal is transmitted.

読み出し専用メモリ(ROM)をペースとするシステム
は一定の1組の装置、通常、テレビジョン受像機(TV
),  ビデオカセットレコーダ(VCR) bよびケ
ーブルコンバータに限定される。この種の・・ンドユニ
ットにおいては、制御される各装置の全ての機能につい
て、異なる全てのコード形式を予めプログラムしなけれ
ばならない。1た、リモートコントロール・コードは、
通常、メモリ空間なできるだけ少なく占有するように何
らかの方法で圧縮される。
A read-only memory (ROM)-based system consists of a fixed set of devices, usually a television set (TV).
), video cassette recorders (VCR) b and cable converters. In this type of end unit, all different code formats must be preprogrammed for all functions of each device to be controlled. 1.The remote control code is
It is usually compressed in some way to occupy as little memory space as possible.

メモリ空間が限られているので、各圧縮方法について圧
縮方法が効率的であればあるほど、それだけ多くの機能
を記憶することができる。メモリ空間を節約する別の方
法は、メモリをアドレス指定するために効率的なルーチ
ンを与えることにより、メモリをアドレス指定するのに
必要なプログラム命令の数を減少させることである。本
発明は、この目的に向けられておb,特に、いわゆる1
指標アドレス指定”’ (indexed − add
ressing)が使われるときメモリ空間を節約する
ことに関連するものである。
Since memory space is limited, for each compression method, the more efficient the compression method, the more functions can be stored. Another way to save memory space is to reduce the number of program instructions needed to address memory by providing efficient routines for addressing memory. The present invention is directed to this purpose, and in particular the so-called
Index address specification "' (indexed - add
It is related to saving memory space when the ``ressing'' is used.

マイクロプロセッサのソフトウエアにかいて、鴨マトリ
ックス″(すなわち、記憶場所の群)の使用は極めて普
通のことであシ、通常、ルックアップ・テーブル釦よび
/筐たはデータ・テーブル用に使われる。実際、ルック
アップ・テーブルおよびデータ・テーブルは極めて有り
ふれているから、大抵のマイクロプロセッサは間矯的に
データをアクセスするために使用することができる1指
標レジスタ” (indtx register)  
を含んでいる。
In microprocessor software, the use of duck matrices (i.e., groups of memory locations) is quite common, and is usually used for lookup table buttons and/or data tables. In fact, look-up tables and data tables are so commonplace that most microprocessors have only one index register (INDTX register) that can be used to access data indirectly.
Contains.

例えば、X=8であシ、ポインタ(POINTER)が
データ・テーブルの開始点(メモリにおいて)であれば
、 LDA  POINTER.X はメモリ中のPOINTERの後の8番目のバイトを取
ル出し、それを累算器に貯える。すなわち、LDAPO
INTER , Xは、PO INTERの値の組み合
わせ(16ビットのアドレス)にXレジスタに貯えられ
ている値を加えたものによシアドレス指定されるメモリ
・ロケーションからデータをマイクロコンピュータによ
う読み出す命令である。これは非常に有効な方法である
が個々のマトリックスをアドレスするのに大きなメモリ
部を必要とする。
For example, if X=8 and the pointer (POINTER) is the starting point (in memory) of the data table, then LDA POINTER. X retrieves the 8th byte after POINTER in memory and stores it in an accumulator. That is, LDAPO
INTER, be. Although this is a very effective method, it requires a large memory section to address each individual matrix.

発明の概要 複数のマトリックスの中の任意のものに貯えられている
全てのデータを取シ出すために単一のサブルーチンが使
用されることが理解される。個々のマトリックスをアド
レスするために、単一のサブルーチンが所望のマトリッ
クスの開始位置を加算することによう変更される。開始
位置に関するデータはテーブルに貯えられる。
SUMMARY OF THE INVENTION It is understood that a single subroutine is used to retrieve all data stored in any of the multiple matrices. To address individual matrices, a single subroutine is modified to add the starting positions of the desired matrices. Data regarding the starting position is stored in a table.

実施例 第1図は、先に説明したタイプの中の学習形式ノリモー
トコントロール・ハンドユニットトシテ使用するのに適
した装置を示す。制御器100はマイクロプロセッサで
よい(ここで使用されているようにマイクロプロセッサ
およびマイクロコンピュータという用語は同じ意味のも
のである)。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a device suitable for use in a learning type remote control hand unit of the type previously described. Controller 100 may be a microprocessor (as used herein, the terms microprocessor and microcomputer are interchangeable).

制御器100は、制御器100の各種の機能のタイミン
グを設定するクロック信号をクロック発振器110から
受け取る。制御器100は、プログラムされた命令に従
って、制御器100の内部にある場合もあるし、そうで
ない場合もあるメモリ!20をアドレスする。メモリ1
20は、汎用(1たはスクラッチ・パッド)領域122
およびデータ領域124を含んでいる。1た、制御器1
00は、数字キー0−9、チャンネル・アッゾ゜キー 
チャンネル・ダウン・キー パワー・オン/オフ・キー
を含む1群のキー132から戒るキーが−ド130によ
シユーザーが入力するデータを受け取る。キーボード1
30は1学習モード”(以下に説明する)を開始させる
ためのスイッチ134を含んでいることもある。このス
イブチはキー134としてキーボード130上に示され
ていルカ、リモートコシトロール・ハンドユニット上の
どこか別の所に配置される別個のトグル・スイッチでも
よい。第1図の実施例では、キー134は“トグル”特
性を示すものとする。すなわち、キー134を1回押す
と学習モードとなう,キー134を2回に押すと、リモ
ートコントロール・ハントユニツ} ハ通常のリモート
コントロール・モードに戻り、ここでユーザーによる指
令が制御可能な装置に送られる。
Controller 100 receives clock signals from clock oscillator 110 that set the timing of various functions of controller 100. The controller 100 may or may not reside within the controller 100 according to programmed instructions! Address 20. memory 1
20 is a general purpose (1 or scratch pad) area 122
and a data area 124. 1. Controller 1
00 is number keys 0-9, channel azo key
A channel down key from a group of keys 132, including a power on/off key, receives data entered by the user into the keypad 130. keyboard 1
30 may also include a switch 134 for initiating a ``learning mode'' (described below). It may also be a separate toggle switch located elsewhere. In the embodiment of FIG. Now, pressing key 134 twice returns the remote control hunt unit to the normal remote control mode in which user commands are sent to the controllable device.

学習モードのとき、IR受信機140はエミエレートサ
レルリモートコントロール・ハンドユニットが送信する
IR信号を受信し、これらのIR信号を表わすディジタ
ル・データを制御器100に供給する。制御器100は
、1生の″(すなわち、圧縮されていない)データを汎
用メモリ122に貯える。その後1生の1データは圧縮
され、後の検索のために貯えられる。記憶するためにコ
ードを圧縮するリモートコントロール装置の一例はウェ
ルズザセカンド(Welles II )氏に付与され
た米国特許第4, 6 2 3, 8 8 7号に開示
されている。
When in the learning mode, IR receiver 140 receives IR signals transmitted by the Emirate Sarel remote control hand unit and provides digital data representative of these IR signals to controller 100. The controller 100 stores the raw (i.e., uncompressed) data in general purpose memory 122. The raw data is then compressed and stored for later retrieval. An example of a remote control device for compression is disclosed in U.S. Pat. No. 4,623,887 to Welles II.

通常のリモートコントロール●モードにおいて、コマン
ドについてのリモートコントロール信号の送信が望1れ
るとき、制御器100は記憶されたコードを非圧縮化し
、この結果得られる非圧縮化コードを送信のためにバー
ストとスペースの適正なシーケンスを組み立てる出力ユ
ニット160に送る。クロック発振器110は出力ユニ
ット160によシ低い周波数の信号を供給する分周器1
50にクロック信号を供給する。このよう低い周波数の
信号は送信のためにIRダイオード170に供給される
データ・ストリームのバースト成分を形成する。
In the normal remote control mode, when it is desired to transmit a remote control signal for a command, the controller 100 decompresses the stored code and bursts the resulting decompressed code for transmission. It is sent to an output unit 160 which assembles the proper sequence of spaces. The clock oscillator 110 is connected to a frequency divider 1 which provides a lower frequency signal to the output unit 160.
50 with a clock signal. These low frequency signals form the burst component of the data stream that is provided to the IR diode 170 for transmission.

これに代る別の方法として、分周器150は省くことが
でき、出力を速く“トグリング(toggling)す
ることによシバースト・パルスは制御器100により発
生される。
Alternatively, frequency divider 150 can be omitted and the siburst pulses are generated by controller 100 by rapidly "toggling" the output.

ROMをペースとするシステムにおいては、圧縮ハリモ
ートコントロール・ハンドユニツ}Ki行なわれず、R
OMに貯えられる圧縮コントロール・コードを発生する
ために予め工場で行なわれる。
In a ROM-based system, compression is not performed and R
This is done previously at the factory to generate the compression control code that is stored in the OM.

この場合、IR受信機140および1学習モード”キー
134はlJモートコントロール・ハンドユニットから
省くことができる。
In this case, the IR receiver 140 and the "Learn Mode 1" key 134 can be omitted from the lJ remote control hand unit.

制御される各装置に対する個々の指令はメモリ中の各記
憶場所に貯えられる。第2図は、テーブル(すなわち、
1次元マトリックス)にグループ分けされた多数の記憶
場所を示す。第2図の各グルーf215,225,23
5は256個の記憶場所を有するものとして示されてい
るが、各グループは最大256個(256個の記憶場所
の制限については以下に説明する)1での中の任意の数
の記憶場所を取シ得ることを理解されたい。関連データ
を含んでいる記憶場所のグループを多次元のマトリック
スで構成することはプログラマにとって都合のよい場合
がしばしばある。第3図は、記憶場所が列と行(すなわ
ち、2次元マトリックス)に構成されている2次元マト
リックスを示す。
Individual instructions for each device to be controlled are stored in respective locations in memory. Figure 2 shows the table (i.e.
1 shows a number of memory locations grouped into a one-dimensional matrix (one-dimensional matrix). Each glue f215, 225, 23 in Figure 2
5 is shown as having 256 locations, each group may have any number of locations up to 256 (the 256 location limit is explained below). Please understand that you may receive a refund. It is often convenient for programmers to organize groups of memory locations containing related data into multidimensional matrices. FIG. 3 shows a two-dimensional matrix in which storage locations are organized into columns and rows (ie, a two-dimensional matrix).

第5図は、メモリ構成が見た目に本の頁に似ているから
槓一ジ・メモリと呼ばれるメモリで構成される3次元マ
トリックスを示す。
FIG. 5 shows a three-dimensional matrix made up of memories called unidirectional memories because the memory organization visually resembles the pages of a book.

第2図および第3図にかける類似の参照番号は類似の機
能を有する要素を示す。従って、第3図についてのみ詳
細に説明する。第3図に示すように、マトリックス(3
1 5,325 ,335)の個々の列は、各サブルー
チンと各列の間の点線で示されるように、個々のサブル
ーチン(310,320,330)によりアドレスされ
る。これらのせブルーチンは列中の個々の行をアドレス
するために指標ポインタ方式を使用する。ポインタは所
望の列の開始アドレス(それぞれAO , BO ,C
O)を示す。指標値はマイクロコンピュータ内に存在す
るレジスタに入っている。このレノスタはXレジスタと
して知られる。Xレジスタに入っている値はポインタ・
レ・ゾスタに入っている値に加算され、所望の記憶場所
の最終アドレスとなる。
Like reference numerals in FIGS. 2 and 3 indicate elements having similar functions. Therefore, only FIG. 3 will be described in detail. As shown in Figure 3, the matrix (3
1 5 , 325 , 335 ) are addressed by individual subroutines ( 310 , 320 , 330 ), as indicated by the dotted lines between each subroutine and each column. These subroutines use an index pointer method to address individual rows within a column. The pointer is the starting address of the desired column (AO, BO, C
O). The index value is stored in a register located within the microcomputer. This renostar is known as the X register. The value stored in the X register is a pointer.
It is added to the value contained in Re zosta to become the final address of the desired storage location.

Xレジスタは8ピット長であるから,2551での値を
保持することができる。従って、ポインタ・レノスタの
値は2551での追加の記憶場所により“オフセット″
(offset)される。小さなマトリックスの場合、
幾つかの次元から成るものであっても、単一の8ビット
指標レジスタで何の問題も生じない。
Since the X register has a length of 8 pits, it can hold a value of 2551. Therefore, the value of the pointer renoster is "offset" by the additional storage location at 2551.
(offset). For small matrices,
Even with several dimensions, a single 8-bit index register poses no problem.

多次元のマトリノクスM ( i,j,k,・・・)に
ついて1 < 2**ni + j< 2**” j 
t k< 2**rk ’ ”’ni+nj十nk+・
・・〈=8 (ここで、2**n・の表記法はコンビ一一タ・プl ログラミングの技術分野に釦いてn,を2で累乗するこ
とを意味することが知られている。)Mは指標レジスタ
を以下のようにビット・マッピングすることによシ割付
けることができる。
For a multidimensional matrix M (i, j, k, ...) 1 < 2** ni + j <2**" j
t k<2**rk'”'ni+nj tennk+・
. ) M can be allocated by bit mapping the index register as follows.

nbits+ nJbfts + nkbi ts +
 −l 一例として、上記の式において、−1 ,″はマトリッ
クスの個々の列の数を表わし、”j″はマトリックスの
個々の行の数を表わし、゛k″は(第5図に示すように
)列訃よび行の個々のページを表わすことができる。
nbits+ nJbfts + nkbits +
-l As an example, in the above formula, -1,'' represents the number of individual columns of the matrix, ``j'' represents the number of individual rows of the matrix, and ``k'' (as shown in Figure 5). ) can represent individual pages in columns and rows.

従って、iXjXkX・・・<= 2 5 6バイトの
任意の多次元マトリックスは、それを1次元マトリック
スとして考え、指標レジスタを直接使うことによシ処理
することができる・。この種のマトリックスを処理する
のに必ずしも最も効率的な方法ではないけれども、この
方法はよく知られて卦シ、よく使われる。より大きなマ
トリックスの場合、すなわち、ni+nj+nk+・・
・〉8ならば、別のアドレス指定方法を使わなければな
らない。
Therefore, any multidimensional matrix of iXjXkX...<=2 5 6 bytes can be processed by considering it as a one-dimensional matrix and using the index register directly. Although not necessarily the most efficient way to process this type of matrix, this method is well known and often used. For larger matrices, i.e. ni+nj+nk+...
->8, another addressing method must be used.

不規則マトリックスと呼ばれる或る種のマトリックスは
或る範囲の要素(例えば、ioにむける要素jo − 
j4, itにかける要素joj+,izに釦ける要素
jo  5tなど)だけを使用する。このような不規則
マ} IJックスの一例が第3a図に示されている。こ
のようなマトリックスにかいて使われていないバイトの
全てについてメモリを割当てることは、メモリ空間の大
きな部分がむだになっていることを意味する。不規則マ
トリノクスをアドレス指定する典型的な方法は、データ
を取り出す列一指標付きサブルーチンに行指標を送るこ
とである。これは例により最もよ〈示すことができる。
Some types of matrices, called irregular matrices, have a range of elements (e.g. elements jo to io -
j4, the element joj+ for it, the element jo5t for iz, etc.) are used. An example of such an irregular IJ box is shown in Figure 3a. Allocating memory for every unused byte in such a matrix means that a large portion of memory space is wasted. A typical way to address an irregular matrix is to send a row index to a column-one-indexed subroutine that retrieves the data. This can best be illustrated by an example.

例えば、第3a図の記憶場所I2  DATA5(メモ
リ要素i = 2 + j= 5、ここでM(i<4,
 j<8))に貯えられるデータ・バイトを取り出すた
めに次のサブルーチン(モトローラのマイクロプロセッ
サ6805用にアセンブリ言語で書かれていろ)を使う
ことができる。当該技術分野の当業者にはIQ  DA
TAがデータ・テーブルの始まりについての16ビット
のポインタであることが分る。あるいは、IO  DA
TAは、記憶場所から成るマトリックスの最初の場所1
0  DATA Oの16ビットのアドレスを表わすラ
ベルとして考えることもできる。
For example, in FIG. 3a, memory location I2 DATA5 (memory element i = 2 + j = 5, where M(i<4,
The following subroutine (written in assembly language for the Motorola 6805 microprocessor) can be used to retrieve the data bytes stored in the microprocessor 6805 (j < 8)). IQ DA for those skilled in the art
It can be seen that TA is a 16-bit pointer to the beginning of the data table. Or IO DA
TA is the first location 1 in the matrix of memory locations
It can also be considered as a label representing a 16-bit address of 0 DATA O.

前記の例において、個々のサブルーチン、10  GE
T、IIGET,かよびI2GETは、各マトリックス
からデータを取り出すために使われる。簡単化するため
に、同様な第4のサブルーチンI3GETは示してない
。これらの個々のサブルーチンは第3a図にかいて参照
番号3ioa,320a ,330a ,340aでそ
れぞれ示される。これらの個別のサブルーチンの各々は
ROMに貯えられ、5バイト長である。各サブルーチン
がROMに貯えられ、各サブルーチンは変更することが
できないから、アドレスされる個々の列の16ビット・
アドレス(例えば、HIGH ADORESS OFI
O  DATA O , LOWADDRESS OF
 IO DATA O )を含んでいなければならない
ことに注目されたい。
In the above example, the individual subroutines, 10 GE
T, IIGET, Kayo, and I2GET are used to retrieve data from each matrix. For simplicity, a similar fourth subroutine I3GET is not shown. These individual subroutines are designated by reference numerals 3ioa, 320a, 330a, and 340a, respectively, in FIG. 3a. Each of these individual subroutines is stored in ROM and is 5 bytes long. Since each subroutine is stored in ROM and each subroutine cannot be changed, the 16 bits of each addressed column
address (e.g. HIGH ADORESS OFI
O DATA O, LOWADDRESS OF
Note that it must contain IO DATA O).

先に示したルーチンは、■指標(すなわち、所望の列に
対するポインタ)の数値を求め、所望のデータを取り出
すためにマイクロコンピュータのノヤンデ先アドレスを
計算するプログラムの一部分であるGET  VALU
Eに入る。IQGETのサブルーチンは記憶場所IOG
ET+Oから始まる。
The routine shown above is a part of the program that calculates the numerical value of the index (that is, the pointer to the desired column) and the destination address of the microcomputer in order to retrieve the desired data.
Enter E. The IQGET subroutine is located in the memory location IOG.
It starts with ET+O.

IIGETのサブルーチンはIO  GET+.5から
始まる。同様に、I2GETのサブルーチンはIOGE
T+10から始まる。所望のデータを取9出すために正
しいサブルーチンに正確にジャンプするように、先に示
したGET  VALUEのルーチンに示す如く、指標
に5が掛けられなければならない。ZO  GET, 
I I  GET, T2  GETなどの各サブルー
チンの5バイトの中の3バイト( TAX , LDA
 , RTS )は同一であり、各サブルーチンで繰り
返えされることに注目されたい。このような小さなマト
リックスの場合、この方法は極めて効率的でない。しか
しながら、もっと大きなテーブルの場合には、この方法
は沢山のメモリ量をむだにしないようにするために使用
されてきた。
The IIGET subroutine is IO GET+. Starting from 5. Similarly, the I2GET subroutine is IOGE
Starting from T+10. In order to accurately jump to the correct subroutine to retrieve the desired data, the index must be multiplied by 5, as shown in the GET VALUE routine shown above. ZO GET,
3 bytes of the 5 bytes of each subroutine such as I I GET, T2 GET (TAX, LDA
, RTS) are identical and repeated in each subroutine. For such small matrices, this method is extremely inefficient. However, for larger tables, this method has been used to avoid wasting large amounts of memory.

この方法はI  INDEX(=51(5X51は25
5に等しく、8ピットのXレジスタに貯えることができ
る最も大きな値である)に制限され、さもなければ列の
ジャンプは正確に行なうことができない。
This method is I INDEX (=51 (5X51 is 25
5, which is the largest value that can be stored in the 8-pit X register), otherwise column jumping cannot be performed accurately.

この方法はかなり大きな指標を使ってマ} IJックス
を参照するが、それを実行するのに必要なコードは多数
の行について非常に速〈拡大する。先に述べたように、
この方法は51列で256行より小さいマトリックスに
のみ適用される。この明細書で説明する装置および方法
はこのような制限を取シ払うものである。
Although this method references the IJ box using a fairly large index, the code required to implement it grows very quickly over a large number of lines. As mentioned earlier,
This method only applies to matrices smaller than 51 columns and 256 rows. The apparatus and methods described herein remove these limitations.

本発明による装置は、所望の行データを取シ出すために
指標付き列によるサブルーチンを使う代シに、すべての
列からデータを取り出すために1つの汎用サブルーチン
を使用する。
The apparatus according to the invention uses one general purpose subroutine to retrieve data from all columns, instead of using indexed column subroutines to retrieve the desired row data.

次に第4図を参照して本発明を説明する。先に説明した
ように指標付き列による全てのサブルーチンは同じ大き
さと形式をとる。
Next, the present invention will be explained with reference to FIG. All subroutines with indexed columns have the same size and format as described above.

TAX           ;FETCH Rcyu
  xNDy本発明に従って初期化されると、この汎用
サプ# − f ン(FETCH) 4 5 0がRO
M 4 0 0から取り出され、RAM 4 1 0中
に単一のサブルーチン420としてオペレーションコー
ドごと(opcode by opcode )に貯え
られ、次のような方法でアクセスされる。
TAX ; FETCH Rcyu
xNDyWhen initialized according to the present invention, this general purpose sub-fetch (FETCH) 450 is RO
M400, stored opcode by opcode as a single subroutine 420 in RAM 410, and accessed in the following manner.

FETCH:LDA  COLIJMN.X ;FET
CH DATARTS        ;RETURN
 To CALLERWITHDATARAM空間に訃
いて、これは次のように定義される。
FETCH:LDA COLIJMN. X; FET
CH DATAARTS; RETURN
To CALLER WITHDATARAM space, this is defined as follows.

FETCH: LDAOPCODE  DB   1   ;IDAO
P■DE Pレ狂!D HETのHIGH INDX 
  DB   1   ;HIGH BYTE OF 
COLtJMN ADDRESSLQV INDX  
 DB   1   ; IIJJJ BYTE OF
 COLtJMN ADDRESSRTS OPCOD
E  DB   I   ;RTS OPCODE P
LA(JD HERERAM中のバイトLDA OPC
ODE釦よびRTS OPCODEは、このルーチンが
呼び出される前に個々のマイクロプロセッサについてオ
ペレーションコードな補正するように初期化され、その
後それらの値は変わらない。すなわち、記憶場所LDA
 OPCODEには、実行されるときXレジスタに貯え
られている値によりオフセットされる命令の直後にアド
レスが貯えられている記憶場所に貯えられている1バイ
トのデータを制御器により読み出させるコードバイトが
入れられる。
FETCH: LDAOPCODE DB 1 ; IDAO
P■DE Ple crazy! D HET's HIGH INDX
DB 1; HIGH BYTE OF
COLtJMN ADDRESSLQV INDX
DB 1 ; IIJJJ BYTE OF
COLtJMN ADDRESS RTS OPCOD
E DB I; RTS OPCODE P
LA (JD Byte LDA OPC in HERERAM
The ODE button and RTS OPCODE are initialized to correct the opcode for each individual microprocessor before this routine is called, and their values do not change thereafter. That is, storage location LDA
OPCODE contains a code byte that causes the controller to read one byte of data stored in the memory location whose address immediately follows the instruction offset by the value stored in the X register when executed. can be entered.

FETCHルーチンが最初にROMから読み出され、R
AMに貯えられるとき、記憶場所HIGH INDXお
よびL(71M− I NDXにはそこに貯えられる意
味のないデータが入っていることがある。記憶場所HI
GH  INDXおよびLOW INDXにおけるデー
タは所望のデータが貯えられている各マ} IJックス
(すなわち、記憶場所の群)の始tbを示す。正しいデ
ータが次のようにしてこれらの記憶場所に書き込1れる
The FETCH routine is first read from ROM and R
When stored in AM, storage locations HIGH INDX and L (71M-INDX may contain meaningless data stored there. Storage location HI
The data in GH INDX and LOW INDX indicate the beginning of each box (i.e., group of memory locations) where the desired data is stored. Correct data is written to these locations as follows.

FETCHサブルーチンは、列ポインタと呼ばれる隣接
して貯えられたアドレスから成るテーブル( COLt
JMN PTR ) 4 4 0をアクセスし、記憶場
所HIGH INDXとL,(FIIV rNDX K
列ポインタを貯える。
The FETCH subroutine uses a table of contiguously stored addresses called column pointers (COLt
JMN PTR ) 4 4 0 and access the memory locations HIGH INDX and L, (FIIV rNDX K
Store column pointer.

I O DATA , I l−DATAなどは16ピ
ットのアドレスであb1最初に生じるアドレスの高位8
ピットと共に2つの8ビット・バイトとして貯えられる
。これらのアドレスの各々が2バイト長であるから、I
 O DATAのアドレスは記憶場所COLUMN P
TR + Oから始1シ、I I DATAのアドレス
はCOLUMN PTR + 2から始1シ、I 2 
DATAのアドレスはCOLUMN PTR + 4か
ら始1る。従って、所望のデータを取シ出すよう正しい
アドレスを正確にアクセスするために、直ぐ前に示した
GET−VALUEのルーチンに示すように、指標に2
が掛けられる。
IO DATA, I l-DATA, etc. are 16-bit addresses. b1 High-order 8 of the address that occurs first
Stored as two 8-bit bytes with pits. Since each of these addresses is 2 bytes long, I
The address of O DATA is the memory location COLUMN P
Starting from TR + O, I I DATA address is COLUMN PTR + 1 starting from 2, I 2
DATA addresses start from COLUMN PTR + 4 and 1. Therefore, in order to accurately access the correct address to retrieve the desired data, the index must be
is multiplied.

この方法によると128(0−127)tでの列と25
6(0−255)tでの行を有するマトリックスを呼び
出すごとができ、それを行うのに必要なメモリはかなシ
少なくてよい。128列という制限はO−127列×2
バイト(各々について)から生じ、その最後の計数値は
255に等しく、この最高値を8ビットのXレノスタに
貯えることができる。この拡張されたデータ・アクセス
機能は適正なコードで“プログラム″RAMを初期化す
るROMをペースとするコードを加えるという小さな犠
牲を払うことによう得られる。
According to this method, the column at 128 (0-127) t and 25
Each call can be made to a matrix with 6 (0-255) t rows, and the memory required to do so is fleetingly small. The limit of 128 columns is O-127 columns x 2
bytes (for each), the last count of which is equal to 255, and this highest value can be stored in an 8-bit X renostar. This expanded data access functionality is obtained at the small cost of adding ROM-based code that initializes the "program" RAM with the appropriate code.

GET VALUEルーチンにおける追加のバイトはI
NCX命令を除去し、STA LOWJNDXの直前命
令をLDA COLUMN PTR + 1 , Xに
変えることによう確保されることに注目されたい。
The extra bytes in the GET VALUE routine are I
Note that it is reserved to remove the NCX instruction and change the instruction immediately preceding STA LOWJNDX to LDA COLUMN PTR + 1,X.

必要なら、256列×256行の大きさのマトリックス
は先に示しfcfログラムを以下に示すように変更する
ことによりアドレスすることができる。
If desired, a matrix of size 256 columns by 256 rows can be addressed by modifying the fcf program shown above as shown below.

この例において、列ポインタの高バイトと低バイトは、
第6図に示すように、別個のテーブル( H I CO
L PTRとL O COL PTR )に貯えられる
In this example, the high and low bytes of the column pointer are
As shown in Figure 6, a separate table (HI CO
L PTR and L O COL PTR ).

両方のテーブルがXレジスタに貯えられる同じ値により
指標付けされる。従って、前の例のように低いバイトを
1飛び越す”ために指標値に2を掛ける必要はない。2
を掛ける必要がないから、アドレス可能な256の全て
の記憶場所をマトリックスの開始場所を貯えるために使
用することができる。
Both tables are indexed by the same value stored in the X register. Therefore, there is no need to multiply the index value by 2 to "jump over the lower byte by 1" as in the previous example.2
Because there is no need to multiply , all 256 addressable storage locations can be used to store the starting location of the matrix.

リモートコントロール●ハンドユニットKl−ケる実施
例について本発明を説明したが、本発明の範囲はこれに
限定されるものではない。
Although the present invention has been described with reference to the embodiment of the remote control hand unit Kl, the scope of the present invention is not limited thereto.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は、本発明が具体化される学習リモートコントロ
ール型式のリモートコントロール・ハンドユニットをブ
ロック図形式で示したものである。 第2図は、読み出し専用メモIJ (ROM)中の記憶
場所についての公知の構成をブロック図形式で示したも
のである。 第3図は、第2図のROMの別の構成をブロック図形式
で示したものである。 第3a図は、記憶場所の不規則マ} IJックスの一例
をブロック図形式で示したものである。 第4図は、本発明の一実施例をブロック図形式で示した
ものである。 第5図は、“ページ″メモリに関する公知の構成を示す
。 第6図は、本発明の一実施例をブロック図形式で示した
ものである。 lOO・・・制御器、120・・・メモリ、130・・
・キーぱード、400・・・読み出し専用メモリ(RO
M)、410・・・RAM, 4 2 0・・・サブル
ーチン、440・・・アドレスから成るテーブル、45
0・・・汎用サブルーチン、600・・・ROM,61
0・・・RAM, 6 4 0 ,642・・・アドレ
スから成るテーブル、650・・・汎用サブルーチン。 茅2図 RO門 車ム 茅5図 茅6図
FIG. 1 shows in block diagram form a remote control hand unit of the learning remote control type in which the present invention is embodied. FIG. 2 shows in block diagram form a known arrangement of storage locations in a read-only memory IJ (ROM). FIG. 3 shows another configuration of the ROM shown in FIG. 2 in block diagram form. FIG. 3a shows, in block diagram form, an example of an irregular matrix of storage locations. FIG. 4 depicts in block diagram form one embodiment of the present invention. FIG. 5 shows a known arrangement for "page" memory. FIG. 6 depicts in block diagram form one embodiment of the present invention. lOO...controller, 120...memory, 130...
・Keypad, 400...Read-only memory (RO
M), 410...RAM, 4 2 0...subroutine, 440...table consisting of addresses, 45
0...General-purpose subroutine, 600...ROM, 61
0... RAM, 6 4 0, 642... Table consisting of addresses, 650... General purpose subroutine. Kaya 2 map RO gate car Mu Kaya 5 map Kaya 6 map

Claims (1)

【特許請求の範囲】[Claims] (1)データとして貯えられるプログラム命令を含んで
いるROM領域と複数の群で構成される複数の記憶場所
を含んでいるメモリ手段であって、前記データが前記群
の各開始場所のアドレスから成る前記メモリ手段と、 RAM領域と、 前記ROM領域とRAM領域に結合され、データとして
貯えられる前記プログラム命令を前記ROM領域から読
み出して該プログラム命令を前記RAM領域に貯え、前
記ROM領域から前記アドレスを読み出し、前記群の前
記各開始アドレスを貯えることにより前記RAM領域に
貯えられる前記データを変更して実行可能な命令を形成
し、前記RAM領域中の前記命令を実行して前記群の前
記記憶場所をアクセスする制御手段とを含む、リモート
コントロール・ユニットで使われるメモリをアドレス指
定する装置。
(1) A memory means comprising a ROM area containing program instructions stored as data and a plurality of memory locations arranged in a plurality of groups, said data consisting of an address of each starting location of said group. the memory means; a RAM area; and the ROM area and the RAM area are coupled to read the program instructions stored as data from the ROM area, store the program instructions in the RAM area, and read the address from the ROM area. modifying the data stored in the RAM area by reading and storing the respective starting addresses of the group to form executable instructions; and executing the instructions in the RAM area to access the storage location of the group. and control means for accessing the memory used in the remote control unit.
JP2100579A 1989-04-19 1990-04-18 Addressing device Expired - Fee Related JPH0824395B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US476651 1983-03-18
GB8908861.1 1989-04-19
GB898908861A GB8908861D0 (en) 1989-04-19 1989-04-19 Apparatus and method for addressing memory
US8908861.1 1990-02-12
US07/476,651 US5099233A (en) 1989-04-19 1990-02-12 Apparatus and method for addressing memory

Publications (2)

Publication Number Publication Date
JPH0316498A true JPH0316498A (en) 1991-01-24
JPH0824395B2 JPH0824395B2 (en) 1996-03-06

Family

ID=26295243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2100579A Expired - Fee Related JPH0824395B2 (en) 1989-04-19 1990-04-18 Addressing device

Country Status (4)

Country Link
JP (1) JPH0824395B2 (en)
DE (1) DE4012347A1 (en)
FR (1) FR2646255B1 (en)
GB (1) GB2232515B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6752128B2 (en) 2002-06-12 2004-06-22 Denso Corporation Intake system failure detecting device and method for engines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63290095A (en) * 1987-05-22 1988-11-28 Pioneer Electronic Corp Remote controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302809A (en) * 1978-06-29 1981-11-24 Burroughs Corporation External data store memory device
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
US4825200A (en) * 1987-06-25 1989-04-25 Tandy Corporation Reconfigurable remote control transmitter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63290095A (en) * 1987-05-22 1988-11-28 Pioneer Electronic Corp Remote controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6752128B2 (en) 2002-06-12 2004-06-22 Denso Corporation Intake system failure detecting device and method for engines

Also Published As

Publication number Publication date
FR2646255A1 (en) 1990-10-26
FR2646255B1 (en) 1993-01-22
DE4012347A1 (en) 1990-11-08
GB2232515A (en) 1990-12-12
JPH0824395B2 (en) 1996-03-06
GB2232515B (en) 1993-08-25
GB9008663D0 (en) 1990-06-13

Similar Documents

Publication Publication Date Title
US4866434A (en) Multi-brand universal remote control
KR100196602B1 (en) Apparatus and method for addressing memory
US4772956A (en) Dual block still video compander processor
EP0244002A1 (en) Method of transmitting update information for a stationary video picture
CN100414957C (en) Printing apparatus, printing process method
KR940002718A (en) Data transmission device
US6469751B1 (en) Remote control device and computer readable recording medium for recording a remote control program
JPH0316498A (en) Address assigner
ES8303863A1 (en) Table look-up of non-linear functions using reduced-sized rom.
US5428801A (en) Data array conversion control system for controlling conversion of data arrays being transferred between two processing systems
JP3836132B2 (en) How to transmit a teletext page
EP0209893A3 (en) Memory device
JPS6288490A (en) Teletext signal processing circuit
JP3572622B2 (en) Time axis expansion device and transmission device using time axis expansion device
TW364271B (en) Memory circuit
US5632042A (en) Data flow processor and data flow process changing system
KR100369990B1 (en) Still image reproducing device of dvcr, rlc coding format and coding method
JPH01162081A (en) Program retrieving method for character broadcast receiver
SU1446615A1 (en) Information compacting device
JPH0353387A (en) Method and apparatus for storing video signal data
JPS60136551U (en) Channel selection device
JPS5933373U (en) Video signal switching device
JPS62138975A (en) Image memory device
JPH01126863A (en) Common controller for signal
JPS5621276A (en) Initial value set system for white level follower

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees