TLCS-870/C1シリーズ命令セット

Size: px
Start display at page:

Download "TLCS-870/C1シリーズ命令セット"

Transcription

1 TLCS-87/C シリーズ 命令セット セミコンダクター社

2 Page 2 TLCS-87/C

3 TLCS-87/C 第 章 概要 TLCS-87/C シリーズの基本機械命令は 33 種 732 命令で 下表に命令の分類を示します TLCS-87/ C シリーズには バイト長から最長 5 バイト長の命令があります 使用頻度の高い命令は オブジェクトコードを短くしており メモリ効率の良いプログラムを組むことができます また TLCS-87/C シリーズは メモリマップド I/O 方式の採用によりシンプルな命令体系で ニモニックは 42 種類でありながら 8 種類におよぶアドレッシングモードにより強力なメモリ操作が可能です 基本機械命令のほかに コーディング効率の向上を図るためアセンブラによる拡張機械命令が用意されています 表 - 命令セット 8 ビットデータ転送 / 交換 7 種 49 命令 6 ビットデータ転送 / 交換 7 43 転送 / 交換 フラグ操作 5 5 SP 操作 2 プッシュ / ポップ 4 6 比較 4 29 増減 ビット演算 算術演算 6 6 論理演算 2 87 十進補正 2 2 演算 比較 3 5 増減 ビット演算 算術演算 2 6 論理演算 の補数 乗除算 2 2 シフト / ローテート 8 ビット ( 論理 ) 2 2 シフト 6 ビット ( 算術 ) 2 2 ローテート 8 ビット 2 2 ニブル処理スワップ / ニブルローテート 3 27 ビット操作セット / クリア / 反転 / 転送 / 交換 / 演算 8 62 ジャンプ 6 24 分岐 コール 4 6 リターン 3 3 その他ソフトウエア割り込み / その他 2 2 計 33 種 732 命令 表 -2 アドレッシングモード ( / 2) レジスタ間接 7 種 ダイレクト 2 レジスタ RA Page

4 第 章概要. 記号の説明 TLCS-87/C 表 -2 アドレッシングモード (2 / 2) イミディエート リラティブ 2 アブソリュート ベクタ 直接ビット 2 レジスタ間接ビット 計 8. 記号の説明 以下の命令 / アドレッシングモードの説明では 次の記号を使用します 記号 説明 記号 説明 A A レジスタ r, g 8 ビットレジスタ ( 表 -3 参照 ) W W レジスタ rr, gg 6 ビットレジスタ ( 表 -4 参照 ) B B レジスタ 4 ビットまたは 8 ビットイミディエートデータ C C レジスタ m 6 ビットイミディエートデータ D D レジスタ d 符号付き 5 ビットまたは 8 ビットディスプレースメント ( 6~+5/ 28~+27) E E レジスタ x, y 8 ビットダイレクトアドレス (x ~ xff) H H レジスタ vw, uz 6 ビットダイレクトアドレス (x ~ xffff) L L レジスタ (XX) XX で指定されるアドレスのメモリの内容 WA レジスタペア WA (XX +, XX) XX で指定されるアドレスから連続する 2 バイトのメモリの内容 BC レジスタペア BC b ビット番号 (~7) DE レジスタペア DE.b b で指定されるビットの内容 HL レジスタペア HL 転送 IX IX レジスタ 交換 IY IY レジスタ + 加算 PC プログラムカウンタ 減算 SP スタックポインタ 乗算 PSW プログラムステータスワード 除算 JF ジャンプステータスフラグ & ビットごとの論理積 ZF ゼロフラグ ビットごとの論理和 CF キャリーフラグ ( ビットアキュムレータ ) ^ ビットごとの排他的論理和 HF ハーフキャリーフラグ ull ノーオペレーション ( 何も実行せず 次のアドレスの命令に移ります ) SF サインフラグ $ 命令の先頭アドレス ( 命令実行中のプログラムカウンタの内容は $ + 2 または $ + 3 になります ) VF オーバフローフラグ (src) ソースメモリ CF キャリーフラグの内容の反転 (dst) デスティネーションメモリ IMF 割り込みマスタ許可フラグ RBS レジスタバンクセレクタ NxtOp ネクストオペレーションアドレス ( 次の命令の先頭アドレスの値 ) RA Page 2

5 TLCS-87/C 表 -3 r, g 8 ビットレジスタ A W C B E D L H 表 -4 rr, gg ビットレジスタ WA BC DE HL IX IY SP HL * オペレーションで指定された値がセットされます フラグのセット条件 Z ゼロ検出情報がセットされます 転送 8 ビットのソースデータが x のとき がセットされます x 以外のときは がセットされます 交換交換前の g または (src) の内容が x のとき がセットされます x 以外のときは がセットされます 演算演算結果が x (8 ビット演算 ), x (6 ビット演算 ) のとき がセットされます それ以外のときは がセットされます ただし 乗算のときは積の上位 8 ビットが 除算のときは余りが それぞれ x のとき にセットされます x 以外のときは がセットされます シフト / ローテートシフト / ローテート後のレジスタの内容が x のとき がセットされます x 以外のときは がセットされます その他 JF の欄に Z とある場合は ZF にセットされる値が JF にもセットされることを示します C キャリー情報がセットされます 加算 最上位ビットからキャリー ( 桁上げ ) がセットされます 減算 最上位ビットへのボロー ( 桁借り ) がセットされます 除算 除数が x のときまたは商が x 以上のとき がセットされます それ以外のときは が セットされます その他 JF の欄に C とある場合は CF にセットされる値が JF にもセットされることを示します C H CF にセットされる値の反転値がセットされます ハーフキャリー情報がセットされます 加算ビット 3 からのキャリー ( 桁上げ ) がセットされます 減算ビット 3 へのボロー ( 桁借り ) がセットされます S V J サイン情報 ( データの最上位ビット ) がセットされます オーバフロー情報がセットされます JF にセットされる値の反転値がセットされます がセットされます がセットされます U 不定値がセットされます フラグは変化せず 命令実行前の値が保持されます RA Page 3

6 第 章概要.2 ニモニック TLCS-87/C.2 ニモニック TLCS-87/C シリーズの命令のニモニックの規則は 以下のとおりです ニモニックは オペコードとオペランドから構成されています ( オペランドのない命令もあります ) オペコードの次に つ以上のスペースを空けてオペランドを置きます 2 つ以上のオペランドがある場合は オペランドをカンマで区切って並べます ソースオペランドとデスティネーションオペランドの 2 つがある場合は 必ずデスティネーションオペランドを先に置きます ソースオペランドが複数ある場合は 先に被演算数を置きます オペランドにビット指定が含まれる場合は アドレス指定とビット指定はピリオドで区切ります RET opcode memoic ROLC A opcode operad ADD A, B opcode destiatio operad, source operad CMP AND SET LD A, B (HL), (HL). b CF, (HL). b opcode opcode opcode opcode st source operad, 2d source operad st source 2d source operad, operad operad address. bit 2d operad st operad, address. bit 表 -5 ニモニック一覧 ( / 2) ニモニック 機能 ADD ADDC AND CALL CALLV CLR CMP CPL DAA DAS DEC DI* DIV EI* INC J* JP JR JRS LD LDW MUL NEG NOP OR Add Add with carry Logical AND Call Vector call Clear bit/byte Compare s complemet bit Decimal adjust for 8-bit additio Decimal adjust for 8-bit subtractio Decremet byte/word (Register) Disable maskable iterrupt Divide byte quotiet Eable iterrupt Icremet byte/word (Register) Optimized jump Absolute jump Relative jump Short relative jump Load bit/byte/word (Register)/effective address Load word (Memory) Multiply Negate No operatio Logical OR RA Page 4

7 TLCS-87/C 表 -5 ニモニック一覧 (2 / 2) ニモニック 機能 POP PUSH RET RETI RETN ROLC ROLD RORC RORD SET SHLC SHLCA SHRC SHRCA SUB SUBB SWAP SWI TEST* XCH XOR Pop up Push dow Retur from subroutie Retur from maskable iterrupt service routie Retur from o-maskable iterrupt service routie Rotate left through carry Rotate left digit Rotate right through carry Rotate right digit Bit test ad set Logical shift left Arithmetic shift left Logical shift right Arithmetic shift right Subtract Subtract with borrow Swap ibble Software iterrupt Bit test Exchage Logical exclusive OR ) *: アセンブラ拡張機械命令.3 オブジェクトコードフォーマット TLCS-87/C シリーズは バイトオペコード命令と 2 バイトオペコード命令を持っています.3. バイトオペコード命令のコードフォーマット 第 バイトにオペコードを置き 第 2 バイト以降にオペランドを置きます オペランドが 2 バイトデータの場合 下位バイトを先に 上位バイトを後に置きます また オペランドがソースとデスティネーションの 2 つである場合 ソースが即値のとき ( 例 : LD (x), 命令 ) はデスティネーションより後に置きます LD A, B opcode LD A, opcode LD WA, m opcode m LD (x), opcode x LDW (x), m opcode x m バイトオペコード命令のコードフォーマット 第 バイトに第 オペコードを置き 次に第 オペコードで指定されたオペランドを置き その後に第 2 オペコードと第 2 オペコードで指定されたオペランドを置きます 第 オペコードは アドレッシングモード指定用のコードでプリフィックスコードとも呼びます プリフィックスには レジスタを指定するレジスタプリフィックスと ソースまたはデスティネーションメモリを指定するソース / デスティネーションメモリプリフィックスがあります なお 次の 5 命令の第 オペコードは 指定レジスタの内容を無視します RA Page 5

8 第 章概要.4 アドレッシングモード TLCS-87/C RETN 2 LD PSW, 3 PUSH PSW 4 POP PSW 5 JR M/P/SLT/SGE/SLE/SGT/VS/VC, a LD B, C st opcode 2d opcode ADD B, st opcode 2d opcode LD B, (HL) st opcode 2d opcode LD B, (x) st opcode x 2d opcode LD B, (HL + d) st opcode d 2d opcode LD (HL + d), st opcode d 2d opcode.4 アドレッシングモード TLCS-87/C シリーズには 7 種類のアドレッシングモード ( アドレス指定の方法 ) があります なお 命令によっては 複数のアドレッシングモードが組み合わさることもあります.4. レジスタ間接.4.. レジスタ間接 (HL), (DE), (IX), (IY) 6 ビットレジスタ HL, DE, IX, IY の内容で指定されるアドレス : LD A, (HL) HL 23 x23 5F 5F A HL レジスタの内容で指定されるアドレスすなわち x23 番地のメモリの内容 x5f が A レジスタにロードされます 2: LD A, (IX) IX 23 x A IX レジスタの内容で指定されるアドレスすなわち x23 番地のメモリの内容 x75 が A レジスタにロードされます RA Page 6

9 TLCS-87/C 3: LD A, (IY) IY 23 x23 9B 9B A IY レジスタの内容で指定されるアドレスすなわち x23 番地のメモリの内容 x9b が A レジスタにロードされます ビットディスプレースメントオフセット付きレジスタ間接 (HL + d), (IX + d), (IY + d) 6 ビットレジスタ HL, IX, IY の内容にオブジェクトコード中の 8 ビットディスプレイスメント d を符号拡張 ( 下表参照 ) して加算した値で指定されるアドレス なお 6 ビットレジスタ HL, IX, IY の内容は変化しません ディスプレースメント d 符号拡張した値 x ~ x7f x ~ x7f (~+27) x8 ~ xff xff8 ~ xffff ( 28~ ) d 2 : LD A, (HL + x2) D7 2 HL x35 C4 C4 A HL レジスタの内容 (x23) にディスプレースメント (x2) を符号拡張して (x2) 加算した値で指定されるアドレスすなわち x35 番地のメモリの内容 xc4 が A レジスタにロードされます 2: LD A, (IX + xd6) IX + 23 FF D6 F9 D4 D6 xf A RA Page 7

10 第 章概要.4 アドレッシングモード TLCS-87/C IX レジスタの内容 (x23) にディスプレースメント (xd6) を符号拡張して (xffd6) 加算した値で指定されるアドレスすなわち xf9 番地のメモリの内容 x27 が A レジスタにロードされます.4..3 レジスタインデックス (HL + C) HL レジスタの内容に C レジスタの内容を符号拡張 ( 下表参照 ) して 加算した値で指定されるアドレス なお HL レジスタ, C レジスタの内容は変化しません C レジスタ 符号拡張した値 x ~ x7f x ~ x7f (~+27) x8 ~ xff xff8 ~ xffff ( 28~ ) : LD A, (HL + C) HL 23 C F5 + FF F5 8 x A HL レジスタの内容 (x23) に C レジスタの内容 (xf5) を符号拡張して (xfff5) 加算した値で指定されるアドレスすなわち x8 番地のメモリの内容 x36 が A レジスタにロードされます.4..4 スタックポインタ間接オートプリインクリメント (+SP) まず SP の内容をインクリメントします 実効アドレスはインクリメントされた SP の内容となります SP のインクリメントによるフラグ変化はありません このアドレッシングモードは ソース ( 転送元 ) メモリのアドレス指定にのみ使用できます : LD A, (+SP) SP ( ) SP ( ) 4 3 F x432 B7 B7 A SP の内容をインクリメントし その値で指定されるアドレスすなわち x432 番地のメモリの内容 xb7 が A レジスタにロードされます.4..5 スタックポインタ間接オートポストデクリメント (SP ) 実効アドレスは SP の内容となります データ処理後 SP の内容は自動的にデクリメントされます SP のデクリメントによるフラグ変化はありません このアドレッシングモードは デスティネーション ( 転送元 ) メモリのアドレス指定にのみ使用できます RA Page 8

11 TLCS-87/C : LD (SP ), A SP ( ) 3 x3 C C A SP ( ) 2 F F F SP の内容で指定されるアドレスすなわち x3 番地のメモリに A レジスタの内容 xc がストアされます その後 SP はデクリメントされ x2fff となります ビットディスプレースメントオフセット付きスタックポインタ間接 (SP + d) スタックポインタ SP の内容に オブジェクトコード中の 8 ビットディスプレースメント d を符号拡張 ( 下表参照 ) して 加算した値が実効アドレスとなります なお SP の内容は変化しません ディスプレースメント d 符号拡張した値 x ~ x7f x ~ x7f (~+27) x8 ~ xff xff8 ~ xffff ( 28~ ) d 2 : LD WA, (SP + xd6) D6 D6 SP FF D A x2a x2b 27 4E 4E 27 WA SP の内容 (x234) にディスプレースメント (xd6) を符号拡張して (xffd6) 加算した値で指定されるアドレスすなわち x2a 番地から連続する 2 バイトのメモリの内容 x4e27 が WA レジスタにロードされます.4..7 レジスタオフセットリラティブインデックス (PC + A) プログラムカウンタの内容 ( 実行命令の先頭アドレス +2) に A レジスタの内容を符号拡張 ( 下表参照 ) して加算した値で指定されるアドレス このアドレッシングモードは ソース ( 転送元 ) アドレスの指定にのみ使用できます このアドレッシングモードを使用することにより BCD コード 7 セグメントコードなどのコード変換, テーブルルックアップ, テーブルサーチや 通りの多方向分岐処理などを容易にプログラムすることができます RA Page 9

12 第 章概要.4 アドレッシングモード TLCS-87/C アキュムレータ 符号拡張した値 x ~ x7f x ~ x7f (~+27) x8 ~ xff xff8 ~ xffff ( 28~ ) : LD A, (PC + A) PC C xc536 xc537 3F 4 LD A, (PC + A) A ( ) C5 3F xc53f D8 A ( ) D8 プログラムカウンタの内容 (xc538) に A レジスタの内容 (x7) を符号拡張して (x7) 加算した値で指定されるアドレスすなわち xc53f 番地のメモリの内容 xd8 が A レジスタにロードされます 2: JP (PC + A) PC +2 C 74 xc72 3F FE JP (PC + A) A C 8A xc8a xc8b 4B D D 4B PC プログラムカウンタの内容 (xc74) に A レジスタの内容 (x6) を符号拡張して (x6) 加算した値で指定されるアドレスすなわち xc8a 番地から連続する 2 バイトのメモリ内容 xd4b がプログラムカウンタにロードされます すなわち xd4b 番地にジャンプします ) 87/C と 87/C での (PC+A) の扱いの違い 87/C では (PC+A) を使用してアクセスする領域はコード領域ではなく データ領域となります そのため (PC+A) によるアドレッシングには互換性がありません 87/C から 87/C へのプログラム移植時に意が必要です.4.2 ダイレクト ビットダイレクト (x) オブジェクトコード中の 8 ビット値 x で直接指定される x ~ xff 番地のアドレス RA Page

13 TLCS-87/C : LD A, (x87) x A x C 87 LD A, (x87) オブジェクトコードの x (x87) で直接指定されるアドレスすなわち x87 番地の内容 x9 が A レジスタにロードされます ビットダイレクト (vw) オブジェクトコード中の 6 ビット値 vw で直接指定される x ~ xffff 番地のアドレス : LD A, (x5678) x A E/F w v E LD オブジェクトコードの vw (x5678) で直接指定されるアドレスすなわち x5678 番地の内容 x24 が A レジスタにロードされます.4.3 レジスタ r または rr オブジェクトコード ( オペコード ) 中のレジスタ指定フィールドにより指定されるレジスタが操作対象となります : LD A, B 2: INC DE B DE.4.4 イミディエート または m オブジェクトコード中の即値 ( イミディエートデータ ) が操作対象となります なお 6 ビット即値の場合 若いアドレスの方から下位 8 ビット 上位 8 ビットの順にメモリに格納します RA Page

14 第 章概要.4 アドレッシングモード TLCS-87/C : LD A, x53 xc xc A 2: LD WA, x234 xc xc xc W A m ) アセンブラソースプログラム記述上 即値をカッコで囲むことはできません カッコで囲んだ場合はダイレクトアドレッシングモードと見なされます.4.5 リラティブ ( 相対 ) ビットディスプレースメントリラティブ プログラムカウンタの内容 ( 実行命令の先頭アドレス +2 または +3) に オブジェクトコード中の 8 ビットディスプレースメント値 d を符号拡張 ( 下表参照 ) して 加算した値で指定されるアドレス このアドレッシングモードを持つ命令は JR 命令のみです ディスプレースメント d 符号拡張した値 x ~ x7f x ~ x7f (~+27) x8 ~ xff xff8 ~ xffff ( 28~ ) d : JR $ H JR xd xd54 FC 35 JR PC + D D5 78 xd578 RA Page 2

15 TLCS-87/C プログラムカウンタの内容 (xd543) にディスプレースメント値 x35 を符号拡張して加算した値で指定されるアドレスすなわち xd578 番地にジャンプします ) $: 実行命令の先頭アドレス 2: JR M, $ H JR M, xd xd54 E8 D 35 JR M, a PC + D D5 79 xd579 サインフラグが なら プログラムカウンタの内容 (xd544) にディスプレースメント値 x35 を符号拡張して加算した値で指定されるアドレスすなわち xd579 番地にジャンプします ) $: 実行命令の先頭アドレス ビットディスプレースメントリラティブ プログラムカウンタの内容 ( 実行命令の先頭アドレス +2) に オペコード中の 5 ビットディスプレースメント値 d を符号拡張 ( 下表参照 ) して 加算した値で指定されるアドレス このアドレッシングモードを持つ命令は JRS 命令のみです ディスプレースメント d 符号拡張した値 x ~xf x ~ xf (~+5) x ~ xf xfff ~ xffff ( 6~ ) d : JRS T, $ H JRS T, xe859 xe xe JRS PC + E8 65 FF F4 E8 59 RA Page 3

16 第 章概要.4 アドレッシングモード TLCS-87/C ジャンプステータスフラグが なら プログラムカウンタの内容 (xe865) にディスプレースメント値 x4 を符号拡張して (xfff4) 加算した値で指定されるアドレスすなわち xe859 番地にジャンプします ) $: 実行命令の先頭アドレス.4.6 アブソリュート ( 絶対 ) オブジェクトコード中の 6 ビット値 ( 下位 8 ビット 上位 8 ビットの順に格納される ) で指定されるアドレス : JP xfa3 xc75 FE A3 F JP m PC F A3 xfa3 オペランドで指定されるアドレスすなわち xfa3 番地にジャンプします.4.7 ベクタ オペコード中の 4 ビットデータ を 2 倍し ベクタコール領域の先頭アドレス値を加えた値をアドレスとするメモリから読み出した 6 ビットデータ ( ベクタアドレス ) で指定されるアドレス このアドレッシングモードを持つ命令は CALLV 命令のみです : CALLV x xd2 79 CALLV = xe73 + FF FF A B2 xffb2 xffb3 73 E E 73 PC オペコード中の (x9) を 2 倍してベクタコール領域の先頭アドレス値 (xffa) を加算した値 xffb2 番地から連続する 2 バイトの内容 xe73 番地をコールします.4.8 直接ビット.4.8. レジスタビット オペコード中のレジスタ指定フィールド ビット指定フィールドで指定されるレジスタのビットが操作対象となります RA Page 4

17 TLCS-87/C : SET A.3 A 3 "" A = = メモリビット メモリビットアドレッシングモード (HL), (DE), (IX), (IY), (HL + d), (IX + d), (IY + d), (HL + C), (+SP), (SP + d), (PC + A), (x), (vw) で指定されるアドレスの オペコード中のビット指定フィールドで指定されるビットが操作対象となります 例 : SET (HL). 例 2: SET (HL + x57). 6 例 3: SET (x58) レジスタ間接ビット メモリアドレッシングモード (HL), (DE), (IX), (IY), (HL + d), (IX + d), (IY + d), (HL + C), (+SP), (SP + d), (PC + A), (x), (vw) で指定されるアドレスの A レジスタの下位 3 ビットの内容で指定されるビットが操作対象となります : SET (HL). A C A HL 23 x23 HL レジスタの内容 (x23) で指定されるアドレスの内容 (y) の A レジスタの下位 3 ビットの内容 (y) で指定されるビット 4 が "" にセットされ y となります 2 (HL) SET (mem). A = 4 RA Page 5

18 第 章概要.4 アドレッシングモード TLCS-87/C RA Page 6

19 TLCS-87/C 第 2 章 命令の説明 2. 転送 交換 ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション r r r Z A r LD A,r 8 ビットレジスタ r の内容を A レジスタにロードします ゼロフラグは r = x のとき にセットされ r x のとき にクリア されます r r r Z r A LD r,a A レジスタの内容を 8 ビットレジスタ r にロードします ゼロフラグは A = x のとき にセットされ A x のとき にクリ アされます g g g r r r Z 2 r g LD r,g 8 ビットレジスタ g の内容を 8 ビットレジスタ r にロードします ゼロフラグは g = x のとき にセットされ g x のとき にクリアされます g g g r r r 2 rr gg LD rr,gg 6 ビットレジスタ gg (WA, BC, DE または HL) の内容を 6 ビットレジスタ rr にロードします 例 : DE = x234 のとき LD HL, DE 命令を実行すると HL = x234 となります x x x x x x x x Z 3 A (x) LD A,(x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容を A レジスタにロードします A レジスタ に転送されるデータが x のとき ゼロフラグが にセットされます Z 2 A (HL) LD A,(HL) レジスタペア HL で指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を A レジスタにロードします A レジスタに転送される データが x のとき ゼロフラグが にセットされます x x x x x x x x r r r Z 4 r (x) LD r,(x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レ ジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます w w w w w w w w v v v v v v v v Z 5 r (vw) LD r,(vw) r r r オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 3 r (DE) LD r,(de) レジスタペア DE で指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転 送されるデータが x のとき ゼロフラグが にセットされます r r r Z 3 r (HL) LD r,(hl) レジスタペア HL で指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転 送されるデータが x のとき ゼロフラグが にセットされます r r r Z 3 r (IX) LD r,(ix) インデックスレジスタ IX で指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 3 r (IY) LD r,(iy) インデックスレジスタ IY で指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 5 r (IX+d) LD r,(ix+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 5 r (IY+d) LD r,(iy+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 5 r (SP+d) LD r,(sp+d) スタックポインタ SP の内容にオブジェクト中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 5 r (HL + d) LD r,(hl+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 5 r (HL+C) LD r,(hl+c) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容を 8 ビットレジスタ r にロー ドします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 4 SP SP+:r (SP) LD r,(+sp) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます この命令は 8 ビットデータのスタックからのポップ LD r,(pc+a) LD rr,(x) LD rr,(vw) 処理に使います r r r Z 5 r (PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容を 8 ビットレジスタ r にロードします レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます この命令は コード変換処理に最適です x x x x x x x x r r r 5 rr (x+, x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします 例 : x72, x73 番地がそれぞれ x8e, x59 のとき LD WA, (x72) 命令を実行すると W = x59, A = x8e となります w w w w w w w w v v v v v v v v 6 rr (vw+, vw) r r r オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします vw として xfff 番地を指定した場合 レジスタの上位バイトには x 番地のメモリ内容がロードされます RA Page 7

20 第 2 章命令の説明 2. 転送 交換 TLCS-87/C ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション LD rr,(de) r r r 4 rr (DE+, DE) レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします LD rr,(hl) r r r 4 rr (HL+, HL) レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします LD rr,(ix) r r r 4 rr (IX+, IX) インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします LD rr,(iy) r r r 4 rr (IY+, IY) インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします d d d d d d d d r r r 6 rr (IX+d+, IX+d) LD rr,(ix+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続 する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします d d d d d d d d r r r 6 rr (IY+d+, IY+d) LD rr,(iy+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続 する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします d d d d d d d d r r r 6 rr (SP+d+, SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続す LD rr,(sp+d) る 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします 例 :SP = x5e4 で x526, x527 番地のメモリ内容がそれぞれ x9f, xc3 のとき LD WA, (SP + x32) 命令を実行すると A = x9f, W = xc3 となります d d d d d d d d r r r 6 rr (HL+d+, HL+d) LD rr,(hl+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バ イトのメモリ内容を 6 ビットレジスタ rr にロードします r r r 6 rr (HL+C+, HL+C) LD rr,(hl+c) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr にロードします r r r 5 SP SP+:rr (SP+, SP) LD rr,(+sp) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジス タ rr にロードします r r r 6 rr (PC+A+, PC+A) LD rr,(pc+a) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内 容を 6 ビットレジスタ rr にロードします LD (x),a x x x x x x x x 3 (x) A オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリに A レジスタの内容をストアします LD (HL),A 2 (HL) A レジスタペア HL で指定されるアドレス (x ~ xffff 番地 ) のメモリに A レジスタの内容をストアします LD (x),r x x x x x x x x r r r 4 (x) r オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします w w w w w w w w v v v v v v v v 5 (vw) r LD (vw),r r r r オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします LD (DE),r r r r 3 (DE) r レジスタペア DE で指定されるアドレス (x ~ xffff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします LD (HL),r r r r 3 (HL) r レジスタペア HL で指定されるアドレス (x ~ xffff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします LD (IX),r r r r 3 (IX) r インデックスレジスタ IX で指定されるアドレス (x ~ xffff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします LD (IY),r r r r 3 (IY) r インデックスレジスタ IY で指定されるアドレス (x ~ xffff 番地 ) のメモリに 8 ビットレジスタ r の内容をストアします d d d d d d d d r r r 4 (IX+d) r LD (IX+d),r インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ に 8 ビットレジスタ r の内容をストアします d d d d d d d d r r r 4 (IY+d) r LD (IY+d),r インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ に 8 ビットレジスタ r の内容をストアします d d d d d d d d r r r 4 (SP+d) r LD (SP+d),r スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリに 8 ビットレジスタ r の内容をストアします d d d d d d d d r r r 4 (HL+d) r LD (HL+d),r レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリに 8 ビッ トレジスタ r の内容をストアします r r r 5 (HL+C) r LD (HL+C),r レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリに 8 ビットレジスタ r の内容をス トアします r r r 4 (SP) r:sp SP LD (SP ),r スタックポインタ SP で指定されるアドレスのメモリに 8 ビットレジスタ r の内容をストアします その後 スタックポインタ SP の内 容をデクリメントします この命令は 8 ビットレジスタのスタックへのプッシュ処理に使います x x x x x x x x r r r 5 (x+, x) rr LD (x),rr オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします w w w w w w w w v v v v v v v v 6 (vw+, vw) rr LD (vw),rr r r r オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします r r r 4 (DE+, DE) rr LD (DE),rr レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアしま す RA Page 8

21 TLCS-87/C ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション r r r 4 (HL+, HL) rr LD (HL),rr レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアしま す r r r 4 (IX+, IX) rr LD (IX),rr インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にスト アします r r r 4 (IY+, IY) rr LD (IY),rr インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にスト アします d d d d d d d d r r r 5 (IX+d+, IX+d) rr LD (IX+d),rr インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続 する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします d d d d d d d d r r r 5 (IY+d+, IY+d) rr LD (IY+d),rr インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続 する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします d d d d d d d d r r r 5 (SP+d+, SP+d) rr LD (SP+d),rr スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続す る 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします d d d d d d d d r r r 5 (HL+d+, HL+d) rr LD (HL+d),rr レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バ イトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします r r r 6 (HL+C+, HL+C) rr LD (HL+C),rr レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容を下位 上位の順にストアします r r r 5 (SP+, SP) rr:sp SP LD (SP ),rr スタックポインタ SP で指定されるアドレスから連続する 2 バイトのメモリに 6 ビットレジスタ rr の内容をストアします その後 ス タックポインタ SP の内容をデクリメントします r r r 2 r LD r, オブジェクトコード中の即値 を 8 ビットレジスタ r にロードします 例 : LD A, x53 命令を実行すると A = x53 となります r r r mmmm mmmm 3 rr m LD rr,m オブジェクトコード中の即値 m を 6 ビットレジスタ rr にロードします 例 : LD WA, x234 命令を実行すると A = x34, W = x2 となります x x x x x x x x 4 (x) LD (x), オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリにオブジェクトコード中の即値 をストアしま す w w w w w w w w v v v v v v v v 6 (vw) LD (vw), オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリにオブジェクトコード中の即値 をストアし ます LD (DE), 4 (DE) オブジェクトコード中の即値 をレジスタペア DE で指定されるアドレスのメモリにストアします LD (HL), 3 (HL) オブジェクトコード中の即値 をレジスタペア HL で指定されるアドレスのメモリにストアします LD (IX), 4 (IX) インデックスレジスタ IX で指定されるアドレスのメモリにオブジェクトコード中の即値 をストアします LD (IY), 4 (IY) インデックスレジスタ IY で指定されるアドレスのメモリにオブジェクトコード中の即値 をストアします LD (IX+d), LD (IY+d), LD (SP+d), LD (HL+d), LD (HL+C), LD (SP ), LDW (x),m LDW (HL),m d d d d d d d d 5 (IX+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ にオブジェクトコード中の即値 をストアします d d d d d d d d 5 (IY+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ にオブジェクトコード中の即値 をストアします d d d d d d d d 5 (SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリに オブジェクトコード中の即値 をストアします d d d d d d d d 5 (HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリに オブ ジェクトコード中の即値 をストアします 6 (HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリに オブジェクトコード中の即値 をストアします 5 (SP) :SP SP オブジェクトコード中の即値 をスタックポインタ SP で指定されるアドレスのメモリにストアします その後 スタックポインタ SP の内容をデクリメントします x x x x x x x x 6 (x+, x) m m m m m m m m m オブジェクトコード中の 6 ビットの即値 m を オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連 続する 2 バイトのメモリに下位 上位 m の順にストアします 例 : LDW (x73),x234 を実行すると x73 番地には x34 が x74 番地には x2 が書き込まれます mmmm mmmm 5 (HL+, HL) m オブジェクトコード中の 6 ビットの即値 m を レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリに下位 上位 の順にストアします RA Page 9

22 第 2 章命令の説明 2. 転送 交換 TLCS-87/C フラグニモニックオブジェクトコード (2 進 ) サイクルオペレーション r r 3 (SP, SP ) rr:sp SP 2 スタックポインタ SP で指定されるアドレスのメモリにレジスタ rr の上位 8 ビットの内容を 前記アドレスから を引いた値で指定さ PUSH rr # れるアドレスのメモリにレジスタ rr の下位 8 ビットの内容を それぞれストアします その後 スタックポインタ SP の内容から 2 を減じます rr としては WA, BC, DE, HL のみ指定可能です 例 : SP = x3f WA = x234 のとき PUSH WA 命令を実行すると x3f, x3e 番地の内容は x2, x34 となります また SP = x3d になります g g g 4 (SP, SP ) gg:sp SP 2 スタックポインタ SP で指定されるアドレスのメモリにレジスタ gg の上位 8 ビットの内容を 前記アドレスから を引いた値で指定さ PUSH gg #2 れるアドレスのメモリにレジスタ gg の下位 8 ビットの内容を それぞれストアします その後 スタックポインタ SP の内容から 2 を減じます 例 : SP = x3f, IX = x234 のとき PUSH IX 命令を実行すると x3f, x3e 番地の内容は x2, x34 となります また SP = x3d になります r r 4 SP SP+2:rr (SP, SP ) POP rr # スタックポインタ SP の内容に 2 を加え その値で指定されるアドレスのメモリ内容をレジスタ rr の上位 8 ビットに 前記アドレスから を引いたアドレスのメモリ内容をレジスタ rr の下位 8 ビットをそれぞれロードします rr としては WA, BC, DE, HL のみ指定可能です g g g 5 SP SP+2:gg (SP, SP ) POP gg #2 スタックポインタ SP の内容に 2 を加え その値で指定されるアドレスのメモリ内容をレジスタ gg の上位 8 ビットに 前記アドレスから を引いたアドレスのメモリ内容をレジスタ gg の下位 8 ビットをそれぞれロードします 3 (SP) PSW:SP SP スタックポインタ SP で指定されるアドレスのメモリにプログラムステータスワード PSW の内容をストアし その後 スタックポイン PUSH PSW タ SP の内容をデクリメントします 例 : SP = x2345, PSW = x62 (JF = HF = SF = VF =, ZF = CF = RBS = ) のとき PUSH PSW 命令を実行すると x2345 番地の内容は x62 となります また SP = x2344 になります * * * * * * 4 SP SP+:PSW (SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容をプログラムステータスワード PSW に POP PSW ロードします 例 : x37 番地のメモリ内容が x63 で SP = x36 のとき POP PSW 命令を実行すると SP = x37, PSW = x62 (JF = HF = SF = VF =, ZF = CF = RBS = ) となります * * * * * * 3 PSW.7- プログラムステータスワード PSW に オブジェクトコード中の即値 をストアします 即値 は最上位ビットから JF, ZF, CF, HF, SF, LD PSW, VF,RBS に対応し 最下位の ビットは無視されます 例 : LD FLAG, y 命令を実行すると JF =, ZF =, CF =, HF =, SF =, VF =, RBS = となります 2 RBS LD RBS, プログラムステータスワード PSW の RBS に対して 即値 をストアすることでレジスタバンクが BANK に切り替わります なお この命令で フラグは変化しません 2 RBS LD RBS, プログラムステータスワード PSW の RBS に対して 即値 をストアすることでレジスタバンクが BANK に切り替わります なお この命令で フラグは変化しません d d d d d d d d 2 SP SP+d スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を加算した値がスタックポインタ SP にロードされます 従っ LD SP,SP+d て この命令はスタックポインタ SP の即値加算命令になります 例 : SP = x2345 のとき LD SP, SP + 4 を実行すると SP = x2349, JF = となります d d d d d d d d 2 SP SP d LD SP,SP d スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を減算した値がスタックポインタ SP にロードされます 従って この命令はスタックポインタ SP の即値減算命令になります g g g r r r Z 3 r g 8 ビットレジスタ r の内容と 8 ビットレジスタ g の内容とを交換します ゼロフラグは 交換前の g の内容が x のとき にセット XCH r,g され x 以外のとき にクリアされます 例 : A = x3c, B = x5f のとき XCH A, B 命令を実行すると A = x5f, B = x3c, ZF = となります g g g r r r 3 rr gg XCH rr,gg 6 ビットレジスタ rr の内容と 6 ビットレジスタ gg の内容とを交換します ゼロフラグは変化しません 例 : HL = x23, DE = x9587 のとき XCH HL, DE 命令を実行すると HL = x9587, DE = x23 となります x x x x x x x x r r r Z 5 r (x) XCH r,(x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます w w w w w w w w v v v v v v v v Z 6 r (vw) r r r XCH r,(vw) オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容と 8 ビットレジスタ r の内容を交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 4 r (DE) XCH r,(de) レジスタペア DE で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 4 r (HL) XCH r,(hl) レジスタペア HL で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 4 r (IX) XCH r,(ix) インデックスレジスタ IX で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 4 r (IY) XCH r,(iy) インデックスレジスタ IY で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 6 r (IX+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ XCH r,(ix+d) 内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます RA Page 2

23 TLCS-87/C フラグニモニックオブジェクトコード (2 進 ) サイクルオペレーション d d d d d d d d r r r Z 6 r (IY+d) XCH r,(iy+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 6 r (SP+d) XCH r,(sp+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます d d d d d d d d r r r Z 6 r (HL+d) XCH r,(hl+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 6 r (HL+C) XCH r,(hl+c) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 5 SP SP+:r (SP) XCH r, (+SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます r r r Z 6 r (PC+A) XCH r,(pc+a) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを交換します レジスタ r に転送されるデータが x のとき ゼロフラグが にセットされます x x x x x x x x r r r 7 rr (x+, x) XCH rr,(x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します XCH rr,(vw) XCH rr,(de) XCH rr,(hl) XCH rr,(ix) XCH rr,(iy) XCH rr,(ix+d) XCH rr,(iy+d) XCH rr,(sp+d) XCH rr,(hl+d) XCH rr,(hl+c) XCH rr,(+sp) XCH rr,(pc+a) r r r w w w w w w w w v v v v v v v v 8 rr (vw+, vw) オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 6 rr (DE+, DE) レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 6 rr (HL+, HL) レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 6 rr (IX+, IX) インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 6 rr (IY+, IY) インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します d d d d d d d d r r r 8 rr (IX+d+, IX+d) インデックスレジスタ IX の内容に オブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します d d d d d d d d r r r 8 rr (IY+d+, IY+d) インデックスレジスタ IY の内容に オブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します d d d d d d d d r r r 8 rr (SP+d+, SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します d d d d d d d d r r r 8 rr (HL+d+, HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 8 rr (HL+C+, HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 7 SP SP+:rr (SP+, SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します r r r 8 rr (PC+A+, PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容と 6 ビットレジスタ rr の内容とを交換します # rr は WA, BC, DE, HL のみ #2 gg は IX,IY のみ ) (PC+A) を使用した命令には制限があります 詳細は TLCS-87/C シリーズ命令セット.4 アドレッシングモードを参照してください RA Page 2

24 第 2 章命令の説明 2. 転送 交換 TLCS-87/C RA Page 22

25 TLCS-87/C 2.2 演算 ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション Z Z C H S V 2 A CMP A, A レジスタの内容をオブジェクトコード中の即値 と比較します キャリーフラグは A < のとき にセットされ A のとき に クリアされます g g g Z Z C H S V 3 g CMP g, 8 ビットレジスタ g の内容をオブジェクトコード中の即値 と比較します キャリーフラグは g < のとき にセットされ g のとき にクリアされます g g g Z Z C U S V 4 gg m CMP gg,m m m m m m m m m 6 ビットレジスタ gg の内容をオブジェクトコード中の即値 m と比較します キャリーフラグは gg < m のときに にセットさ れ gg m のとき にクリアされます g g g r r r Z Z C H S V 2 r g CMP r,g 8 ビットレジスタ r の内容と 8 ビットレジスタ g の内容を比較します キャリーフラグは r < g のとき にセットされ r g のとき にクリアされます CMP rr,gg g g g r r r Z Z C U S V 3 rr gg 6 ビットレジスタ rr の内容と 6 ビットレジスタ gg の内容を比較します CMP r,(x) x x x x x x x x r r r Z Z C H S V 4 r (x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容と 8 ビットレジスタ r の内容を比較します CMP r,(vw) CMP r,(de) CMP r,(hl) CMP r,(ix) CMP r,(iy) CMP r,(ix+d) CMP r,(iy+d) CMP r,(sp+d) CMP r,(hl+d) CMP r,(hl+c) CMP r,(+sp) CMP r,(pc+a) CMP (x), CMP (vw), CMP (DE), CMP (HL), CMP (IX), CMP (IY), CMP (IX+d), r r r w w w w w w w w v v v v v v v v Z Z C H S V 5 r (vw) オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容と 8 ビットレジスタ r の内容を比較します r r r Z Z C H S V 3 r (DE) レジスタペア DE で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します r r r Z Z C H S V 3 r (HL) レジスタペア HL で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します r r r Z Z C H S V 3 r (IX) インデックスレジスタ IX で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します r r r Z Z C H S V 3 r (IY) インデックスレジスタ IY で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します d d d d d d d d r r r Z Z C H S V 5 r (IX+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを比較します d d d d d d d d r r r Z Z C H S V 5 r (IY+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを比較します d d d d d d d d r r r Z Z C H S V 5 r (SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを比較します d d d d d d d d r r r Z Z C H S V 5 r (HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを比較します r r r Z Z C H S V 5 r (HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容とを比較します r r r Z Z C H S V 4 SP SP+:r (SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します r r r Z Z C H S V 5 r (PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容と 8 ビットレジスタ r の内容を比較します x x x x x x x x Z Z C H S V 4 (x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容をオブジェクトコード中の即値 と比較します w w w w w w w w v v v v v v v v Z Z C H S V 6 (vw) オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容をオブジェクトコード中の即値 と比較します Z Z C H S V 4 (DE) レジスタペア DE で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較します Z Z C H S V 4 (HL) レジスタペア HL で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較します Z Z C H S V 4 (IX) インデックスレジスタ IX で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較します Z Z C H S V 4 (IY) インデックスレジスタ IY で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較します d d d d d d d d Z Z C H S V 6 (IX+d) インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較します RA Page 23

26 2.2 演算 TLCS-87/C フラグニモニックオブジェクトコード (2 進 ) サイクルオペレーション d d d d d d d d Z Z C H S V 6 (IY+d) CMP (IY+d), CMP (SP+d), CMP (HL+d), CMP (HL+C), CMP (+SP), CMP (PC+A), CMP rr,(x) CMP rr,(vw) CMP rr,(de) CMP rr,(hl) CMP rr,(ix) CMP rr,(iy) CMP rr,(ix+d) CMP rr,(iy+d) CMP rr,(sp+d) CMP rr,(hl+d) CMP rr,(hl+c) CMP rr,(+sp) CMP rr,(pc+a) ADD A, ADD g, ADD gg,m ADD r,g ADD rr,gg ADD r,(x) ADD r,(vw) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容をオブジェクトコード中の即値 と比較します d d d d d d d d Z Z C H S V 6 (SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容 を オブジェクトコード中の即値 と比較します d d d d d d d d Z Z C H S V 6 (HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で設定されるアドレスのメモリ内容をオ ブジェクトコード中の即値 と比較します Z Z C H S V 6 (HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容をオブジェクトコード中の即 値 と比較します Z Z C H S V 5 SP SP+:(SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容をオブジェクトコード中の即値 と比較し ます Z Z C H S V 6 (PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容をオブジェクトコー ド中の即値 と比較します x x x x x x x x r r r Z Z C U S V 5 rr (x) オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリ内容を 6 ビットレジス タ rr の内容と比較します w w w w w w w w v v v v v v v v Z Z C U S V 6 rr (vw) r r r オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリ内容を 6 ビットレジス タ rr の内容と比較します r r r Z Z C U S V 4 rr (DE) レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します r r r Z Z C U S V 4 rr (HL) レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します r r r Z Z C U S V 4 rr (IX) インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します r r r Z Z C U S V 4 rr (IY) インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します d d d d d d d d r r r Z Z C U S V 6 rr (IX+d) インデックスレジスタ IX にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します d d d d d d d d r r r Z Z C U S V 6 rr (IY+d) インデックスレジスタ IY にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します d d d d d d d d r r r Z Z C U S V 6 rr (SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続す る 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します d d d d d d d d r r r Z Z C U S V 6 rr (HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バ イトのメモリ内容を 6 ビットレジスタ rr の内容と比較します r r r Z Z C U S V 6 rr (HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジスタ rr の内容と比較します r r r Z Z C U S V 5 SP SP+:rr (SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスから連続する 2 バイトのメモリ内容を 6 ビットレジス タ rr の内容と比較します r r r Z Z C U S V 6 rr (PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内 容を 6 ビットレジスタ rr の内容と比較します C Z C H S V 2 A A+ A レジスタの内容に オブジェクトコード中の即値 を加算し 結果を A レジスタに入れます g g g C Z C H S V 3 g g+ 8 ビットレジスタ g の内容に オブジェクトコード中の即値 を加算し 結果をレジスタ g に入れます m m m m m g m g m g m C Z C U S V 4 gg gg+m 6 ビットレジスタ gg の内容に オブジェクトコード中の即値 m を加算し 結果をレジスタ gg に入れます g g g r r r C Z C H S V 2 r r+g 8 ビットレジスタ r の内容に 8 ビットレジスタ g の内容を加算し 結果をレジスタ r に入れます g g g r r r C Z C U S V 3 rr rr+gg 6 ビットレジスタ rr の内容に 6 ビットレジスタ gg の内容を加算し 結果をレジスタ rr に入れます x x x x x x x x r r r C Z C H S V 4 r r+(x) 8 ビットレジスタ r の内容に オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容を加算し 結果をレジスタ r に入れます w w w w w w w w v v v v v v v v C Z C H S V 5 r r+(vw) r r r 8 ビットレジスタ r の内容に オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を加算し 結果をレジスタ r に入れます RA Page 24

27 TLCS-87/C ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション ADD r,(de) r r r C Z C H S V 3 r r+(de) 8 ビットレジスタ r の内容に レジスタペア DE で指定されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます ADD r,(hl) r r r C Z C H S V 3 r r+(hl) 8 ビットレジスタ r の内容に レジスタペア HL で指定されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます ADD r,(ix) r r r C Z C H S V 3 r r+(ix) 8 ビットレジスタ r の内容に インデックスレジスタ IX で指定されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます ADD r,(iy) r r r C Z C H S V 3 r r+(iy) 8 ビットレジスタ r の内容に インデックスレジスタ IY で指定されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(ix+d) ADD r,(ix+d) 8 ビットレジスタ r の内容に インデックスレジスタ IX にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定 されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(iy+d) ADD r,(iy+d) 8 ビットレジスタ r の内容に インデックスレジスタ IY にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定 されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(sp+d) ADD r,(sp+d) 8 ビットレジスタ r の内容に スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指 定されるアドレスのメモリ内容に 8 ビットレジスタ r の内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(hl+d) ADD r,(hl+d) 8 ビットレジスタ r の内容に レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定さ れるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 5 r r+(hl+c) ADD r,(hl+c) 8 ビットレジスタ r の内容に レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内 容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 4 SP SP+:r r+(sp) ADD r,(+sp) 8 ビットレジスタ r の内容に スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 5 r r+(pc+a) ADD r,(pc+a) 8 ビットレジスタ r の内容に プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメ モリ内容を加算し 結果をレジスタ r に入れます x x x x x x x x C Z C H S V 6 (x) (x)+ ADD (x), オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容に オブジェクトコード中の即値 を加算 し 結果を前記のアドレスに入れます w w w w w w w w v v v v v v v v C Z C H S V 7 (vw) (vw)+ ADD (vw), オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容に オブジェクトコード中の即値 を加 算し 結果を前記のアドレスに入れます ADD (DE), C Z C H S V 5 (DE) (DE)+ レジスタペア DE で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます ADD (HL), C Z C H S V 5 (HL) (HL)+ レジスタペア HL で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます C Z C H S V 5 (IX) (IX)+ ADD (IX), インデックスレジスタ IX で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入 れます C Z C H S V 5 (IY) (IY)+ ADD (IY), インデックスレジスタ IY で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入 れます d d d d d d d d C Z C H S V 7 (IX+d) (IX+d)+ ADD (IX+d), インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容にオブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます ADD (IY+d), ADD (SP+d), ADD (HL+d), ADD (HL+C), ADD (+SP), ADD (PC+A), ADD rr,(x) d d d d d d d d C Z C H S V 7 (IY+d) (IY+d)+ インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容にオブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (SP+d) (SP+d)+ スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容 に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (HL+d) (HL+d)+ レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます C Z C H S V 7 (HL+C) (HL+C)+ レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます C Z C H S V 6 SP SP+:(SP) (SP)+ スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容にオブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます C Z C H S V 7 (PC+A) (PC+A)+ プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 を加算し 結果を前記のアドレスに入れます x x x x x x x x r r r C Z C U S V 5 rr rr+(x+, x) 6 ビットレジスタ rr の内容に オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます RA Page 25

28 2.2 演算 TLCS-87/C フラグニモニックオブジェクトコード (2 進 ) サイクルオペレーション w w w w w w w w v v v v v v v v C Z C U S V 6 rr rr+(vw+, vw) ADD rr,(vw) ADD rr,(de) ADD rr,(hl) ADD rr,(ix) ADD rr,(iy) ADD rr,(ix+d) ADD rr,(iy+d) ADD rr,(sp+d) ADD rr,(hl+d) ADD rr,(hl+c) ADD rr,(+sp) ADD rr,(pc+a) ADDC A, ADDC g, ADDC gg,m ADDC r,g ADDC rr,gg ADDC r,(x) ADDC r, (vw) ADDC r,(de) ADDC r,(hl) ADDC r,(ix) ADDC r,(iy) ADDC r,(ix+d) ADDC r,(iy+d) ADDC r,(sp+d) r r r 6 ビットレジスタ rr の内容に オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリ内容を加算し 結果を前記のアドレスに入れます r r r C Z C U S V 4 rr rr+(de+, DE) 6 ビットレジスタ rr の内容に レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(hl+, HL) 6 ビットレジスタ rr の内容に レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(ix+, IX) 6 ビットレジスタ rr の内容に インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(iy+, IY) 6 ビットレジスタ rr の内容に インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(ix+d+, IX+d) 6 ビットレジスタ rr の内容に インデックスレジスタ IX にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(iy+d+, IY+d) 6 ビットレジスタ rr の内容に インデックスレジスタ IY にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(sp+d+, SP+d) 6 ビットレジスタ rr の内容に スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(hl+d+, HL+d) 6 ビットレジスタ rr の内容に レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr+(hl+c+, HL+C) 6 ビットレジスタ rr の内容に レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 5 SP SP+:rr rr+(sp+, SP) 6 ビットレジスタ rr の内容に スタックポインタ SP の内容をインクリメントしその値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr+(pc+a+, PC+A) 6 ビットレジスタ rr の内容に プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続する 2 バイトのメモリ内容を加算し 結果をレジスタ rr に入れます C Z C H S V 2 A A++CF A レジスタの内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を A レジスタに入れます g g g C Z C H S V 3 g g++cf 8 ビットレジスタ g の内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果をレジスタ g に入れます g g g C Z C U S V 4 gg gg+m+cf m m m m m m m m 6 ビットレジスタ gg の内容に オブジェクトコード中の即値 m およびキャリーフラグの内容を加算し 結果をレジスタ gg に入れます g g g r r r C Z C H S V 2 r r+g+cf 8 ビットレジスタ r の内容に 8 ビットレジスタ g の内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます g g g r r r C Z C U S V 3 rr rr+gg+cf 6 ビットレジスタ rr の内容に 6 ビットレジスタ gg の内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます x x x x x x x x r r r C Z C H S V 4 r r+(x)+cf 8 ビットレジスタ r の内容に オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r w w w w w w w w v v v v v v v v C Z C H S V 5 r r+(vw)+cf 8 ビットレジスタ r の内容に オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 3 r r+(de)+cf 8 ビットレジスタ r の内容に レジスタペア DE で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 3 r r+(hl)+cf 8 ビットレジスタ r の内容に レジスタペア HL で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 3 r r+(ix)+cf 8 ビットレジスタ r の内容に インデックスレジスタ IX で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 3 r r+(iy)+cf 8 ビットレジスタ r の内容に インデックスレジスタ IY で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(ix+d)+cf 8 ビットレジスタ r の内容に インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(iy+d)+cf 8 ビットレジスタ r の内容に インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r+(sp+d)+cf 8 ビットレジスタ r の内容に スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます RA Page 26

29 TLCS-87/C フラグニモニックオブジェクトコード (2 進 ) サイクルオペレーション d d d d d d d d r r r C Z C H S V 5 r r+(hl+d)+cf ADDC r,(hl+d) 8 ビットレジスタ r の内容に レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 5 r r+(hl+c)+cf ADDC r,(hl+c) 8 ビットレジスタ r の内容に レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 4 SP SP+:r r+(sp)+cf ADDC r,(+sp) 8 ビットレジスタ r の内容に スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます r r r C Z C H S V 5 r r+(pc+a)+cf ADDC r,(pc+a) 8 ビットレジスタ r の内容に プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ r に入れます x x x x x x x x C Z C H S V 6 (x) (x)++cf ADDC (x), ADDC (vw), ADDC (DE), ADDC (HL), ADDC (IX), ADDC (IY), ADDC (IX+d), ADDC (IY+d), オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容に オブジェクトコード中の即値 および キャリーフラグの内容を加算し 結果を前記のアドレスに入れます w w w w w w w w v v v v v v v v C Z C H S V 7 (vw) (vw)++cf オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容に オブジェクトコード中の即値 およ びキャリーフラグの内容を加算し 結果を前記のアドレスに入れます C Z C H S V 5 (DE) (DE)++CF レジスタペア DE で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を 前記のアドレスに入れます C Z C H S V 5 (HL) (HL)+ +CF レジスタペア HL で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を 前記のアドレスに入れます C Z C H S V 5 (IX) (IX)++CF インデックスレジスタ IX で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます C Z C H S V 5 (IY) (IY)++CF インデックスレジスタ IY で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (IX+d) (IX+d)++CF インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (IY+d) (IY+d)++CF インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (SP+d) (SP+d)++CF ADDC (SP+d), スタックポインタ SP の内容に オブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (HL+d) (HL+d)++CF ADDC (HL+d), レジスタペア HL の内容に オブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます C Z C H S V 7 (HL+C) (HL+C)++CF ADDC (HL+C), レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます C Z C H S V 6 SP SP+:(SP) (SP)++CF ADDC (+SP), スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます C Z C H S V 7 (PC+A) (PC+A)++CF ADDC (PC+A), プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容に オブジェクトコード中の即値 およびキャリーフラグの内容を加算し 結果を前記のアドレスに入れます x x x x x x x x r r r C Z C U S V 5 rr rr+(x+, x)+cf ADDC rr,(x) 6 ビットレジスタ rr の内容に オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます w w w w w w w w v v v v v v v v C Z C U S V 6 rr rr+(vw+, vw)+cf r r r ADDC rr,(vw) 6 ビットレジスタ rr の内容に オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(de+, DE)+CF ADDC rr,(de) 6 ビットレジスタ rr の内容に レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(hl+, HL)+CF ADDC rr,(hl) 6 ビットレジスタ rr の内容に レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(ix+, IX)+CF ADDC rr,(ix) 6 ビットレジスタ rr の内容に インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr+(iy+,iy)+cf ADDC rr,(iy) 6 ビットレジスタ rr の内容に インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます RA Page 27

30 2.2 演算 TLCS-87/C ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション d d d d d d d d r r r C Z C U S V 6 rr rr+(ix+d+, IX+d)+CF ADDC rr,(ix+d) 6 ビットレジスタ rr の内容に インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した 値で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(iy+d+, IY+d)+CF ADDC rr,(iy+d) 6 ビットレジスタ rr の内容に インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した 値で指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(sp+d+, SP+d)+CF ADDC rr,(sp+d) 6 ビットレジスタ rr の内容に スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で 指定されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr+(hl+d+, HL+d)+CF ADDC rr,(hl+d) 6 ビットレジスタ rr の内容に レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定 されるアドレスから連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr+(hl+c+, HL+C)+CF ADDC rr,(hl+c) 6 ビットレジスタ rr の内容に レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連続 する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 5 SP SP+:rr rr+(sp+, SP)+CF ADDC rr,(+sp) 6 ビットレジスタ rr の内容に スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスから連続する 2 バイト のメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr+(pc+a+, PC+A)+CF ADDC rr,(pc+a) 6 ビットレジスタ rr の内容に プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスか ら連続する 2 バイトのメモリ内容およびキャリーフラグの内容を加算し 結果をレジスタ rr に入れます SUB A, C Z C H S V 2 A A A レジスタの内容から オブジェクトコード中の即値 を引き 結果を A レジスタに入れます SUB g, g g g C Z C H S V 3 g g 8 ビットレジスタ g の内容から オブジェクトコード中の即値 を引き 結果をレジスタ g に入れます g g g C Z C U S V 4 gg gg m SUB gg,m m m m m m m m m 6 ビットレジスタ gg の内容から オブジェクトコード中の即値 m を引き 結果をレジスタ gg に入れます SUB r,g g g g r r r C Z C H S V 2 r r g 8 ビットレジスタ r の内容から 8 ビットレジスタ g の内容を引き 結果をレジスタ r に入れます SUB rr,gg g g g r r r C Z C U S V 3 rr rr gg 6 ビットレジスタ rr の内容から 6 ビットレジスタ gg の内容を引き 結果をレジスタ rr に入れます x x x x x x x x r r r C Z C H S V 4 r r (x) SUB r,(x) 8 ビットレジスタ r の内容から オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容を引き 結果をレジスタ r に入れます w w w w w w w w v v v v v v v v C Z C H S V 5 r r (vw) SUB r,(vw) r r r 8 ビットレジスタ r の内容から オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容を引き 結果をレジスタ r に入れます SUB r,(de) r r r C Z C H S V 3 r r (DE) 8 ビットレジスタ r の内容から レジスタペア DE で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます SUB r,(hl) r r r C Z C H S V 3 r r (HL) 8 ビットレジスタ r の内容から レジスタペア HL で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます SUB r,(ix) r r r C Z C H S V 3 r r (IX) 8 ビットレジスタ r の内容から インデックスレジスタ IX で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます SUB r,(iy) r r r C Z C H S V 3 r r (IY) 8 ビットレジスタ r の内容から インデックスレジスタ IY で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r (IX+d) SUB r,(ix+d) 8 ビットレジスタ r の内容から インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した 値で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r (IY+d) SUB r,(iy+d) 8 ビットレジスタ r の内容から インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した 値で指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r (SP+d) SUB r,(sp+d) 8 ビットレジスタ r の内容から スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で 指定されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます d d d d d d d d r r r C Z C H S V 5 r r (HL+d) SUB r,(hl+d) 8 ビットレジスタ r の内容から レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定 されるアドレスのメモリ内容を引き 結果をレジスタ r に入れます r r r C Z C H S V 5 r r (HL)+C SUB r,(hl+c) 8 ビットレジスタ r の内容から レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ 内容を引き 結果をレジスタ r に入れます r r r C Z C H S V 4 SP SP+:r r (SP) SUB r,(+sp) 8 ビットレジスタ r の内容から スタックポインタ SP の内容をインクリメントしその値で指定されるアドレスのメモリ内容を引き 結 果をレジスタ r に入れます r r r C Z C H S V 5 r r (PC+A) SUB r,(pc+a) 8 ビットレジスタ r の内容から プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスの メモリ内容を引き 結果をレジスタ r に入れます x x x x x x x x C Z C H S V 6 (x) (x) SUB (x), SUB (vw), オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) のメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます w w w w w w w w v v v v v v v v C Z C H S V 7 (vw) (vw) オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) のメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます RA Page 28

31 TLCS-87/C ニモニック オブジェクトコード (2 進 ) フラグ サイクル オペレーション SUB (DE), C Z C H S V 5 (DE) (DE) レジスタペア DE で指定されるアドレスのメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます SUB (HL), C Z C H S V 5 (HL) (HL) レジスタペア HL で指定されるアドレスのメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます C Z C H S V 5 (IX) (IX) SUB (IX), インデックスレジスタ IX で指定されるアドレスのメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入 れます C Z C H S V 5 (IY) (IY) SUB (IY), インデックスレジスタ IY で指定されるアドレスのメモリ内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入 れます d d d d d d d d C Z C H S V 7 (IX+d) (IX+d) SUB (IX+d), インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます SUB (IY+d), SUB (SP+d), SUB (HL+d), SUB (HL+C), SUB (+SP), SUB (PC+A), SUB rr,(x) SUB rr,(vw) SUB rr,(de) SUB rr,(hl) SUB rr,(ix) SUB rr,(iy) SUB rr,(ix+d) SUB rr,(iy+d) SUB rr,(sp+d) SUB rr,(hl+d) SUB rr,(hl+c) SUB rr,(+sp) SUB rr,(pc+a) SUBB A, d d d d d d d d C Z C H S V 7 (IY+d) (IY+d) インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ 内容から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (SP+d) (SP+d) スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容 から オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます d d d d d d d d C Z C H S V 7 (HL+d) (HL+d) レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指定されるアドレスのメモリ内容か ら オブジェクトコード中の即値 を引き 結果を前記のアドレスに入れます C Z C H S V 7 (HL+C) (HL+C) レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容から オブジェクトコード中 の即値 を引き 結果を前記のアドレスに入れます C Z C H S V 6 SP SP+:(SP) (SP) スタックポインタ SP の内容をインクリメントし その値で指定されるアドレスのメモリ内容からオブジェクトコード中の即値 を引 き 結果を前記のアドレスに入れます C Z C H S V 7 (PC+A) (PC+A) プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレスのメモリ内容から オブジェクト コード中の即値 を引き 結果を前記のアドレスに入れます x x x x x x x x r r r C Z C U S V 5 rr rr (x+, x) 6 ビットレジスタ rr の内容から オブジェクトコード中の x で直接指定されるアドレス (x ~ xff 番地 ) から連続する 2 バイト のメモリ内容を引き 結果をレジスタ rr に入れます w w w w w w w w v v v v v v v v C Z C U S V 6 rr rr (vw+, vw) r r r 6 ビットレジスタ rr の内容から オブジェクトコード中の vw で直接指定されるアドレス (x ~ xffff 番地 ) から連続する 2 バイ トのメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr (DE+, DE) 6 ビットレジスタ rr の内容から レジスタペア DE で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr (HL+, HL) 6 ビットレジスタ rr の内容から レジスタペア HL で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 4 rr rr (IX+, IX) 6 ビットレジスタ rr の内容から インデックスレジスタ IX で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果を レジスタ rr に入れます r r r C Z C U S V 4 rr rr (IY+, IY) 6 ビットレジスタ rr の内容から インデックスレジスタ IY で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果を レジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr (IX+d+, IX+d) 6 ビットレジスタ rr の内容から インデックスレジスタ IX の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算し た値で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr (IY+d+, IY+d) 6 ビットレジスタ rr の内容から インデックスレジスタ IY の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算し た値で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr (SP+d+, SP+d) 6 ビットレジスタ rr の内容から スタックポインタ SP の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値 で指定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます d d d d d d d d r r r C Z C U S V 6 rr rr (HL+d+, HL+d) 6 ビットレジスタ rr の内容から レジスタペア HL の内容にオブジェクトコード中の 8 ビットデータ d を符号拡張して加算した値で指 定されるアドレスから連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr (HL+C+, HL+C) 6 ビットレジスタ rr の内容から レジスタペア HL の内容に C レジスタの内容を符号拡張して加算した値で指定されるアドレスから連 続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 5 SP SP+:rr rr (SP+, SP) 6 ビットレジスタ rr の内容から スタックポインタ SP の内容をインクリメントしその値で指定されるアドレスから連続する 2 バイト のメモリ内容を引き 結果をレジスタ rr に入れます r r r C Z C U S V 6 rr rr (PC+A+, PC+A) 6 ビットレジスタ rr の内容から プログラムカウンタ PC の内容に A レジスタの内容を符号拡張して加算した値で指定されるアドレス から連続する 2 バイトのメモリ内容を引き 結果をレジスタ rr に入れます C Z C H S V 2 A A CF A レジスタの内容から オブジェクトコード中の即値 およびキャリーフラグの内容を引き 結果を A レジスタに入れます RA Page 29

870C-INST.book.pdf

870C-INST.book.pdf 4 TLCS-87/C TLCS-87/C. TLCS-87/C 32 73 TLCS-87/ C 5 TLCS-87/C I/O 42 - / 7 49 6 / 7 43 / 4 4 SP 2 / 4 6 4 29 4 28 8 6 6 2 87 2 2 3 5 2 2 6 2 6 9 45 2 2 2 8 ( ) 2 2 / 6 ( ) 2 2 8 2 2 / 3 27 / / / / / 8

More information

TLCS-870/C1シリーズ CPU

TLCS-870/C1シリーズ CPU シリーズ CPU セミコンダクター社 CMOS 8 ビットマイクロコンピュータ TLCS-870/C1 シリーズ TLCS-870/C1 シリーズは 東芝オリジナルのコンパクトで高速 / 高機能, 低消費電力の 8 ビットシングルチップマイクロコンピュータです 特長 直交性のある豊富な命令セット : 133 種 732 命令東芝オリジナルマイクロコントローラ TLCS-870/C とバイナリレベルでのコンパチビリティを持たせており

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c 第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 7 週命令セットアーキテクチャ ( 命令の表現 命令の実行の仕組 ) 2013 年 11 月 6 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節命令一覧は p.113) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語

More information

Microsoft PowerPoint - ProcML-12-3.ppt

Microsoft PowerPoint - ProcML-12-3.ppt プロセッサと 年次前次前期 ( 第 回 ) 進数の加減算 (overflow( overflow) 演習 次の ビット演算の結果は overflow か? () + + () + + 答 答 中島克人 情報メディア学科 nakajima@im.dendai.ac.jp () - = + + 答 進数の加減算 (overflow( overflow) 演習 次の ビット演算の結果は overflow

More information

目次 [ はじめに ] 1 [1] レジスタについて 1 [2] 8ビット転送命令 1 1. MOV 1, MOV,M 2 3. MOV M, 2 4. MVI,B MVI M,B LDAX B 2 7. LDAX D 2 8. LDA NN 2 9. STAX

目次 [ はじめに ] 1 [1] レジスタについて 1 [2] 8ビット転送命令 1 1. MOV 1, MOV,M 2 3. MOV M, 2 4. MVI,B MVI M,B LDAX B 2 7. LDAX D 2 8. LDA NN 2 9. STAX ND80ZⅢ 8080 命令説明書 ( 有 ) 中日電工 目次 [ はじめに ] 1 [1] レジスタについて 1 [2] 8ビット転送命令 1 1. MOV 1,2 1 2. MOV,M 2 3. MOV M, 2 4. MVI,B2 2 5. MVI M,B2 2 6. LDAX B 2 7. LDAX D 2 8. LDA NN 2 9. STAX B 2 10. STAX D 2 11. STA

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ 中央処理装置 Rev. 2019.01.16 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ Rev. 2018.01.20 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する 補助記憶装置

More information

スライド 1

スライド 1 4. 演算命令 ( つづき ) ( 足し算の桁上がり,Rotate, etc.) を学ぼう 本稿の Web ページ http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/pic/index.html 1 本章では足し算の桁上がり情報の格納場所の確認をするプログラムを学びます. PIC16F マイコンではデータは 8 ビットで表されています.

More information

主記憶の使われ方 システム領域 SP スタックポインタ システム用 スタック用 プログラム起動時に OS によって確 保される (SP が決められる ) プログラム用 メインルーチン プログラム領域 命令コードの列定数 変数用領域サブルーチン命令コードの列 先頭番地は リンク時に OS によって決め

主記憶の使われ方 システム領域 SP スタックポインタ システム用 スタック用 プログラム起動時に OS によって確 保される (SP が決められる ) プログラム用 メインルーチン プログラム領域 命令コードの列定数 変数用領域サブルーチン命令コードの列 先頭番地は リンク時に OS によって決め Copyright 守屋悦朗 2005 コンピュータの仕組み (2) ソフトウェア 3.3 アセンブラプログラミング (CASLⅡ) 情報処理技術者試験基本情報技術者試験 (http://www.jitec.jp/index.html) では 仮想コンピュータ (16ビットのワードマシン 主記憶容量 64KW)COMETⅡを定義し COMETⅡ のためのアセンブリ言語 CASLⅡを定めている COMETⅡとCASLⅡの仕様は情報処理技術者試験センターのウェブサイト

More information

CASL入門

CASL入門 4 章 機械語の設計 ここでは 機械語の設計をしてみましょう 機械語の設計! そんなことができるのでしょうか 情報処理技術者試験の CASLⅡ 説明書の参考資料には 命令後の構成は定義しないが と記載されています アセンブラ言語を理解するためには機械語の理解が非常に大切になりますし 自分で設計してみれば格段に理解が容易になります そこで 定義されていないなら 定義してしまおう というわけです CASLⅡが動くコンピュータである

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 D1 D2 D3 情報科学基礎 I 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x n ), i

More information

スライド 1

スライド 1 3. 演算命令を学ぼう 本稿の Web ページ http://www.mybook-pub-site.sakura.ne.jp/pic/index.html 1 ; ADD このソースファイルを各自打ち込んで下さい. EQU 0x0C ; at 0C 足し算を実行するプログラムの例です. MOVLW B 00000001 ; Load 0x01 to W ADDLW B'00000011' ; W

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x

More information

Microsoft Word - マイコン実験 doc

Microsoft Word - マイコン実験 doc Ⅲ-2. マイクロコンピュータの実験 - 1 1. 目的 (1) 基本的なマイクロコンピュ-タの構成を学ぶとともに 各部の機能を理解する (2) マイクロコンピュ-タの機械語プログラムの理解を深める 2. マイクロコンピュ-タの動作図 1は 8ビットマイクロプロセッサ Z80 を用いたマイクロコンピュ-タシステムのブロック図である 以下に このマイクロコンピュ-タを例にとり 各部の動作を説明する 記憶部

More information

1 8 Z80 Z GBA ASIC 2 WINDOWS C 1

1 8 Z80 Z GBA ASIC 2 WINDOWS C 1 1 8 Z80 Z80 20 8080 GBA ASIC 2 WINDOWS C 1 2.1 Z-80 A 0 - A 15 CPU Z80 D 0- D 7 I/O Z80 1: 1 (1) CPU CPU Z80 CPU Z80 AND,OR,NOT, (2) CPU (3) I/O () Z80 (4) 2 Z80 I/O 16 16 A 0, A 1,, A 15 (5) Z80I/O 8

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

Microsoft PowerPoint - 7.Arithmetic.ppt

Microsoft PowerPoint - 7.Arithmetic.ppt 第 7 章デジタル演算回路 1 デジタル信号処理音声, 音楽, 通信信号 信号 = 符号付き 2 進データ 負の数値の表現方法 2 2 進数 n ビット n-1 =Σb i 2 i 0 2 の補数 +=2 n n-1 n-1 2 n =1+Σb i 2 i +Σb i 2 i 0 0 n-1 =2 n ー =1+Σb i 2 i 0 3 2 進数の補数 2 の補数 各桁のビットを反転した後で最下位に

More information

39733a.fm

39733a.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 45. 拡張データ空間 (EDS) を備えたデータメモリ ハイライト 本セクションには下記の主要項目を記載しています 45.1 はじめに... 45-2 45.2 データメモリの構成... 45-3 45.3 拡張データ空間... 45-7 45.4 データ配置... 45-14

More information

main.dvi

main.dvi 20 II 7. 1 409, 3255 e-mail: namba@faculty.chiba-u.jp 2 1 1 1 4 2 203 2 1 1 1 5 503 1 3 1 2 2 Web http://www.icsd2.tj.chiba-u.jp/~namba/lecture/ 1 2 1 5 501 1,, \,", 2000 7. : 1 1 CPU CPU 1 Intel Pentium

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 7. MIPS の命令と動作 分岐 ジャンプ 関数呼出し ( 教科書 7 章命令一覧は p.113) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 分岐 ジャンプ命令 条件文や繰り返し文などを実現するには, 命令の実行順の制御が必要 (C 言語

More information

Microsoft PowerPoint - Chap2 [Compatibility Mode]

Microsoft PowerPoint - Chap2 [Compatibility Mode] 計算機構成論 (Chap. 2) @C http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch22/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見 ご要望

More information

ND80ZⅢ応用プログラムq

ND80ZⅢ応用プログラムq Z80 命令説明書 ( 有 ) 中日電工 目次 [ はじめに ] 1 Ⅰ. レジスタについて 1 Ⅱ. 8 ビット転送命令 1 1.LD, 1 2.LD,(HL) 1 3.LD (HL), 1 4.LD,n 1 5.LD (HL),n 1 6.LD A,(BC) 2 7.LD A,(DE) 2 8.LD A,(nn) 2 9.LD (BC),A 2 10. LD (DE),A 2 11. LD (nn),a

More information

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の ) 割り込み / ポーリング /DMA/DTC(RL78 での周辺機能制御 ) 周辺機能を介してデータ転送を制御する方法には, 大きく分けて 3 つの方法があります その中で DMA や DTC は CPU を介することなく, 高速にデータを転送することができますが, 使用できるチャネル数が限られます そのため, たとえば,CSI のスレーブでの高速通信のように限られた時間内に転送が必要な場合に使用できます

More information

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx 2019 年 4 月 26 日ハードウエア設計論 :3 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 種々の記述 ~ ALU の実装とタイミングに関して always @(A or B or C) Ubuntu を起動し verilog が実行できる状態にしておいてください 79 演習 4: 簡単な演算器 1 入力 A:8 ビット 入力 B:8 ビット 出力 O:8

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

                 ZB11W取扱説明書

                 ZB11W取扱説明書 KL5C8012(Z80) 命令説明書 ( 有 ) 中日電工 目次 Ⅰ. レジスタについて 1 Ⅱ. 8 ビット転送命令 2 1.LD, 2 2.LD,(HL) 2 3.LD (HL), 2 4.LD,n 2 5.LD (HL),n 2 6.LD A,(BC) 2 7.LD A,(DE) 3 8.LD A,(nn) 3 9.LD (BC),A 3 10. LD (DE),A 3 11. LD (nn),a

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

PowerPoint Presentation

PowerPoint Presentation マイクロプロセッサ ( 第 1 回 ) P. Ravindra S De Silva ravi@tut.jp 1 はじめに 情報 知能工学系学生実験サイト http://www.cs.tut.ac.jp/jikken/ 実験の説明資料などはWeb 上で公開中 http://www.icd.cs.tut.ac.jp/~ravi/mp/index.html 受け取りは メールにて行う 宛先は desilva.teaching@gmail.com

More information

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P

.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P , 0 (MSB) =2, =1/2, MSB LSB, LSB MSB MSB 0 LSB 0 0 P61 231 1 (100, 100 3 ) 2 10 0 1 1 0 0 1 0 0 100 (64+32+4) 2 10 100 2 5, ( ), & 3 (hardware), (software) (firmware), hardware, software 4 wired logic

More information

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE 差し替え版 第 7 回マイクロプロセッサの VHDL 記述 マイクロプロセッサ全体および主要な内部ユニットの,VHDL 記述の例を示す. 1)MPU(Micro Processor Uit) Module 1MPU のエンティティ記述とコントローラの例以下は, 簡単な MPU の VHDL 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである

More information

ex05_2012.pptx

ex05_2012.pptx 2012 年度計算機システム演習第 5 回 2012.05.25 高水準言語 (C 言語 ) アセンブリ言語 (MIPS) 機械語 (MIPS) コンパイラ アセンブラ 今日の内容 サブルーチンの実装 Outline } ジャンプ 分岐命令 } j, jr, jal } レジスタ衝突 回避 } caller-save } callee-save 分岐命令 ( 復習 ) } j label } Jump

More information

1 はじめに このアプリケーションは 計算機ハードウェア論 のアセンブリ言語 ( 超簡単命令セット ) の理解を助けるために製作されました 便宜的に機能を追加 削除した箇所があるため このアプリケーション上での動き方が実際のCPUでの動き方と異なる場合があることに留意してください このアプリケーショ

1 はじめに このアプリケーションは 計算機ハードウェア論 のアセンブリ言語 ( 超簡単命令セット ) の理解を助けるために製作されました 便宜的に機能を追加 削除した箇所があるため このアプリケーション上での動き方が実際のCPUでの動き方と異なる場合があることに留意してください このアプリケーショ アセンブリ言語 ( 超簡単命令セット版 ) 取扱説明書 平成 26 年 2 月改訂版 目次 1 はじめに 2 1.1 利用できるデータの範囲やアドレス空間 命令長についての注意 2 2 プログラムの書き方と実行の方法 3 2.1 このマニュアルでの表記について 3 2.2 入力上の注意 3 2.2.1 使用できる文字について 3 2.2.2 ラベルの付け方 3 2.3 命令長の書き方 4 2.3.1

More information

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド RH850の割り込み / 例外実現方法 CC-RH アプリケーションガイド R20UT3546JJ0101 2018.10.12 ソフトウェア開発統括部 ソフトウェア技術部ルネサスエレクトロニクス株式会社 アジェンダ 概要ページ 03 割り込み / 例外発生時に実行する関数の定義ページ 10 直接ベクタ方式のベクタの定義ページ 17 テーブル参照方式のベクタの定義ページ 25 その他 割り込み制御ページ

More information

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが MPASM MPASM は Microchip Tecnology Inc. 社の開発した PIC のためのアセンブリ言語である ここでは MPASM の文法と使用法などについて記述する 1. 文法 ソースコードファイルは ASCII テキストファイルエディターを使って作成する そのように作られたソースコードは以下に示す基本的ガイドラインに従うべきである ソースファイルの各行は次の 4 つのタイプの情報を含んでよい

More information

Microsoft Word - HW06K doc

Microsoft Word - HW06K doc 完了した CP:1~19( 合計 19 個 ) 未達成の CP:20 [ 要旨 目的 ] CPU の製作を行う CPU の製作を通じて ハードウェア設計の流れを理解する CPU の構造について 理解を深める CPU 製作第 3 回の実験では 最終的なCPUの完成を目指す [ 原理 理論 ] まずは CPU の構造設計から行う 全体の構成は次のようになる 下の図では モニター回路は含まれない chattering

More information

CASL入門

CASL入門 2 章 システム COMETⅡ の仕様 ここでは 情報処理推進機構 (IPA) が発行している情報処理技術者試験のパンフレットにある アセンブラ言語の仕様 にそって説明していきます この資料では システム COMETⅡの仕様 の中に命令の説明が書かれており アセンブラ言語 CASLⅡの仕様 には命令の説明は記載されていません 何か奇異な感じがしますが アセンブラの命令はハードウェア命令そのものであるので

More information

スライド 1

スライド 1 計算機の構造とプログラムの実行 1 計算機の基本構成 メモリ プロセッサ データ領域 データデータデータ load store レジスタ PC プログラム領域 命令命令命令 演算器 (ALU) 2 計算機の基本動作 プロセッサは, メモリのプログラム領域から命令をアドレス順に読み出して実行する 演算は ALU (Arithmetic Logic Unit) が行う 必要に応じて, メモリとプロセッサ内のレジスタとの間でデータを移動する

More information

Microsoft PowerPoint - H2.ppt [互換モード]

Microsoft PowerPoint - H2.ppt [互換モード] 力装置はじめに マイクロプロセッサ ( 第 回 ) 担当 : 佐竹純二 情報 知能工学系学生実験サイト http://www.cs.tut.ac.jp/jikken/ 実験の説明資料などは Web 上で公開中 http://www.aisl.cs.tut.ac.jp/~satake/class/ 実験レポートの受け取りはMoodle 上で行う https://moodle.imc.tut.ac.jp/course/view.php?id=285

More information

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo

3 SIMPLE ver 3.2: SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE (main memo 3 SIMPLE ver 3.2: 20190404 1 3 SIMPLE (SIxteen-bit MicroProcessor for Laboratory Experiment) 1 16 SIMPLE SIMPLE 2 SIMPLE 2.1 SIMPLE 1 16 16 (main memory) 16 64KW a (C )*(a) (register) 8 r[0], r[1],...,

More information

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - 11Web.pptx 計算機システムの基礎 ( 第 10 回配布 ) 第 7 章 2 節コンピュータの性能の推移 (1) コンピュータの歴史 (2) コンピュータの性能 (3) 集積回路の進歩 (4) アーキテクチャ 第 4 章プロセッサ (1) プロセッサの基本機能 (2) プロセッサの構成回路 (3) コンピュータアーキテクチャ 第 5 章メモリアーキテクチャ 1. コンピュータの世代 計算する機械 解析機関 by

More information

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo 目次 1. はじめに 1 2. マルチALUプロセッサ MAP 2 2.1 MAP の構成 2 2.2 MAP 命令セットアーキテクチャ 3 2.3 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 7 3.1 1 次 Booth アルゴリズム 7 3.2 2 次 Booth アルゴリズム 8 3.3 3 次 Booth アルゴリズム 10 4. シミュレーションによる並列化の評価

More information

<5A2D38308A E9197BF2E786C73>

<5A2D38308A E9197BF2E786C73> A.Z-80 レジスタ構成図 主レジスタ 補助レジスタ アキュームレータ A フラグレジスタ F アキュームレータ A' フラグレジスタ F' B C B' C' D E D' E' 汎用レジスタ H L H' L' インタラプトベクトルレジスタ I メモリリフレッシュレジスタ R インデックスレジスタ IX インデックスレジスタ IY 専用レジスタ スタックポインタ SP プログラムカウンタ PC

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 命令と命令表現 ( 教科書 3.1 節 ~3.4 節 ) プロセッサの命令と命令セット 命令 : プロセッサへの指示 ( プロセッサが実行可能な処理 ) 加算命令 減算命令 論理演算命令 分岐命令 命令セット : プロセッサが実行可能な命令の集合 ( プログラマから見えるプロセッサの論理仕様 ) プロセッサ A 加算命令分岐命令 プロセッサ B 加算命令減算命令 命令セットに含まれない命令は直接実行できない!

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 5 回目演算子の優先順位と変数の型変換 今日の講義で学ぶ内容 演算子の優先順位 優先順位の変更の方法 キャスト演算子と型変換 演算子の優先順位 演算子の優先順位 式を計算するときの演算の順序です例えば a=b*c+d; では乗算を先に計算するというルールです ( 主な演算子の優先順位 ) 演算子 名前 結合規則 ++ 後置インクリメント 左 -- 後置デクリメント 左!

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

CASL入門

CASL入門 3 章 アセンブラ言語 CASLⅡ の仕様 ここでは アセンブラ言語の説明をします ちょっと待て 第 2 章の話は アセンブラ言語の話ではなかったのか と思われた人はいませんでしょうか 一般に プログラム という場合 その構成要素は次の 3 つに分かれます 1 動作のための命令加算 減算 比較などの命令 2 領域確保や定数定義など 動作しない部分 3 プログラム名の定義などこのうち 1が第 3 章で説明した部分にあたります

More information

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc)

(Microsoft Word - \216\346\220\340SiTCP-VME-Master\(Rev26\).doc) SiTCP VME-Master Master module Mode2 BBT-002 002-2 取扱説明書 Rev 2.6 (June21, 2016) 変更履歴 Rev 変更日 変更ページ 変更内容 0.4 2008/02/13 P12 Address Fix モード時の制限事項を追加 0.5 2008/02/14 P3, 11 非整列転送の非サポートを明記 1.0 2008/04/04 P6

More information

Microsoft PowerPoint - NxLecture ppt [互換モード]

Microsoft PowerPoint - NxLecture ppt [互換モード] 011-05-19 011 年前学期 TOKYO TECH 命令処理のための基本的な 5 つのステップ 計算機アーキテクチャ第一 (E) 5. プロセッサの動作原理と議論 吉瀬謙二計算工学専攻 kise_at_cs.titech.ac.jp W61 講義室木曜日 13:0-1:50 IF(Instruction Fetch) メモリから命令をフェッチする. ID(Instruction Decode)

More information

4. 半角文字コード変換表 ここでは 半角文字のコード変換についての詳細な表を記載します の文字と文字コード (16 進数 ) には 表内で灰色の網掛けを設定しています 4.1 IBMカナ文字拡張からへの変換 16 進数 16 進数 16 進数 16 進数 16 進数 16 進数 SP 0x40 S

4. 半角文字コード変換表 ここでは 半角文字のコード変換についての詳細な表を記載します の文字と文字コード (16 進数 ) には 表内で灰色の網掛けを設定しています 4.1 IBMカナ文字拡張からへの変換 16 進数 16 進数 16 進数 16 進数 16 進数 16 進数 SP 0x40 S 2013 年 4 月 3 日 お客様各位 株式会社セゾン情報システムズ HULFT 事業部 コード変換機能での のサポート 拝啓貴社ますますご清祥のこととお慶び申し上げます 平素は格別のご高配を賜り 厚く御礼申し上げます idivo Ver.1.4.0 では コード変換機能で変換できるコード体系の 1 つとして をサポートしました ついては 次に示すコード変換のパターンにおける 文字と文字コード (16

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D

More information

Section 36. Programmable Cyclic Redundancy Check (CRC)

Section 36. Programmable Cyclic Redundancy Check (CRC) 36 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 36. プログラマブル巡回冗長検査 () プログラマブル ハイライト 本セクションには以下の主要項目を記載しています 36.1 はじめに... 36-2 36.2 モジュールの概要... 36-3 36.3 レジスタ... 36-3 36.4 エンジン... 36-6 36.5

More information

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 ここでは機械命令レベルプログラミングを学びます 機械命令の形式は学びましたね機械命令を並べたプログラムを作ります 2 その前に プログラミング言語について 4 プログラミング言語について 高級言語 (Java とか C とか ) と機械命令レベルの言語 ( アセンブリ言語 ) があります 5 プログラミング言語について

More information

MASM32 基本

MASM32 基本 MASM32 の基本 MASM 3 今回の課題項目 MASM(8086) の命令 転送命令 システムコール 今回の重点項目 MASM(8086) の命令 -1- 命令 各論 予備知識 実効アドレス EA(Effective Address) の計算方法 8086 で 処理速度 ( クロック数 ) は アドレッシング方法に依り異なる 各アドレッシングに依るクロック数を 下記の表に示す アドレッシングクロック数

More information

MP_slide_ja

MP_slide_ja Microprocessor(Lecture 1) Hiroshi Higashi 1 Introduction 情報 知能 学系学 実験サイト http://www.cs.tut.ac.jp/jikken/ 実験の説明資料などは Web 上で公開中 https://cs.tut.ac.jp/~higashi/class.html 実験レポートの受け取りはメールにて う higashi@tut.jp

More information

改訂履歴 Ver 年 ( 平成 30 年 )5 月 25 日ページ変更点 1 試験問題に出題する Java の変更 (Third Edition から Java SE 8 Edition に変更 ) Ver 年 ( 平成 28 年 )10 月 21 日ページ変更点

改訂履歴 Ver 年 ( 平成 30 年 )5 月 25 日ページ変更点 1 試験問題に出題する Java の変更 (Third Edition から Java SE 8 Edition に変更 ) Ver 年 ( 平成 28 年 )10 月 21 日ページ変更点 情報処理技術者試験情報処理安全確保支援士試験 試験で使用する情報技術に関する用語 プログラム言語など Ver.3.1 1. 情報技術に関する用語... 1 2. 記号 図など... 1 3. プログラム言語... 1 4. データベース言語... 1 5. マーク付け言語 ( マークアップ言語 )... 1 6. 表計算ソフトなどのソフトウェアパッケージ... 2 別紙 1 アセンブラ言語の仕様...

More information

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev:01 10.4.2013 PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を確認する方法 JTAG アクセスができるデバイス ( セキュリティ Fuse 断ではできません ) に対して

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 計算機基礎第 7 回 ノイマン型計算機 (2) 1 スタックの練習問題 逆ポーランド表記 ( 後置記法 : postfix notation) に変換してみよ 1+2*3+4 1 2 3 * + 4 + (1+2)*3+4 1 2 + 3 * 4 + 1+2*(3+4) 下の 3 番目と同じ 中置記法 (infix notation) に変換してみよ 1 2 + 3 * 4 + (1 + 2) *

More information

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

Microsoft PowerPoint - Chap4 [Compatibility Mode]

Microsoft PowerPoint - Chap4 [Compatibility Mode] 計算機構成論 (Chap. ) @C01 http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch2012/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見

More information

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit) 2016.4.1 II ( ) 1 1.1 DRAM RAM DRAM DRAM SRAM RAM SRAM SRAM SRAM SRAM DRAM SRAM SRAM DRAM SRAM 1.2 (DRAM, Dynamic RAM) (SRAM, Static RAM) (RAM Random Access Memory ) DRAM 1 1 1 1 SRAM 4 1 2 DRAM 4 DRAM

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

Microsoft PowerPoint - Lec ppt [互換モード]

Microsoft PowerPoint - Lec ppt [互換モード] 0 年後学期 アウトオブオーダ実行プロセッサの構成 計算機アーキテクチャ第二 (O) アウトオブオーダ実行プロセッサとバックエンド フロントエンド 命令ウィンドウ : 命令を格納するバッファ 命令ウィンドウ ALU レジスタファイル ALU スケジューラ等 Register Dispatch 命令フェッチ, デコード, リネーミング バックエンド アウトオブオーダ実行プロセッサの構成 ディスパッチ

More information

スライド 1

スライド 1 RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介 SAU シリアル アレイ ユニット ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ SAU の概要 UART 通信機能のプログラム サンプル紹介 2 SAU の概要 3 SAU の機能 クロック同期式調歩同期式マスタ動作のみ チャネル 0: 送信チャネル 1: 受信 4 UART

More information

スライド 1

スライド 1 Dispatch 0 年後学期 計算機アーキテクチャ第二 (O) アウトオブオーダ実行プロセッサとバックエンド フロントエンド 命令ウィンドウ : 命令を格納するバッファ ALU Dispatch 命令フェッチ, デコード, リネーミング バックエンド ディスパッチ (dispatch) : 命令ウィンドウに命令を格納する動作 発行 (issue, fire) : 命令ウィンドウから, データ依存が解消された命令を機能ユニットに送り出す動作

More information

Microsoft Word - 中間試験 その1_解答例.doc

Microsoft Word - 中間試験 その1_解答例.doc 問題 1.C 言語 情報技術 Ⅱ 前半中間試験 次の宣言をしている時 以下の問いに答えよ unsigned char moji_1; struct Kouzou { unsigned char code; unsigned char str[10]; }; struct Kouzou mk[3]; 明星大学情報学科 3 年後期 情報技術 Ⅱ 中間試験その 1 Page 1 1-1. 各値を求めよ (1)sizeof(

More information

パラメータ表 (VEA TYPE) 設定者 System 270 件名 PWM Mode 2(1/100Hz) 日時 エンコータ なし エンコータ 有り コート No. 内 容 設定範囲 初期設定 設定値 (1) 設定値 (2) 0 1stエンコーダパルス設定 [PLS] 0~

パラメータ表 (VEA TYPE) 設定者 System 270 件名 PWM Mode 2(1/100Hz) 日時 エンコータ なし エンコータ 有り コート No. 内 容 設定範囲 初期設定 設定値 (1) 設定値 (2) 0 1stエンコーダパルス設定 [PLS] 0~ 1. システムパラメータ一覧 パラメータ表 (VEA TYPE) 設定者 2002.09.24 System 270 件名 PWM Mode 0 or 3(1/100Hz) 日時 コート No. 内 容 設定範囲 初期設定 設定値 (1) 設定値 (2) 0 1stエンコーダパルス設定 [PLS] 0~99999999 1000 1 2ndエンコーダパルス設定 [PLS2] 0~99999999 1000

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 部 内 向 けスキルアップ 研 修 組 込 みOS 自 作 入 門 2013 年 8 月 4thステップ 担 当 : 中 村 目 次 はじめに ブート ローダー シリアル 経 由 でのファイル 転 送 XMODEMを 実 装 する(もくもく 会 ) アセンブラ プログラミング はじめに 前 回 やったこと ROM RAM 自 動 変 数 静 的 変 数 データ 領 域 に 関 する 学 習 今 回

More information

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 1 コンピュータの構造 1.1 パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

MODBUS ユーザーズマニュアル 페이지 1 / 23

MODBUS ユーザーズマニュアル 페이지 1 / 23 MODBUS ユーザーズマニュアル 페이지 1 / 23 目次 1. 概要... 1 2. GX7 サポートファンクションコード... 1 3. GX7 サポートリファレンス... 1 4. GX7 サポートリファレンスとファンクションコードの関係... 2 5. XD+ 内プロジェクト設定でオプション別の機能... 4 6. トラブルシューティング... 9 A. APPENDIX... 12 1.

More information

本日の範囲 ファイルとその中身 コンピュータにおける情報の表現 ファイルとフォルダ コンピュータの仕組み 通信 ネットワーク, インターネット 情報の符号化, その限界 コマンドライン プログラムの仕組み 通信の符号化, その限界 暗号 簡単なプログラムの作成 実行 Excel で計算 データの可視

本日の範囲 ファイルとその中身 コンピュータにおける情報の表現 ファイルとフォルダ コンピュータの仕組み 通信 ネットワーク, インターネット 情報の符号化, その限界 コマンドライン プログラムの仕組み 通信の符号化, その限界 暗号 簡単なプログラムの作成 実行 Excel で計算 データの可視 コンピュータが 計算 をする仕組み 田浦健次朗 本日の範囲 ファイルとその中身 コンピュータにおける情報の表現 ファイルとフォルダ コンピュータの仕組み 通信 ネットワーク, インターネット 情報の符号化, その限界 コマンドライン プログラムの仕組み 通信の符号化, その限界 暗号 簡単なプログラムの作成 実行 Excel で計算 データの可視化 基礎的概念 ( 本講義中では ) やや高度な概念

More information

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018 工学ゼミ Ⅲ 安全 環境活動に役立つ LEDイルミネーションの製作 第 1 回 1. 概要 3~5 名の学生グループで安全 環境活動に役立つ LED イルミネーションを作製する 作品のデザイン画や部品リスト 回路図 動作フロー図等は事前に作成し 計画的に作業を行うことが求められる 2. 達成すべき目標 作品に係る資料を事前にまとめ それに基づいて製作が行える 集団の中で 自身の知識 技術を積極的に応用しながら

More information

Microsoft PowerPoint - Chap3 [Compatibility Mode]

Microsoft PowerPoint - Chap3 [Compatibility Mode] 計算機構成論 (Chap. 3) @C4 http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch22/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見 ご要望

More information

Microsoft PowerPoint - NxLec-2010-11-01.ppt

Microsoft PowerPoint - NxLec-2010-11-01.ppt 2010 年 後 学 期 レポート 問 題 計 算 機 アーキテクチャ 第 二 (O) 4. シングルサイクルプロセッサの 実 装 とパイプライン 処 理 大 学 院 情 報 理 工 学 研 究 科 計 算 工 学 専 攻 吉 瀬 謙 二 kise _at_ cs.titech.ac.jp S321 講 義 室 月 曜 日 5,6 時 限 13:20-14:50 1 1. 1から100までの 加 算

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt コード生成 (2) http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1211.pdf 1 概要 宣言文と記号表 ( 配列 ) 今日はやりません 2 宣言 a = 1; b = a+2; putint(b); int main(){ int a; int b; a = 1; b = a+2; putint(b); } PUSH 0 26 LDC

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 10 週 Java 仮想マシンとその機械語 2014 年 6 月 11 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週 (6/11)

More information

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル

IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル IA-32 インテル アーキテクチャソフトウェア デベロッパーズ マニュアル 中巻 B: 命令セット リファレンス N-Z 注記 : IA-32 インテル アーキテクチャ ソフトウェア デベロッパーズ マニュアル は 次の 4 巻から構成されています 上巻 : 基本アーキテクチャ ( 資料番号 253665-013J) 中巻 A: 命令セット リファレンス A-M ( 資料番号 253666-013J)

More information

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS09.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 ページング パワーポイント 7 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 復習 主記憶管理

More information

ディジタルシステム設計

ディジタルシステム設計 Z80 Z80 Z80 Z80 ROM RAM I/O 8255 8251 Z80PIO Z80CTC Z80SIO R C L Tr OP TTL MCB Z MC Z Z80 Z80 TMPZ84015BF KL5C8012 64180 H8 H8 PIC Microchip Technology PIC Z80 F A A' ALU B D H C E L IX IY SP PC C E L

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション マイコンプログラミング演習 I 第 04-05 回 LEDを用いたI/O 制御担当 : 植村 実験の目的 本実験ではマイコンシステムを用いた信号の入出力の制御方法を理解することを目的とし, マイコンのアーキテクチャを理解 実装するとともに, アセンブラによるプログラミング技術の習得を行う. 回路の構成として,PIC16F84A を用いてスイッチを入力とする LED の点灯 / 消灯の出力操作を行う回路ならびにアセンブラプログラムを実装する.

More information

Microsoft PowerPoint - Chap5 [Compatibility Mode]

Microsoft PowerPoint - Chap5 [Compatibility Mode] 計算機構成論 (Chap. 5) @C306 http://www.ngc.is.ritsumei.ac.jp/~ger/lectures/comparch2012/index.html (user=ganbare, passwd = 初回の講義で言いました ) 講義に出るなら 分からないなら質問しよう 単位を取りたいなら 章末問題は自分で全部といておこう ( レポートと考えればいいんです!) ご意見

More information

アナログ・接点変換器

アナログ・接点変換器 LoRa/ 通信変換器 HLR-RS485 通信仕様書 (Modbus) インターフェース 2019 年 02 月 19 日 改訂履歴 日付改訂者改訂内容 2018/09/14 野村初版 2019/02/19 山下 改訂 1 P12 説明文修正 レジスタ割付修正 P13 キャリアセンス異常エラー追加 承認確認作成 ( 3 ) 目次 1 概要... 4 2 基本仕様... 4 3 通信モードについて...

More information

文字コード (2) 林部祐太 国立国会図書館関西館電子図書館課 2013/9/27 1

文字コード (2) 林部祐太 国立国会図書館関西館電子図書館課 2013/9/27 1 文字コード (2) 林部祐太 (NAIST) @ 国立国会図書館関西館電子図書館課 2013/9/27 1 参考書 プログラマのための文字コード技術入門 ( 技術評論社 2010 年 ) 特に注記がない場合, 本スライドの図表は本書からの引用 2 2 予定 第 1 回文字コードとは (2013-7) 文字とコンピュータ 文字コードの編成 ( 文字集合 符号化文字集合 文字符号化方式 ) 第 2 回代表的な符号化文字集合

More information

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 コンピュータの構造 1. パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置 ):

More information

i コロナ社 AND OR NOT SRAM IC

i コロナ社 AND OR NOT SRAM IC i ANDORNOT SRAM IC ii SRAM PIC 1 1. 1 ディジタルコード 1 1. 2 自然数と正の有理数の 2 進コード 3 1.2.1 アラビア数字による自然数の各種コード 3 1.2.2 正の有理数の 2 進コード 5 1.2.3 自然数の各種コードの基数変換 6 1. 3 ビット 8 1. 4 エンコーダデコーダ 13 2 2. 1 文字 数字 その他の記号のディジタルコード

More information

10-vm1.ppt

10-vm1.ppt オペレーティングシステム ~ 仮想記憶 (1) ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/06/19 OS の目的 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと メモリをアプリケーション自身が管理しなければならない

More information

Microsoft PowerPoint - Sol7 [Compatibility Mode]

Microsoft PowerPoint - Sol7 [Compatibility Mode] ミニクイズ 4 E ハザード ( つ前の命令の結果を必要とする状況 ) が発生する条件を つ挙げよ. また それぞれの時に 制御線 ForwardA, ForwardB はどのように設定すれば良いか? ( 回答 ) E/.RegWrite= かつ E/.RegisterRd = ID/.RegisterRs この時,ForwardA = と制御すれば良い. E/.RegWrite= かつ E/.RegisterRd

More information

スライド 1

スライド 1 2. 転送命令を学ぼう 2004 年 8 月に本講義ノートを Web にアップして以来, とても多くの方の訪問を受けてきました. 内容が一部古くなっていたので,2012 年 5 月時点の情報に書き改めました. 主な変更点は以下の通りです. 第 0 章に本講座の準備のための章を設け, 以下の更新をしました. 1. プログラム開発環境 (MPLAB IDE) を v8.84 に更新しました. 2012

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? レジスタ アクセスの拡張機能 1. レジスタ アクセスの概要 Smart-USB Plus 製品で利用できるレジスタ アクセスとは FPGA 内にハードウエア レジスタを実装し ホスト PC の制御ソフトウエアから USB 経由でそれらのレジスタに値を設定したり レジスタの設定値を読み出すことができる機能です このレジスタ アクセス制御には USB バス仕様に基づく コントロール転送 を利用しています

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー

初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コー 初心者のための RL78 入門コース ( 第 3 回 : ポート出力例 2 とポート入力 ) 第 3 回の今回は, 前回作成したプログラムを RL78/G13 のハードウェアを用いて見直しをお こないます 今回の内容 8. コード生成を利用した実際のプログラム作成 ( その 2) P40 9. コード生成を利用したプログラム作成 ( ポート入力 ) P47 次回 ( 第 4 回 ) は, 以下の内容を予定しています

More information

6. パイプライン制御

6. パイプライン制御 6. パイプライン制御 パイプライン (Pipelining) 命令のスループットをあげて性能を向上する Program eection order Time (in instrctions) lw $, ($) fetch 2 4 6 8 2 4 6 8 Data access lw $2, 2($) 8 ns fetch Data access lw $3, 3($) Program eection

More information

8ビットデータバスでアクセスする場合は、16ビットレジスタを上位バイト、下位バイトに分けてアクセスします

8ビットデータバスでアクセスする場合は、16ビットレジスタを上位バイト、下位バイトに分けてアクセスします はじめにこのたびは 弊社 T-IADA168 をお買い上げ頂きましてまことにありがとうございます このマニュアルは T-IADA168 の概要等について説明しています 各 LSI についての詳細は必要に応じてデータシートを参照してください ハードウエアの不具合に関しましてのサポートはいたしますが RTOS を含めたソフト面のサポートは基本的にはしておりません 注意事項 (1) 本書の内容に関しては将来予告なしに変更することがあります

More information