約 2,083,367 件
https://w.atwiki.jp/akios/pages/59.html
4. 型と値と変数 4.1. 型と変数の種類 4.2. プリミティブ型と値 4.2.1. 整数型と値 4.2.2. 整数演算 4.2.3. 浮動小数点型と書式と値 4.2.4. 浮動小数点演算 4.2.5. ブール型とブール値 boolean型はリテラルtrueとfalseで表される2つの論理的な量を表します。 ブール演算子は以下の通りです。 関係演算子==と!= 論理補数演算子! 論理演算子 と^と| 条件付きAND演算子 、条件付きOR演算子|| 条件演算子? 文字列結合演算子+、Stringオペランドとbooleanオペランドを与えるとbooleanオペランドの値を表すString("true"もしくは"false")に変換し2つの文字列を結合して新たなString型を作成します。 ブール式は以下のような文で制御フローを決定します。 if文 while文 do文 for文 boolean式は条件演算子? にてどちらの副式を評価するかを決定します。 boolean式とBoolean式のみが制御フロー文や条件演算子? の第1オペランドとして使用できます。 整数式や浮動小数点式xはbooleanへ変換できます。C言語のように非ゼロ値がtrueであるのを表すには、式x!=0と式を記述します。 オブジェクト参照objをbooleanへ変換できます。C言語のようにnull以外の任意の参照がtrueであるのを表すには、obj!=nullと式を記述します。 booleanは文字列変換によってStringに変換できます。 boolean値からはbooleanもしくはBooleanへのキャストのみが可能です(5.1.1.、5.1.7.)。boolean型からその他の型にキャストすることはできません。 4.3. 参照型と値 4.4. 型変数 4.5. 引数付き型 4.6. 型の抹消 4.7. 具象可能型 4.8. 未加工型 4.9. 交差型 4.10. サブタイプ化 4.11. 型の使用箇所 4.12. 変数
https://w.atwiki.jp/wiki7_05ad3/pages/135.html
バロックオペラ バロックオペラは衣装と背景を伴い、台本(リブレット)と呼ばれるテキストの全体に 音楽がつけられる。筋書きは普通世俗的である。 バロック初期に「オペラ・セーリア 」(悲劇の形をとる)、「オペラ・ブッファ」(喜劇)などの オペラが発展。これらの特徴としては、「レチタティーヴォ」(語られる内容を主としてあまり旋律的でない楽句) 「アリア」(旋律的なまとまった形の独唱曲)があげられる。また器楽伴奏は単純な通奏低音から出発したが 18世紀には編成の大きい管弦楽にまで発展をとげた。
https://w.atwiki.jp/esperanto/pages/36.html
リンク 所沢エスペラント会 Tokorozaŭa Esperanto-Rondo TOER (リンク) 概要 所沢市を中心に西武線沿線に住むエスぺランチストで組織されるエスペラント会。他の地域の有志の参加も歓迎。 エスペラント名称 Tokorozaŭa Esperanto-Rondo 略称 TOER タグ 団体 役に立った? 選択肢 投票 役に立った (0)
https://w.atwiki.jp/snesspec/pages/126.html
immediate (即値) オペランドの内容を直接パラメータとして使用。 オペランドのバイト数はステータスレジスタの各ビットモードに依存する。 例 LDA #IMX即値IMXをAにロード
https://w.atwiki.jp/lufas/pages/134.html
千早メール「オペラ」 取得条件:高テンション プロデューサー、千早です。 今まで、歌のために、いろいろ学んできました。 義太夫、民謡```。 今度は少し、オペラの勉強を、してみるつもりです。 物語性のある音楽、高い技術```。 とても美しくて、壮観な世界に、入り込んでしまいます。 プロデューサーは、オペラなど興味はなさそうですが```。 勉強のためにも、一度いっしょに、鑑賞できるといいですね。 それでは、また近いうちに。 千早メール一覧に戻る トップページに戻る
https://w.atwiki.jp/sevenlives/pages/2186.html
単項演算子 読み:たんこうえんざんし 英語:unary operator 別名: 意味: 単項演算子とは、オペランド一つに対し演算を行う演算子のこと。 (!)や(-)などがそうです。 2011年04月01日 オペランド 演算子
https://w.atwiki.jp/oper/pages/1342.html
放送予定 スーパーオペラレッスンの放送は全日程を終了しました。 今後の再放送の情報はできるだけフォローしたいと思います。 レッスン曲目 La Bohème ラ・ボエーム第1回 ショナールの歌 sung by コズミン・シメ 第2回 さようなら 私の名はミミ sung by ナリネ・オジャヒャーン 第3回 古い外套よ sung by ジャスティン・ホプキンス 第4回 第4幕冒頭 sung by オーウェン・ジルフーリー 第5回 わたしが町を歩くと sung by ネッタ・オル 第6回 冷たい手を 第1幕冒頭 sung by カルロス・オスナ 第7回 愛らしい乙女よ ラストシーン Carmen カルメン第8回 花の歌 sung by カルロス・オスナ シューマン第8回 リーダークライス~静けさ sung by ネッタ・オル Il Barbiere di Siviglia セビリアの理髪師 第9回 私は町のなんでも屋 sung by オーウェン・ジルフーリー Le nozze di Figaro フィガロの結婚 第9回 もうあんたの勝ちだと言ったな sung by コズミン・シメ Gianni Schicchi ジャンニ・スキッキ第10回 わたしのお父さん sung by ナリネ・オジャヒャーン Le nozze di Figaro フィガロの結婚 第10回 もし踊りをなさりたければ sung by ジャスティン・ホプキンス ブラームス第10回 死は冷たい夜 sung by ジャスティン・ホプキンス リンク バーバラ・ボニー @ ウィキペディア バーバラ・ボニーのレパートリー@オペラ配役プロジェクト Blogs on スーパーオペラレッスン #bf → ブログをもっと読む
https://w.atwiki.jp/esperanto/pages/37.html
リンク 調布エスペラント会 Ĉofu Esperanto-Societo (リンク) 概要 東京都調布市で、国際共通語エスペラントの学習と普及活動をしています。毎週日曜日に東部公民館で例会を開いており、初心者向けの入門講習も随時おこなっています。 エスペラント名称 Ĉofu Esperanto-Societo 略称 なし タグ 団体 役に立った? 選択肢 投票 役に立った (0)
https://w.atwiki.jp/tenken3ps/pages/181.html
PICの全体アーキテクチャ データメモリのアーキテクチャSFR(Special Function Register)INDFレジスタ TMR0レジスタ STATUSレジスタTOフラグ PDフラグ Zフラグ DCフラグ Cフラグ OPTION_REGレジスタ FSRレジスタ INTCONレジスタ PIE1レジスタ PIR1レジスタ PIE2レジスタ PIR2レジスタ PCONレジスタ PCLレジスタ PCLATHレジスタ EEADRレジスタ EEADRHレジスタ EECON1レジスタ EECON2レジスタ OSCTUNEレジスタ OSCCONレジスタ フラグ クロック 命令のアーキテクチャバイト処理命令 ビット処理命令 リテラル処理命令 ジャンプ命令 演算方法2進数加算 2進数減算・符号付2進数 補数 2進数乗算 2進数余算 2進数・10進数変換 10進数・16進数変換 論理演算論理積演算(AND) 論理和演算(OR) 排他的論理和演算(XOR) 否定演算(NOT) 記号説明 命令一覧加減算命令ADDWF SUBWF ADDLW SUBLW 論理演算命令ANDWF IORWF XORWF COMF ANDLW IORLW XORLW 移動・転送命令MOVF MOVWF MOVLW CLRF CLRW カウントアップダウン命令・FOR文DECF INCF DECFSZ INCFSZ ビット操作命令・IF文・CASE文BCF BSF BTFSC BTFSS 巡回シフト命令RLF RRF SWAPF ジャンプ命令・サブルーチンGOTO CALL RETURN RETFIE RETLW その他CLRWDT NOP SLEEP PICの全体アーキテクチャ ①命令の取り出し(Fetch) 起動・初期化を終えると、プログラムメモリの命令レジスタから命令のフェッチ(取り出し)がされる。 ②命令の解読(Decode) 命令を解読し、演算・制御指示をする。 ③演算データの転送と演算実行(Execute) ALUやMUXで演算処理がなされる。 ④結果の転送と格納(Write-Back) Wレジスタやfレジスタへ結果が転送され、格納される。さらに、その結果の状態(正負、ゼロ)はSTATUSレジスタに記憶される。 ⑤周辺機器の制御 演算結果の格納先がSFRであった場合、動作制御が行われる場合がある。 ⑥次の命令へ(①へ戻る) プログラムカウンタが+1されて、次の命令が実行される。 データメモリのアーキテクチャ 一例として、PIC16F88のデータメモリのアーキテクチャを掲載する。これらの内容はPICごとに異なっているので、データシートで確認する必要がある。 SFR(Special Function Register) SFRとは、PICの入出力や各種モード設定などに使う特別なレジスタのこと。 INDFレジスタ TMR0レジスタ STATUSレジスタ 演算結果の各種フラグと、データメモリのBank指定のビットを含んでいる。 レジスタファイルの3番地としてすべてのデバイスで共通であるとともに、すべてのBankのアドレス3番地の位置に用意されている。 IRP RP1 RP0 TO PD Z DC C TOフラグ 電源がONにされた時か、CLRWDT命令もしくはSLEEP命令が実行された時、フラグが立ち、TOフラグビット=1となる。 また、ウォッチドッグタイマがタイムアウトした時、TOフラグビット=0となる。 PDフラグ 電源がONにされた時か、CLRWDT命令が実行された時、フラグが立ち、PDフラグビット=1となる。 また、SLEEP命令が実行された時、PDフラグビット=0となる。 Zフラグ 演算結果が0の時、フラグが立ち、Zフラグビット=1となる。 DCフラグ 演算結果の下位4ビットからの繰り越しがある時、フラグが立ち、DCフラグビット=1となる。 Cフラグ 演算結果の最上位ビットからの繰り越しがある時、フラグが立ち、Cフラグビット=1となる。 OPTION_REGレジスタ 各種のPIC内部の制御を行うためのレジスタ。すべてのビットを読み書きすることができる。 RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 FSRレジスタ INTCONレジスタ PIE1レジスタ PIR1レジスタ PIE2レジスタ PIR2レジスタ PCONレジスタ PCLレジスタ PCLATHレジスタ EEADRレジスタ EEADRHレジスタ EECON1レジスタ EECON2レジスタ OSCTUNEレジスタ OSCCONレジスタ フラグ 特定の結果や条件・状態を保存しておくための、領域やシステムのこと。 フラグは1ビット幅であることが多いため、2通りの情報(真 or 偽)しか保存できない。 例えば、『A という条件を満たしていればAという処理を、そうでなければ(B という条件を満たしていれば)Bという処理を行う』場合を考える。Aが実行したい目的であるならば、A が条件分岐の『フラグ』であり、A を満たすことを『フラグを立てる、セットする』と言う。逆に、B を満たすことは『フラグを落とす・倒す』と言う。 フラグは主に条件判定に関わる命令(ビット操作命令・IF文・CASE文)に関係する。 クロック クロック信号、クロックパルスとも言う。 複数の回路を動かすために、ペースメーカーとして使われる信号のこと。メトロノームのようなものだと考えれば良い。 周期的に電圧が高い状態と低い状態をとることで一定の周波数を保つ。アナログ回路では正弦波、デジタル回路では矩形波が用いられる場合が多い。 PICでは、命令の1サイクル(Fetch→Decode→Execute→Write-Back)は4クロックで行われることが多い。 例えば、クロックが1kHz(1秒間に1000回、電圧の昇降が起こる)で、命令の1サイクルが4クロックで行われる場合、1秒間に250個の命令を処理することができる。 つまり、クロックが大きければ大きいほど、命令処理速度は大きくなる。しかし、クロックが大きいということは、1秒間あたりの消費電力が大きいことも同時に意味しており、これは『発熱』という形で回路に悪影響を及ぼす。 クロックは発振器または振動子という装置によって形成される。これらはPICに内蔵されていることもあるが、外部に別の発振器・振動子を取り付けてPICを動作させることも可能である。この状態(発振モード)には6種類ある。 LP 外部水晶振動子外部セラミック振動子 200kHz以下 極低消費電力 XT 外部水晶振動子外部セラミック振動子 200kHz~4MHz 標準的 HS 外部水晶振動子外部セラミック振動子 4MHz~20MHz 高速動作 EXTRC 外部RC発振 約1MHz以上 周波数精度は良くない EXTCLK (高性能)外部発振器 20MHz以下 高性能なものや、低周波を使用する場合 INTOSCINTRC 内部発振 4MHz or 8MHz 外付部品が無い また、PIC16F88では、3種類のそれぞれ異なるクロックから1つを選ぶことができる。 命令のアーキテクチャ 上位ビットには『命令コード』があり、これによって、すべての命令が区別できるようになっている。 下位ビットには『オペランド』があり、これによって、演算対象や定数などの命令実行内容を指定する。 バイト処理命令 主に演算が中心となる命令。fの部分で指定されたf番地レジスタファイルが演算の対象となる。 13 8 7 6 0 命令コード d f f:レジスタファイルのアドレス d:宛先指定 d=0ならWreg、d=1ならレジスタファイルのf番地 ビット処理命令 主にビット演算が中心となる命令。f部分で指定された、f番地レジスタファイルにあるデータのbビット目が演算の対象となる。b部分は3ビット幅あることから、1ビット目~8ビット目のうちいずれか一つを選択することができる。 13 10 9 7 6 0 命令コード b f f:レジスタファイルのアドレス b:レジスタファイルのビット位置 リテラル処理命令 k部分で指定された定数kが演算の対象となる。k部分は8ビット幅あるので、0~255までの数を扱うことができる。 13 8 7 0 命令コード k k:定数データ ジャンプ命令 主にジャンプ命令が中心となる命令。a部分で指定されたアドレスへとジャンプする。aは11ビット幅あるので、直接ジャンプできる範囲は0~2047番地までに限られる。 13 11 10 0 命令コード a a:ジャンプ先のアドレス 演算方法 ここでは2進数、10進数、16進数の扱いについて紹介する。 これらの演算処理は、PICのアセンブラ命令に関与する部分でもある。 なお、パソコンの電卓(プログラマモード)を使えばすぐに演算・変換ができる。 2進数加算 基本的な計算は以下のようになる。 0+0=0 0+1=1 1+0=1 1+1=10(桁上がり) これを使えば、あとは筆算で考えれば良い。 111000 + 101010 ──────── 1100010 2進数減算・符号付2進数 基本的な計算は以下のようになる。 0-0=0 1-0=1 1-1=0 10-1=1 100-1=11 1000-1=111 引き算の場合は、桁借りに注意しなければならない。原理は10進数の引き算と同じだが、初めのうちは理解しにくいかもしれない。 111000 - 101010 ──────── 1110 また、情報処理において、最上位ビットが符号を意味する(0が+、1が-)ことがある。ここから、最上位ビットを符号ビットと呼ぶこともある。つまり、8ビット幅の場合、符号無しだと0(00000000)~255(11111111)を指定することができるが、符号付だと-128(10000000)~127(01111111)を指定する。 なお、この時、値は以下のように変化するので注意が必要である。 00000000(10進数における0) ↓↑ 00001111(10進数における15) ↓↑ 01111111(10進数における127) 10000000(10進数における-128) 10000001(10進数における-127) ↓↑ 10001111(10進数における-113) ↓↑ 11111111(10進数における-1) これらの符号の有無は、演算処理時に設定することができる。 補数 b進法において、自然数aを表現するのに必要な最小の桁数をnとしたとき、 bn - a を「b進法におけるaに対する『bの補数』」 bn - a - 1 を「b進法におけるaに対する『b-1の補数』」 と言う。例えば、10進数では、自然数32の10の補数は64である(32+64=100)。2進数では、10010に対する2の補数は1110である(10010+1110=100000)。 2進数における1の補数は、各桁の0と1とを逆転することで簡単に求められる(NOT演算)。これを利用して、簡単に負の数を表現することが可能になり、また、減算も容易になる。 00111000(10進数における56) →(1の補数へ変換;0と1とを逆転)→ 11000111 →(2の補数へ変換;1の補数に+1する)→ 11001000(10進数における-56) → 1000(または、10進数における8) 00101010(10進数における42) →(1の補数へ変換;0と1とを逆転)→ 11010101 →(2の補数へ変換;1の補数に+1する)→ 11010110(10進数における-42) → 10110(または、10進数における22) 00111000(5610)- 00101010(4210)= 00111000(5610)+ 11010110(-4210) または、 111000(5610)- 101010(4210)=111000(5610)-[1000000(6410)- 10110(2210)] 2進数乗算 基本的な計算は以下のようになる。 0×0=0 0×1=0 1×0=0 1×1=1 1100 × 1111 ─────── 1100 1100 1100 1100 ─────── 10110100 2進数余算 乗算と減算との組み合わせであり、10進数における余算とほぼ同じである。 111 101 )100011 101 ─────── 111 101 ─────── 101 101 ─────── 0 101 101 )11010 101 ─────── 11 0 ─────── 110 101 ─────── 1 ←あまり 2進数・10進数変換 10進数は10nの数の集まりと考えられる。 123 = 2×102 + 2×101 + 6×100 同様にして考えると、2進数も2nの数の集まりと考えられる。この考え方と加算の考え方とを組み合わせることで、2進数と10進数とを相互に変換することができる。 123 = 0×27 + 1×26 + 1×25 + 1×24 + 1×23 + 0×22 + 1×21 + 1×20 ∴ 01111011 1111011= 1×26 + 1×25 + 1×24 + 1×23 + 0×22 + 1×21 + 1×20 =64+32+16+8+0+2+1 =123 10進数・16進数変換 考え方は、2進数←→10進数の変換と同じである。 123 = 0×162+ 7×161 + B×160 ∴ 7B 7B = 7×161 + B(12)×160 = 123 論理演算 ここではPICのアセンブラ命令における論理演算を紹介する。 論理積演算(AND) 両方とも1ならば、結果は1。それ以外なら0。 (例) Wreg 1 0 1 0 1 0 1 0 freg 1 1 0 0 1 1 0 0 結果 1 0 0 0 1 0 0 0 (使用例) ▼0でのマスク ▼0か否かの確認 ▼正か負かの確認 論理和演算(OR) どちらか片方が1ならば、結果は1。それ以外は0。 (例) Wreg 1 0 1 0 1 0 1 0 freg 1 1 0 0 1 1 0 0 結果 1 1 1 0 1 1 1 0 (使用例) ▼1でのマスク ▼0か否かの確認 ▼正か負かの確認 排他的論理和演算(XOR) 両方とも同じ数字ならば、結果は0。異なるのならば1。 (例) Wreg 1 0 1 0 1 0 1 0 freg 1 1 0 0 1 1 0 0 結果 0 1 1 0 0 1 1 0 (使用例) ▼任意ビットの反転 ▼0の代入 ▼データの暗号化 否定演算(NOT) 1の補数へと変換する。2進数の場合、0と1とを逆転することにより、1の補数を求めることができる。 PICのアセンブラでは、COM命令に相当する。 (例) freg 1 1 0 0 1 1 0 0 結果 0 0 1 1 0 0 1 1 記号説明 f、freg レジスタファイルのアドレス W、Wreg ワーキングレジスタ(アキュムレータ) b レジスタ中のビットアドレス a k リテラルデータ、定数データ x 無効、何でも良い d 格納宛先指定d=0ならWへd=1ならレジスタへ label ラベル TOS スタックメモリの最上位の内容 PC プログラムカウンタ(13ビット長) PCLATH プログラムカウンタの上位5ビット GIE グローバル割込許可ビット WDT ウォッチドッグタイマ TO タイムアウトステータスビット PD パワーダウンステータスビット dest 宛先 [ ] オプションで省略化 ( ) 内容 → 割当先 b レジスタの第bビット Z ゼロステータス C キャリーステータス DC 下位4ビットのキャリーステータス 命令一覧 加減算命令 加減算の命令。 演算結果によって、STATUSレジスタのC、DC、Zフラグが変化する。 ADDWF 意味 Add W and f 書式 [label] ADDWF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (Wreg) + (freg) → (dest) 影響フラグ C、DC、Z サイクル 1 機械語 00 0111 dfff ffff 実行内容 Wregの内容にfレジスタの内容を加算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。 SUBWF 意味 Subtract W from f 書式 [label] SUBWF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (freg) - (Wreg) → (dest) 影響フラグ C、DC、Z サイクル 1 機械語 00 0010 dfff ffff 実行内容 fregの内容からWregの内容を減算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。結果が0または正の時、Cフラグが1となる。 ADDLW 意味 Add literal and W 書式 [label] ADDLW k オペランド k:リテラルデータ(0~255) 実行内容 (Wreg) + (k) → (Wreg) 影響フラグ C、DC、Z サイクル 1 機械語 11 111x kkkk kkkk 実行内容 Wregの内容に8ビットのリテラルデータを加算し、その結果をWregに上書きする。 SUBLW 意味 Substract W from literal 書式 [label] SUBLW k オペランド k:リテラルデータ(0~255) 実行内容 (k) - (Wreg) → (Wreg) 影響フラグ C、DC、Z サイクル 1 機械語 11 110x kkkk kkkk 実行内容 8ビットのリテラルデータからWregの内容を減算し、その結果をWregに上書きする。結果が0または正の時、Cフラグが1となる。 論理演算命令 論理演算をする命令。 演算結果によって、STATUSレジスタのZフラグが変化する。 ANDWF 意味 AND W with f 書式 [label] ANDWF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (Wreg).AND.(f) → (dest) 影響フラグ Z サイクル 1 機械語 00 0101 dfff ffff 実行内容 Wregの内容とfregの内容との論理積演算をし、その結果を、d=0ならWregに、d=1ならfregに上書きする。 IORWF 意味 IORWF Inclusive OR With f 書式 [label] IORWF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (Wreg).OR.(f) → (dest) 影響フラグ Z サイクル 1 機械語 00 0100 dfff ffff 実行内容 Wregの内容とfregの内容との論理和演算をし、その結果を、d=1ならWregに、d=1ならfregに上書きする。 XORWF 意味 Exclusive OR W with f 書式 [label] XORWF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (Wreg).XOR.(f) → (dest) 影響フラグ Z サイクル 1 機械語 00 0110 dfff ffff 実行内容 Wregの内容とfregの内容の排他論理和演算をし、その結果を、d=0ならWregに、d=1ならfregに上書きする。 COMF 意味 Complement f 書式 [label] COMW f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 complement(f) → (dest) 影響フラグ Z サイクル 1 機械語 00 1001 dfff ffff 実行内容 fregの内容の補数を演算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。 ANDLW 意味 AND literal with W 書式 [label] ANDLW k オペランド k:リテラルデータ(0~255) 実行内容 (Wreg).AND.(k) → (Wreg) 影響フラグ Z サイクル 1 機械語 11 1001 kkkk kkkk 実行内容 Wregの内容と8ビットのリテラルデータのANDを取り、結果をWregに上書きする。 IORLW 意味 Inclusive OR literal with W 書式 [label] IORLW k オペランド k:リテラルデータ(0~255) 実行内容 (Wreg).OR.(k) → (Wreg) 影響フラグ Z サイクル 1 機械語 11 1000 kkkk kkkk 実行内容 Wregの内容と8ビットのリテラルデータのORを取り、結果をWregに上書きする。 XORLW 意味 Exclusive OR literal with W 書式 [label] XORLW k オペランド k:リテラルデータ(0~255) 実行内容 (Wreg).XOR.(k) → (Wreg) 影響フラグ Z サイクル 1 機械語 11 1010 kkkk kkkk 実行内容 Wregの内容と8ビットのリテラルデータのXORを取り、結果をWregに上書きする。 移動・転送命令 指定したレジスタへデータをコピーする命令。 演算結果によって、STATUSレジスタのZフラグが変化する。 MOVF 意味 Move f 書式 [label] MOVF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (f) → (dest) 影響フラグ Z サイクル 1 機械語 00 1000 dfff ffff 実行内容 fregの内容をdestにコピーする。すなわち、d=0ならWregに、d=1ならfregに上書きする。 MOVWF 意味 Move W to f 書式 [label] MOVWF f オペランド f:レジスタアドレス(0~127) 実行内容 (Wreg) → (dest) 影響フラグ なし サイクル 1 機械語 00 0000 1fff ffff 実行内容 Wregの内容をfregに上書きする。Wregの内容はそのまま。 MOVLW 意味 Move literal to W 書式 [label] MOVLW k オペランド k:リテラルデータ(0~255) 実行内容 (k) → (dest) 影響フラグ なし サイクル 1 機械語 11 00xx kkkk kkkk 実行内容 8ビットのリテラルデータをWregに上書きする。 CLRF 意味 Clear f 書式 [label] CLRF f オペランド f:レジスタアドレス(0~255) 実行内容 0 → (f) 影響フラグ 1 → Z サイクル 1 機械語 00 0001 1fff ffff 実行内容 fregに0を上書きし、Zフラグをセットする。 CLRW 意味 Clear W 書式 [label] CLRW オペランド なし 実行内容 0 → (Wreg) 影響フラグ 1 → Z サイクル 1 機械語 00 0001 0xxx xxxx 実行内容 Wregに0を上書きし、Zフラグをセットする。 カウントアップダウン命令・FOR文 指定したレジスタの値を+1、-1する命令。 DECF 意味 Decrement f 書式 [label] DECF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (f) - 1 → (dest) 影響フラグ Z サイクル 1 機械語 00 0011 dfff ffff 実行内容 fregの内容に1を減算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。 INCF 意味 Increment f 書式 [label] INCF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (f) + 1 → (dest) 影響フラグ Z サイクル 1 機械語 00 1010 dfff ffff 実行内容 fregの内容に1を加算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。 DECFSZ 意味 Decrement f, skip if 0 書式 [label] DECFSZ f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (f) - 1 → (dest):skip if result=0 影響フラグ なし サイクル 12(スキップ時) 機械語 00 1011 dfff ffff 実行内容 fregの内容に1を減算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。また、もし結果がd=0であるなら、次の命令をNOPに変えて実行する。したがってスキップ時は2サイクル命令になる。 INCFSZ 意味 Increment f, skip if 0 書式 INCFSZ オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 (f) + 1 → (dest):skip if result=0 影響フラグ なし サイクル 12(スキップ時) 機械語 00 1111 dfff ffff 実行内容 fregの内容に1を加算し、その結果を、d=0ならWregに、d=1ならfregに上書きする。また、もし結果がd=0であるなら、次の命令をNOPに変えて実行する。したがってスキップ時は2サイクル命令になる。 ビット操作命令・IF文・CASE文 指定レジスタの特定のビットを0や1にする命令。 BCF 意味 Bit Clear f 書式 [label] BCF f,b オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 0 → f b 影響フラグ なし サイクル 1 機械語 01 00bb bfff ffff 実行内容 fレジスタの第bビット目を0にする。フラグの変化は無い。 BSF 意味 Bit Set f 書式 [label] BSF f,b オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 1 → f b 影響フラグ なし サイクル 1 機械語 01 01bb bfff ffff 実行内容 fレジスタの第bビット目を1にする。フラグの変化は無い。 BTFSC 意味 Bit Test f, Skip if Clear 書式 [label] BTFSC f,b オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 skip if (f b )=0 影響フラグ なし サイクル 12(スキップ時) 機械語 01 10bb bfff ffff 実行内容 fregの第bビット目が0だったら、次の命令をNOPに変えて実行する。したがって、スキップ時は2サイクル命令になる。 BTFSS 意味 Bit Test f, Skip if Set 書式 [label] BTFSS f,b オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 skip if (f b )=1 影響フラグ なし サイクル 12(スキップ時) 機械語 01 11bb bfff ffff 実行内容 fregの第bビット目が1だったら、次の命令をNOPに変えて実行する。したがって、スキップ時は2サイクル命令になる。 巡回シフト命令 8ビットのデータをビット単位でシフトする命令。キャリービットも含めてシフトする。 演算結果によって、STATUSレジスタのCフラグが変化する。 RLF 意味 Rotate Left f through Carry 書式 [label] RLF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 0≦n≦6の時 f n → d n+1 n=7の時 f 7 → C C → d 0 影響フラグ C サイクル 1 機械語 00 1101 dfff ffff 実行内容 fregの内容を1ビット、キャリも含めて左に移動する。その結果を、d=0ならWregに、d=1ならfregに上書きする。 RRF 意味 Rotate Right f through Carry 書式 [label] RRF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 0≦n≦6の時 f n → d n-1 n=7の時 f 0 → C C → d 7 影響フラグ C サイクル 1 機械語 00 1100 dfff ffff 実行内容 fregの内容を1ビット、キャリも含めて右に移動する。その結果を、d=0ならWregに、d=1ならfregに上書きする。 SWAPF 意味 Swap nibbles in f 書式 [label] SWAPF f,d オペランド f:レジスタアドレス(0~127)d:格納先(0または1) 実行内容 f 3 0 → f 7 4 f 7 4 → f 3 0 影響フラグ なし サイクル 1 機械語 00 1110 dfff ffff 実行内容 fregの内容の上位と下位4ビットの入替を行い、その結果を、d=0ならWregに、d=1ならfregに上書きする。 ジャンプ命令・サブルーチン プログラムの流れを強制的に変更する命令。 GOTO 意味 Go to address 書式 [label] GOTO a オペランド a:リテラルデータ(0~2047) 実行内容 a → PC 10 0 (PCLATH 4 3 ) → PC 12 11 影響フラグ なし サイクル 2 機械語 10 1aaa aaaa aaaa 実行内容 無条件で指定番地へジャンプする。11ビットのリテラルアドレスをPCレジスタに上書きし、さらにPCの上位にPCLATHの内容を上書きすることでジャンプする。PCLATHにPageを指定しておくことで、全Page範囲にジャンプできる。 CALL 意味 Call subroutine 書式 [label] CALL a オペランド a:リテラルデータ(0~2047) 実行内容 (PC) + 1 → スタックa → PC 10 0 (PCLATH 4 3 ) → PC 12 11 影響フラグ なし サイクル 2 機械語 10 0aaa aaaa aaaa 実行内容 サブルーチンをコールする。まず戻り番地(PC+1)をスタックに格納し、11ビットのリテラルアドレスをPCレジスタに上書きし、さらにPCの上位にPCLATHの内容を上書きすることでジャンプする。PCLATHにPageを指定しておくことで、全Page範囲にジャンプできる。 RETURN 意味 Return from subroutine 書式 [label] RETURN オペランド なし 実行内容 スタック → PC 影響フラグ なし サイクル 2 機械語 00 0000 0000 1000 実行内容 サブルーチンから無条件復帰する。スタックに格納されていた最新の戻り番地をPCレジスタに上書きすることでジャンプする。 RETFIE 意味 Return from interrupt 書式 [label] RETFIE オペランド なし 実行内容 スタック → PC1 → GE 影響フラグ なし サイクル 2 機械語 00 0000 0000 1001 実行内容 割込処理から復帰する。スタックに格納されていた最新の戻り番地をPCレジスタに上書きすることでジャンプし、同時に、グローバル割込ビット(GIE)に1をセットして割込を許可する。 RETLW 意味 Return with literal in W 書式 [label] RETLW k オペランド k:リテラルデータ(0~255) 実行内容 k → Wregスタック → PC 影響フラグ なし サイクル 2 機械語 11 01xx kkkk kkkk 実行内容 サブルーチンから復帰する。その時、Wregにリテラルデータを持って戻る。まず8ビットのリテラルデータをWregにロードし、次にスタックに格納されていた最新の戻り番地をPCレジスタに上書きすることでジャンプする。 その他 特殊な動作命令。主に周辺への制御を行う。 CLRWDT 意味 Clear Watchdog Timer 書式 [label] CLRWDT オペランド なし 実行内容 0 → (WDT prescaler)1 → TO 1 → PD 影響フラグ TO、PD サイクル 1 機械語 00 0000 0110 0100 実行内容 ウォッチドッグタイマをリセットし、さらに連動するプリスケーラもゼロクリアする。ステータスビットのTOとPDを1にセットする。 NOP 意味 No Opreration 書式 [label] NOP オペランド なし 実行内容 なし 影響フラグ なし サイクル 1 機械語 00 0000 0xx0 0000 実行内容 何もせず次へ進む。 SLEEP 意味 Go into standby mode 書式 [label] SLEEP オペランド なし 実行内容 0 → WDT0 → WDT prescaler1 → TO 1 → PD 影響フラグ TO、PO サイクル 1 機械語 00 0000 0110 0011 実行内容 パワーダウンステータスビット(PD)をリセットし、タイムアウトステータスビット(TO)をセットする。さらにウォッチドッグタイマをリセットする。その後、オシレータを停止させてプロセッサをスリープモードにする。これでリセット後の処理と区別することができる。 このページに関するコメント, 意見は以下にどうぞ. 名前 コメント
https://w.atwiki.jp/esperanto/pages/24.html
沼津エスペラント会 (リンク) 概要 通信講座が有名。 エスペラント名称 Esperanto-Societo en Numazu 略称 なし タグ 団体 このサイトは役に立った? 選択肢 投票 役に立った (0)