電気回路とソフトウェアの連携 500in1で回路を作成
以下のプログラムのフローチャートの書き方教えてください。日本語の部分を四角で囲んで書くんじゃないんですよね?プログラム?の形で書くんですか
プログラムはボタンを押すことによって、0x00~0x0Fまでカウントアップし、LED4個で現在のカウント値を表示するプログラムです。また、ボタンでカウントをリセットできる機能も実現。
00H MOV C, #00H ;「c」の状態の初期化
01H MOV B, #00H ;「B」カウント値のリセット
02H OUT B ;出力ポートの状態を変更
03H IN A ;入力ポートの状態を取得
04H MOV D, A ;入力ポートの状態をDに退避
05H AND A, #02H ;2ビット目の情報を取得
06H JNZ L00H ;リセットボタンが押されている場合,0行目にジャンプ
07H MOV A, D ;入力ポートの状態をAにロード
08H AND A, #01H ;1ビット目の情報を取得
09H JNZ L0CH ;カウントボタンが押されている場合,C行目にジャンプ
0AH MOV C, #00H ;「C」の状態を0に設定
0BH JMP L02H ;2行目にジャンプ
0CH MOV A, C ;「C」の状態をAにロード
0DH CMP A, #00H ;「A」の状態は0か
0EH JNZ L02H ;ボタンが押されたままなので,2行目にジャンプ
0FH INC B ;Bの値を1カウントアップ
10H MOV C, ;「C」の状態を1に設定
11H JMP L02H ;2行目にジャンプ
No.3ベストアンサー
- 回答日時:
フローチャートに「唯一の正解」はありません。
どのくらいの単位で一つの箱に入れるか、中にどの程度の詳細さでどんな表現方法で書くか、は、そのフローチャートを書く目的等によって変わります。
もの凄く極端にすれば
(開始)
↓
[ボタン1を押すことによって、0x00~0x0Fまでカウントアップし、LED4個で現在のカウント値を表示する
ボタン2でカウントをリセットする ]
↓
(終了)
でも「正解」です。
(フローチャートにする意味は無いですが)
その例題から考えると
「プログラムの各命令がどんな順番で何が実行されるか」
を「見える化」する、あるいは、あなたが理解しているかを試すものではないでしょうか。
そのために、1命令を1ブロックにしてあるように思います。
よって、フローチャートを書くには次のようになると思います。
(1)とりあえず、開始と終了と、その間に入れる箱を 00H〜11Hの18個用意する。
(2) 開始の下に 00H の箱を置いて、矢印で結ぶ
(3) 箱の中に、 該当する番地の命令が何をするかを書く
(3)' このとき、分岐命令だったなら、箱ではなく菱形を使う。
その分岐条件を書き、それぞれのときにどこへ分岐するかを矢印で示す
(4)00Hの下に 01Hの箱を置いて, 以下(2)〜(3)と同様にて終了まで継げる
> MOV B,#10H;レジスタBへ初期値をセット
をフローチャートの1ブロックにする場合。
それが何を意図したものかを表現したいなら
[レジスタBへ初期値をセット]
等と言葉で書けば、 #10H とは初期値のことだ、ということがわかります。
後で初期値を変えたくなったら、ここを変えたらよい、ということがわかります。
[MOV B,#10H]
と、プログラムをそのまま書くやりかたもあります。
[ B←#10H ]
の矢印は代入を表しています。 「Bに #10H を代入する」 という意味です。
プログラムっぽい書き方で、疑似コードと呼ばれたりします。
これだと「MOV B,#10H」とは「B←#10H」(Bに#10Hを代入)という動作をする命令だということがわかります。
まずは、上記の(1)〜(4)で、図を仕上げませんか?
とりあえずは、疑似コードとかを考えずに、コメントにある日本語を使って。
ところで。
その例は書き写し間違いとか、文字数制限で全部入らなかったとかがあるのでしょうか?
後半が無いし、表記が統一できてないし(Aと書いたりAccと書いたり)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- Mac OS MacのFinderでmovファイルのサムネイルが表示されないのと、クイックルックが出来ません。 こ 3 2023/07/24 18:40
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Word(ワード) Word のマクロについての質問です。 ボタンを押すと登録したブックマーク先にジャンプする機能(リン 3 2023/08/16 12:17
- その他(パソコン・スマホ・電化製品) 先日、OPTIPLEX790を使用しスリープ機能で電源が落ちた後に電源が付かなくなるトラブルが発生し 1 2022/12/20 01:53
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートで。
-
フローチャートの菱形が狭い。。。
-
fortran errorについて
-
フローチャート以外の設計方法
-
65536は2の何乗なのでしょうか?
-
正しい五十音順について
-
C言語の課題で、1年の秒数を計...
-
Notepad++の関数リスト表示でC...
-
VBAで仕様書は書きますか?
-
Excelに埋め込んだVBAのプログ...
-
UWSCで指定のフォルダを開きたい。
-
グループを均等に分けるには?...
-
シャープのポケコンについて
-
めんどくさがり屋はプログラマ...
-
読み込み中にアクセス違反が発...
-
排他的論理和 BCC(水平パリテ...
-
画像処理
-
ドロップダウンリストの文字を...
-
EXCELなどで「返す」という表現
-
科学技術計算の仕事について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートで 変数に代入す...
-
フローチャートの菱形が狭い。。。
-
フローチャートで。
-
fortran errorについて
-
フローチャート以外の設計方法
-
二分法(FORTRAN)
-
fortran go to 文
-
フローチャート(本当に困って...
-
TeXでフローチャート
-
フローチャートが書けません
-
【fortran】フーリエ級数について
-
フローチャートのループ
-
フローチャートを書きたい
-
配列 x に入っているデータの最...
-
連立1次方程式を計算するFortra...
-
フロートチャートをVBAで表すには
-
カシオ fx-4800pにて
-
for文のフローチャート
-
FORTRAN subroutineと配列と繰...
-
正しい五十音順について
おすすめ情報
高級言語?風に書かなくてもいいのですか?
このようなプログラムの場合は以下のようなフローチャートになるみたいなんですが、書き方さっぱりわかりません。。。
00 MOV B,#10H;レジスタBへ初期値をセット
00 MOV A #00H;Accへ初期値をセット
02 OUT A ;L1-L4を消灯
03 TM2 #01H ;1秒間ウェイト
04 INC A ;Accに1を加算
05 CMP B,A ;Accと上限値を比較
06 JZ L01H ;カウンタ=上限値のとき#01へ
07 JNZ L02H ;カウンタ=:=上限値のとき#02へ
開始
|
B<--10
|
A<--00
|
Accを出力
|
1秒間ウェイト
|
A=A+1
|
B:A