シミュレータSM+で動作の様子を見てみよう
今回、新しいプロジェクトを作成しましたので、SM+が起動するときに動作環境の設定ウィンドウが表示されます(図22)。

以前も登場しましたが、忘れてしまった方のために再度説明します。マイコンの動作クロックに相当する「Oscillation Frequency」という項目の数字を「5」(MHz)から「8」(MHz)に変更してください(図23)。それだけです。

右上の[OK]をクリックすると、今度はロード・モジュール・ファイルをロードするか聞いてきます。[はい(Y)]をクリックしてください(図24)。

こうしてSM+が起動すると、図25のように表示されます。
また前回同様、変数の中身を観察すべく、変数の中身を見る機能を呼び出します。覚えていますか。[ブラウザ]メニューの中にある「ローカル変数」です(図26)。

ローカル変数ウィンドウを表示して、
ボタンで1行実行すると、変数aが表示されます(図27)。

この例ではすでに値として0x01が表示されていますが、これは前回説明したとおり、もともとメモリの中にあったゴミです。
さて、今回はシフト演算子を使ってビット(2進数の桁)がずれていく様子を見たいので、値の表示は2進数表示がわかりやすいです。ということで、変数aを右クリックして、メニューで2進数を選びましょう(図28)。

すると、図29のような表示になります。先頭の0bは、2進数表示であることを示す記号です。その後ろの8桁が2進数で表現した変数aの値です。

長らくかかりましたが、ようやくこれでシフト演算子の動作を観察する準備ができました。図30のように、ソース上の実行行を表示するSourceウィンドウとローカル変数ウィンドウを近づけて配置すると、観察がしやすくなります。ここでは7行目まで実行したようすを示しています。いまローカル変数ウィンドウで表示されている変数aの値は、ソースの5行目で代入された値の1です。
では7行目を
ボタンで1行実行してみてください。図31のようになりましたか。ローカル変数ウィンドウのaの値を見てください。さっきまで一番右端にあった1が左にひとつシフトしていますね。
この調子で、8行目から10行目まで1行ずつ実行して変数の値を観察してみてください。な~るほど、シフト演算子はこんなふうに動作するのですね。最後まで実行して、再度最初から見たいときは、
ボタン(リセットアイコン)をクリックしてください。これはマイコンをリセットするアイコンです。これで最初のまだプログラムを実行していない状態に戻すことができます。ただし、ローカル変数ウィンドウの表示フォーマットが16進数に戻ってしまいますので、これも再度2進数に設定しなおす必要があります。



