PIC命令セットとは、Microchip Technology PIC または dsPICマイクロコントローラが サポートする命令セットを指します。命令は通常、プロセッサの フラッシュ メモリにプログラムされ、起動時にマイクロコントローラによって自動的に実行されます。
PICmicro チップはハーバード アーキテクチャを採用しており、命令ワードのサイズは特殊です。元々、12 ビット命令には、メモリ オペランドを指定する 5 つのアドレス ビットと、9 ビットの分岐先が含まれていました。その後の改訂では、オペコード ビットが追加され、追加のアドレス ビットを使用できるようになりました。
これらはアキュムレータ マシンであり、共通のアキュムレータ「W」がすべての 2 オペランド命令の 1 つのオペランドになります。
以下の命令セット表では、レジスタ番号は「f」、定数は「k」で表されます。ビット番号 (0~7) は「b」で選択されます。算術命令は、「d」ビットで選択された入力の 1 つに結果を書き込みます。0 は W を示し、1 は結果がソース レジスタ f に書き戻されることを示します。C および Z ステータス フラグは結果に基づいて設定される場合がありますが、それ以外の場合は変更されません。C を設定する加算および減算 (回転はしない) 命令は、BCD演算に役立つ、ビット 3 からビット 4 への桁上げである DC (桁上げ) フラグも設定します。
建築
メモリ オペランドは、「レジスタ」とも呼ばれます。ほとんどは単なる汎用ストレージ (RAM) ですが、一部の場所は特殊機能レジスタ用に予約されています。 1 つのアキュムレータ ( と呼ばれます) を除き、プログラム カウンタや ALUステータス レジスタWなどのレジスタも含め、他のほぼすべてのレジスタはメモリ マップされています。(メモリ マップされていないその他の例外は、戻りアドレス スタックと、 GPIOピンを構成するために使用されるトライステートレジスタです。)
一部の算術命令は、入力の 1 つだけを使用しますが、それでもビットを使用しますd。たとえば、は のMOVW値をW宛先にコピーします。d= 1 で使用すると、Wに格納されます。の値を出力するf対応する命令があります。 = 0で使用すると、にロードされます。 = 1 で使用すると、の値に応じてゼロ フラグを設定することだけが目に見える効果です。
MOVFfdfWdf
命令セットには条件分岐命令は含まれていません。代わりに、後続の命令を無視する条件スキップ命令が含まれています。条件スキップの後に無条件分岐が続くと、条件分岐が実行されます。スキップ命令は、任意のレジスタの任意のビットをテストします。ALU ステータス レジスタは、その 1 つの可能性です。
メモリオペランドは絶対アドレスで指定されます。その位置はコンパイル時に固定されます。間接アドレス指定を提供するために、特別な機能レジスタのペアが提供されます。
- ファイル選択レジスタ(
FSR)に目的のメモリオペランドのアドレスが書き込まれ、その後 - 間接ファイルレジスタ(
INDF)は、FSR によって指されるオペランドのエイリアスになります。
このメカニズムにより、命令セットが 5 ビットまたは 7 ビットの絶対アドレスしか許可していない場合でも、最大 256 バイトのメモリをアドレス指定できます。命令に収まるよりも多くのレジスタ (特殊機能レジスタと RAM) を備えたモデルでは、複数のメモリ バンクが提供され、それらにアクセスするために次の 2 つのメカニズムのいずれかが使用されます。
- ほとんどのベースライン コア デバイスと一部のミッドレンジ コア デバイスでは、ファイル選択レジスタの上位ビットを使用して現在のレジスタ バンクを選択します。
- 最近のモデルには、別個のバンク選択レジスタと、
MOVLBそれを設定する命令があります。
256 ワードを超えるプログラムを持つ PIC プロセッサは、ページ メモリを使用します。内部プログラム カウンタとリターン スタックは、すべてのメモリをアドレス指定するために必要な幅ですが、ソフトウェアにはPCL("PC 下位") レジスタの下位 8 ビットのみが表示されます。ソフトウェアによってのみ変更される追加の ("PC ラッチ上位") レジスタがあります。PCLATH完全な宛先アドレスを指定しない操作 ( GOTOPCL レジスタへの 9 ビットまたは 8 ビットの書き込みなど) は、PCLATH の対応する部分から追加の上位ビットを埋めます。(一部の PIC18 プロセッサは、ビット 16 ~ 23 を供給する PCLATU レジスタを使用してこれを 16 ビット以上に拡張します。)
ベースライン コア デバイス (12 ビット)
これは1976年に汎用計測器PIC1640とPIC1650で導入されたオリジナルの命令セットであり、 [1]それ以降追加されたのはNOP以外のさまざまな命令のみです。
*: 拡張命令。ほとんどの 12 ビット PIC では利用できません。拡張 RAM を搭載したモデルのうち、ほとんど (16C5x、16F5x など) は、FSR の上位ビットを使用してレジスタ アドレス空間を拡張します。一部のモデル (PIC12F529T39A など) には、この命令で設定できる別のバンク選択レジスタがあります。
†: 拡張命令。「拡張ベースライン」PIC でのみ利用できます。割り込みサポート (および 4 レベル スタック) を備えたごく少数のモデル (16F527、16F570、MCV20A) にのみ、これらの命令が含まれています。このようなモデルにはすべて、MOVLB も含まれています。
汎用計測器 PIC1670 (13 ビット、旧式)
1979 年に発表されたこの拡張 PIC は、64 バイトのレジスタ空間 (16 個の特殊機能レジスタと 48 バイトの RAM)、1024 ワードの ROM、6 レベルのハードウェア スタック、および割り込み処理をサポートしていました。PIC1665 は、マスク ROM 1670 のファームウェアの開発に使用される外部 ROM を備えたバリアントでした。
ステータス レジスタ (ビット 3) に符号付きオーバーフロー ビットが追加されました。ステータス レジスタ ビット 4 と 5 は、10 ビット プログラム カウンタの上位 2 ビットへの読み取り専用アクセスを提供します。
命令セットは、アドレス フィールドが拡張された 12 ビット PIC とほぼ同じです。ただし、8 ビットの即値命令には、追加のオペコード ビットが追加されます。命令セットには、8 ビットの即値オペランドを持つ 4 つの命令を追加するのではなく、8 ビットのオペランドを持つ 2 つの命令、7 ビットのオペランドを持つ 2 つの命令 (6 ビットのアドレスと方向ビット)、および 6 ビットのオペランドを持つ 4 つの命令 (6 ビットのアドレス) が追加されます。
- 8 ビットの即値グループは、ADDLW と RETLW を追加することで 6 つの命令に増えます。後者は制御転送グループから移動され、CALL 命令で完全な 10 ビット アドレスを使用できるようになります。
- ALU 演算グループは、キャリー付き加算/減算 (ADCWF、SUBBWF) 命令 (7 ビット オペランド) を取得します。
- CLRW 命令は削除されます (6 ビットのメモリ アドレスが無駄になり、MOVLW 0 が重複します)。
- 6 ビットのメモリ アドレス オペランドを持つ 5 つの新しい命令が追加されました。これらには宛先選択ビットがなく、結果を書き込まない 3 つの「比較とスキップ」命令と 2 つの「キャリーなしの回転」命令が含まれます。
この命令セットは現在製造されている部品では使用されておらず、歴史的な興味のみを目的としています。
ELAN Microelectronics クローン (13 ビット)
ELAN Microelectronics Corp.は、 13ビットの命令語を持つPICmicroのようなマイクロコントローラシリーズを製造しています。[4] 命令はミッドレンジの14ビット命令セットとほぼ互換性がありますが、6ビットのレジスタアドレス(16個の特殊目的レジスタと48バイトのRAM)と10ビット(1024ワード)のプログラムスペースに制限されています。
10 ビットのプログラム カウンタは R2 としてアクセスできます。読み取りは下位ビットのみにアクセスし、書き込みは上位ビットをクリアします。例外は TBL 命令で、ビット 8 と 9 を保持しながら下位バイトを変更します。
7 つのアキュムレータ即値命令は、14 ビット PICmicro を基準にして番号が変更され、4 ビットではなく 3 ビットのオペコードに収まるようになっていますが、追加のソフトウェア割り込み命令とともに、それらはすべて存在します。
いくつかの追加の命令があり、用語も多少変更されています (PICmicro OPTION レジスタは CONTrol レジスタと呼ばれ、PICmicro TRIS レジスタ 1 ~ 3 は I/O 制御レジスタ 5 ~ 7 と呼ばれます) が、同等のものは明らかです。
*: 12ビットPICと同じオペコード
†: PICに相当するものがないEM78命令セット固有の命令
一部のモデルは、他の PIC マイクロコントローラと同様に、複数の ROM または RAM バンクをサポートします。
命令セットには15ビット版もあり、レジスタ番号が8ビットに拡大され、呼び出しアドレスとジャンプアドレスが12ビットに拡大されている点を除いてはほぼ同じである。その他の違い: [9]
- CONTW、IOW、CONTR、IOR、INT命令は削除され、
- 8ビットリテラルの演算では、ビット8と9に2つの0ビットが追加されます。
- 4ビットリテラルの拡張では、ビット4と5に2つの0ビットが追加され、
- PAGE 命令と BANK 命令は SBANK と GBANK に名前が変更され、それぞれ特殊機能レジスタと汎用 RAM のバンク切り替えを実行します。
第 2 世代の 15 ビット命令セットには、いくつかの追加命令が含まれています。
*: 13 ビット EM78 と同じオペコード
†: EM89F768N のみ; オペランドと結果は特殊レジスタに格納されます
‡: EM88F794N、MTF213、MTF351 のみ
ミッドレンジ コア デバイス (14 ビット)
これらのデバイスは、14 ビット幅のコード メモリと、改良された 8 レベルの深いコール スタックを備えています。命令セットはベースライン デバイスとほとんど変わりませんが、2 つの追加オペコード ビットにより、128 個のレジスタと 2048 ワードのコードに直接アドレス指定できます。その他の命令がいくつか追加され、8 ビットのリテラル命令 (加算と減算) が 2 つ追加されています。ミッドレンジ コアは、PIC12 および PIC16 というラベルの付いたデバイスのほとんどで使用できます。
強化されたミッドレンジ コア デバイス (14 ビット)
強化されたミッドレンジコアデバイスでは、より深いハードウェアスタック、追加のリセット方法、14の追加命令、およびCプログラミング言語の最適化が導入されています。[12] 特に、2つのINDF registers(INDF0およびINDF1)と、2つの対応するFSRレジスタペア(および)があります。特殊命令は、さまざまなアドレッシングモードを備えたアドレスレジスタなどのレジスタを使用します。
FSRnLFSRnHFSRn
Holtek クローン (14、15、または 16 ビット)
Holtek は、 (非拡張) ミッドレンジ コアと同等の 14 ビット命令ワードを備えた 8 ビット マイクロコントローラを多数製造しています。命令エンコーディングはすべて 14 ビットに収まり、7 ビットのオペランド アドレスを提供します。
命令フォーマットは Microchip のものと同一ですが、オペコードの割り当て順序が異なり、メーカーは異なる命令ニーモニックを使用しています。アキュムレータは W ではなく ACC と呼ばれ、宛先はオペランドではなく命令ニーモニックのサフィックスで指定されます。(アキュムレータをデフォルトで使用しない命令はメモリに書き戻し、宛先がアキュムレータであることを示すために A サフィックスを使用します。2 つのオペランドを使用する命令はデフォルトでアキュムレータに書き込み、メモリ宛先を示すために M サフィックスを使用します。)
異なるオペコードの割り当てに加えて、いくつかの命令には意味上の違いがあります。
- 減算命令はアキュムレータからオペランドを減算しますが、Microchip の減算命令はその逆を行います。(これにより、減算即時命令は負の加算と同等になるため、冗長になります。)
- アキュムレータへの移動命令とクリア命令はフラグを変更しません。
- ゼロ、キャリー、および桁キャリーフラグ (Holtek では AC と呼ばれます) に加えて、AC を設定するのと同じ加算命令と減算命令によって設定されるオーバーフロー フラグがあります。
14 ビット PICmicro レパートリーにいくつかの操作が追加されました。
- キャリーなしで1ビットを左と右に回転します。
- オペランドをすべて1に設定する。
- オペランドがゼロの場合はスキップする(最初に増分または減分せずに)。
- オペランドがゼロ以外の場合はスキップする(一部のモデル)
- 繰り上がりのある加算と減算、
- 2進化10進数演算の場合、加算後の小数点調整、および
- プログラム ROM から読み取り、テーブル検索を行います。これは TBHP および TBLP レジスタを 16 ビット ポインタとして使用し、そこからワードをフェッチし、下位バイトを指定された場所に格納します。フェッチされたワードの上位 6 ~ 8 ビットは TBLH レジスタに格納されます。2 番目の形式では TBLP のみを使用し、ROM の最上位 256 バイト ページから読み取ります。一部のモデルには、TBLP を事前に増分するバリアントが含まれています。
- ほとんどのモデルは、ウォッチドッグ タイマーをリセットするための 2 番目の命令をサポートしています。この命令は最初の命令と交互に実行する必要があります。1 つの命令の繰り返しは無視されます。これにより、2 つの独立したウォッチドッグ ルーチンを実行でき、どちらかが失敗するとウォッチドッグがトリガーされます。
- Holtek は、拡張 14 ビット PIC と同様に、2 つの間接アドレス指定レジスタを提供しています。一部のモデル (HT66F70A など) では 3 つ提供しています。最初の間接アドレス指定レジスタ (IAR0) は 8 ビット アドレス レジスタ (MP0) を使用し、常に RAM の下位バンクをアドレス指定します。IAR1 と IAR2 は追加の RAM アドレス ビット (MP1H と MP2H) を提供し、追加の RAM バンクへのアクセスを可能にします。[13]
15ビットモデルでは、命令のビット14を8番目のオペランドアドレスビットと12番目のCALL/JMPターゲットアドレスビットとして使用します。16ビットモデルでは、13番目のCALL/JMPターゲットアドレスビットが追加されますが、9番目のオペランドアドレスビットは追加されません。[14]
代わりに、一部の 16 ビット モデルでは拡張命令セットがサポートされています。これにより、いくつかの新しい命令 (増分/減分なしのバイト スキップ、キャリー付き即値減算、アドレス増分付き ROM 読み取り) が追加されますが、すべてのメモリ命令の 2 ワードの「長い」バリアントも追加されます。オペコードのビット 15 が設定されている場合、オペコード ビット 0~6 および 14 の 8 ビット オペランド アドレスが、次の命令ワードのビット 0~7 を使用して 16 ビットに拡張されることを示します。このような命令は L プレフィックス (ADD ではなく LADD) で記述され、実行に余分なサイクルがかかります。[13]
*: 拡張命令セットを備えた 16 ビット モデルでは、長い形式の命令が使用可能です。
†: 拡張命令セットを備えた 16 ビット モデルでのみ使用可能な命令です。
Padauk マイクロコントローラ (13、14、15、または 16 ビット)
パダウクテクノロジーは、PICに似たマイクロコントローラのシリーズを製造しており、その価格は非常に安く、大量購入で0.033ドルから始まり、[16]多くのモデルは0.10ドル未満です。[17] [18] [19]
明らかにマイクロチップPIC12シリーズから派生したものですが、[17] [20] いくつか重要な違いがあります。
- 間接メモリ アクセスを実行するために FSR/INDF メカニズムは使用せず、代わりに任意の RAM 位置をポインターとして使用する間接ロードおよびストア命令を使用します。
- スタック ポインタ レジスタを備えた RAM ベースの呼び出しスタックを使用します。
- キャリーフラグは、 Microchip が使用する「キャリー ビット」規則ではなく、減算に「借用ビット」規則を使用します。
- これらには符号付きオーバーフロー フラグも含まれており、これは桁上げと同様に、加算、減算、比較命令 (シフト命令を除く、キャリー フラグを設定するすべての命令) によって設定されます。
- これらには、別々の RAM と I/O レジスタのアドレス空間 (13 ビット命令セットではそれぞれ 64 バイトと 32 バイト) があります。
- ビット操作は I/O 空間と最初の 16 個の RAM アドレスに制限されます。
- メモリソースとアキュムレータ宛先を持つ単一オペランド命令は省略されます。
- アキュムレータのソースとデスティネーションを持つ単一オペランド命令が提供されます。
- 減算演算は、宛先 − ソースを計算し、宛先に応じて入力オペランドを交換します。
- 動作が高速で、ほとんどの命令に1サイクル、制御転送に2サイクルしかかかりません。
- 一部のモデルは、実行がインターリーブされる複数の実行コンテキストを持つ、時間的なマルチスレッドをサポートしています。
14 ビット、15 ビット、16 ビットの命令セットは、主にアドレス フィールドが広い点が異なりますが、いくつかの追加命令 (CNEQSN比較を実行して等しくない場合はスキップする など) を可能にするためにエンコードの変更が行われます。
PIC18 ハイエンド コア デバイス (16 ビット)
2000年、マイクロチップはPIC18アーキテクチャを導入しました。[1] 17シリーズとは異なり、PIC18は非常に人気があり、現在多数のデバイスバリアントが製造されています。アセンブリ言語でプログラムされることが多かった以前のデバイスとは対照的に、Cが主流の開発言語になりました。[25]
PIC18 には 12 ビットの RAM アドレス空間があり、256 バイトの 16 ページに分割されています。8 ビットのフィールドは、ビットおよび 4 ビットのバンク選択レジスタ ( )fと組み合わせてアドレスを決定します。 =0 の場合、 は無視され、フィールドは 0x000~0x07F (グローバル RAM) または 0xF80~0xFFF (特殊機能レジスタ) の範囲に符号拡張されます。=1 の場合、フィールドは で拡張され、12 ビットのアドレスが生成されます。
aBSRaBSRfafBSR
PIC18 は、以前の PICmicro プロセッサで間接アドレッシングに使用されていたFSR/INDFメカニズムを 2 つの方法で拡張します。
まず、3 つの ファイル選択レジスタが提供されます。レジスタの長さは 12 ビット (それぞれから までの2 つの 8 ビット部分に分割されます) で、対応するレジスタ (から) へのアクセスは、アドレス指定されたバイトのエイリアスとして機能します。
FSRnFSR0LFSR2HINDFnINDF0INDF2
2 番目に、アドレッシング モードがあります。3 つのモードそれぞれに 1 つのレジスタではなく 5 つのレジスタがあり、使用されるレジスタによってアドレッシング モードが決まります。
INDFn
INDFn: 位置のバイトにアクセスFSRnPOSTDECn: のバイトにアクセスし、デクリメントするFSRnFSRnPOSTINCn: のバイトにアクセスし、インクリメントするFSRnFSRnPREINCn: を増分し、増分したバイトにアクセスするFSRnFSRnPLUSWn: バイトにアクセスします(インデックス アドレス指定)。FSRn + W
12 ビット アドレスを持つ FSR ペアを直接ロードする命令や、MOVFF2 つの 12 ビット アドレス間でバイトを移動する命令もあります。
*: これらの拡張命令は、一部のモデルでのみ使用可能であり、その場合もXINST構成ビットが設定されている場合にのみ使用可能です。
PIC24およびdsPIC 16ビットマイクロコントローラ
2001年にマイクロチップ社はdsPICシリーズのチップ[27]を発表し、 2004年後半に量産に入った。これはマイクロチップ社初の16ビットマイクロコントローラである。PIC24デバイスは汎用マイクロコントローラとして設計されている。dsPICデバイスにはさらに デジタル信号処理機能も含まれている。
命令には主に 2 種類あります。1 つは、古典的な 1 オペランド PIC 命令に似ており、W0 と指定された f レジスタ (つまり RAM の最初の 8K) の値の間で演算を行い、結果で更新される宛先選択ビットを選択します。W レジスタはメモリ マップされているため、f オペランドで W レジスタを指定できます。
PIC24 に新しく追加されたもう 1 つの形式では、3 つの W レジスタ オペランドが指定され、そのうち 2 つでは 3 ビットのアドレッシング モード指定が可能です。
レジスタ オフセット アドレッシング モードは、命令でのみ使用可能です。この命令では、Ww レジスタをソース、宛先、またはその両方のレジスタ オフセットとして使用できます。他のすべての命令では、代わりにこのエンコーディングを符号なし 5 ビットの即値ソースに使用します。
MOV src,dst
TBLRDプログラム メモリにアクセスするおよびのオペランドについてはTBLWT、間接モードのみが許可され、コード メモリ内のアドレスを参照します。
いくつかの命令は 2 ワードの長さです。2 番目のワードは NOP で、最大 16 ビットの追加の即値オペランドが含まれます。
参考文献
- ^ Gruppuso, Frank M. (1982). 「第 35 章 PIC1650: チップのアーキテクチャと動作」(PDF)。Siewiorek, Daniel P.、Bell, C. Gordon、Newell, Allen (編) 著。『コンピュータ構造: 原理と例』( PDF)。McGraw-Hill。ISBN 0-07-057302-6. 2024年8月18日閲覧。
- ^ PIC10F200/202/204/206 データシート(PDF) 。Microchip Technology。2007年、p. 52。 2015年8月11日時点のオリジナル(PDF)からアーカイブ。2015年1月15日閲覧。
- ^ General Instrument. PIC1670 8ビットマイクロコンピュータ(PDF) (データシート) . 2024年8月18日閲覧。
- ^ “義隆電子股份有限公司義隆電子,再創未來!”.
- ^ ELAN Microelectronics Corp. (2016 年 4 月 26 日)、EM78P157N 8 ビット マイクロコントローラ (OTP ROM 搭載) 製品仕様(PDF)、バージョン 1.3、2016年 3 月 4 日にオリジナルからアーカイブ(PDF) 、 2020 年 6 月 6 日に取得
- ^ ab ELAN Microelectronics Corp. (2016 年 4 月 25 日)、EM78P143 8 ビット マイクロプロセッサ (OTP ROM 搭載) 製品仕様(PDF)、バージョン 1.7、p. 77、2020 年 6 月 6 日取得
- ^ ELAN Microelectronics Corp. (2016 年 4 月)、EM78P346N 8 ビット マイクロプロセッサ (OTP ROM 搭載) 製品仕様(PDF)、バージョン 1.5、p. 77、2019年 7 月 11 日取得
- ^ ELAN Microelectronics Corp. (2000 年 4 月 17 日)、EM78860 8 ビット マイクロ コントローラ(PDF)、p. 17、2019 年 7 月11 日取得
- ^ ELAN Microelectronics Corp. (2013 年 3 月 15 日)、EM78F648/644/642/641N/548/544/542/541N フラッシュ シリーズ 8 ビット マイクロコントローラ製品仕様(PDF)、バージョン 1.2、pp. 162–165、2019年 7 月 11 日取得
- ^ Elan eUIDE II v2.19.60.14 の命令エンコード テーブルから派生。2019 年 5 月 1 日にリリースされ、2019 年 7 月 13 日にアクセスされました。具体的には
Bin/*.cfgファイルです。 - ^ ELAN Microelectronics Corp. (2014-01-14)、EM78XXX 15 ビット命令セット(PDF) 、 2019 年 7 月 13 日取得
- ^ 「拡張ミッドレンジ アーキテクチャの紹介」(PDF)。マイクロチップ。
- ^ ab Holtek Semiconductor Inc. (2016 年 12 月 11 日)、HT8 MCU 拡張命令セット アプリケーション(PDF) (アプリケーション ノート)、AN0407E 、 2024 年 2 月 9 日取得
- ^ Holtek Semiconductor Inc. (2019年11月26日)、2.4GHz 8ビットフラッシュRF TX/RX MCU BC66F840/BC66F850/BC66F860 (PDF) (データシート)、バージョン1.60、p. 32 、 2024年2月9日取得。オペランド アドレスは 0xFF までしか使用できず、追加の RAM はバンキングによってアドレス指定されることに注意してください。
- ^ Wolf, Ash「Ninji」(2018年12月12日)。「Mouse Adventures #3: Writing a Disassembler」 。 2019年7月8日閲覧。
- ^ Carlson, Jay (2019年9月6日). 「3セントのマイクロコントローラーの現状は?(Padauk PMS150Cとその仲間のレビュー)」。2020年5月18日閲覧。
- ^ ab 「「ひどい」3セントMCU - 0.10ドル未満のマイクロコントローラの簡単な調査」。Timのブログ。2019年8月12日。 2020年5月18日閲覧。
- ^ 「無料の PDK ドキュメント」。Padauk
µC は、Microchip PIC アーキテクチャの拡張とも言える興味深いアーキテクチャを備えています。
- ^ 「ATtiny4 と 3 Cent Micro のチップチューン: Padauk への移植」。
一部の人によると、Padauk の命令セットは古い PIC から大きな影響を受けており、ほとんどの操作は単一のアキュムレータ レジスタで実行されます。
- ^ ジェニー・リスト「入手可能な最も安価なプロセッサについて知りたいことすべて」2019年。
- ^ ウルフ、アッシュ「忍者」 (2018年12月12日). 「PADAUK FPPA MCU のドキュメント」。GitHub。2020年5月18日に取得。
- ^ Padauk Technology Co. Ltd. (2018 年 12 月 11 日). 「PMC150/PMS150 8 ビット OTP タイプ IO コントローラ」(PDF) (データ シート). バージョン 1.8。pp. 38–51。PDK-DS-PMX150-EN-V108。2020年 6 月 8 日閲覧。
- ^ Wolf, Ash「Ninji」(2020年5月23日)。「PADAUK FPPAコアデバイス(14ビット)命令セット」。2020年6月8日閲覧。
- ^ Padauk Technology Co. Ltd. (2019年6月18日). 「PFS154 8ビットMTPタイプIOコントローラデータシート」(PDF)。バージョン1.04。pp. 71–84。PDK-DS-PFS154_RN_V104 。 2020年6月9日閲覧。
- ^ 「Microchip PIC micros と C - ソースコードとサンプルコード」。
- ^ Microchip Technology, Inc. (2007)、PIC18F1220/1320 データシート(PDF) 、 2012-04-02取得
- ^ 「Microchip Technology が世界最高性能の 16 ビット マイクロコントローラ dsPIC を発表」。2004 年 12 月 13 日時点のオリジナルよりアーカイブ。
- ^ dsPIC30F プログラマーズリファレンスマニュアル(PDF)、Microchip Technology、2008、DS70157C 、 2012-07-02取得
