***ROL (Rotate Memory or Accumulator Left) [#m5c8c41a]
[左回転シフト]

指定されたアドレスの値を左に回転シフトする。
最上位ビットはキャリーとして押し出され、
既に入っていたキャリーの値が右から現れる。

16 ビットアキュームレータモードの時 (m=0)、
16 ビット幅でデータを扱う。
下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。

''フラグ変化''
 n-----zc
 
 n : 結果の最上位ビットの値
 z : 結果が 0 の時セット
 c : シフトする前のメモリの値の、最上位ビット (7 ビット目 か 15 ビット目) の値


''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Accumulator>CPU/アドレッシングモード/Accumulator]]|ROL A|2A|1|2 ||
|[[Absolute>CPU/アドレッシングモード/Absolute]]|ROL addr|2E|3|6 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|ROL dp|26|2|5 | 1,2|
|[[Absolute Indexed,X>CPU/アドレッシングモード/Absolute Indexed,X]]|ROL addr,X|3E|3|7 | 1|
|[[Direct Page Indexed,X>CPU/アドレッシングモード/Direct Page Indexed,X]]|ROL dp,X|36|2|6 | 1,2|

1 : m=0 (16-bit メモリ/アキュームレータ) の時 2 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS