• 締切済み

概略フローチャート

次の命令の概略フローチャートを書きたいのですが、 LD A,1 LD (8100),A LD A,2 LD (8101),A HALT という8100番地に1を8101番地に2を入れる命令です。 この概略フローチャートってこんなんでいいのでしょうか? START ↓ 1を読み込む ↓ 指定番地に1を移す。 ↓ 2を読み込む ↓ 指定番地に2を移す。 ↓ END お願いします。

noname#68447
noname#68447

みんなの回答

  • tokichim
  • ベストアンサー率42% (88/205)
回答No.1

まず、 > 1を読み込む > ↓ > 指定番地に1を移す。 1を移す、という書き方は少し奇妙に見えます。 例えば、もし : LD A,1 : ADD A,1 : LD (8100),A のようなコードだったとすると、 : 1を読み込む : 1に1を加える : 指定番地に2を移す。 のような書き方は奇妙ですよね? : Aに1を読み込む : Aに1を加える : 指定番地にAを書く。 とするのが自然。 そのうえで質問例をあくまでもコード直訳で書くなら レジスタA←1 メモリ8100←A レジスタA←2 メモリ8101←A もっとシンプルに書くなら メモリ8100←1 メモリ8101←2 「←」は代入、読み書きするという意味でたいていはこう略して書く。 (いちいち読むだの書くだの面倒なので) コード直訳で書くかシンプルに書くかは時と場合で使い分ける。 フローチャートがコードの説明なのだったら前者だし、コードにする前の設計なのだったら後者。 以上、私の場合。

関連するQ&A

  • フローチャートの書き方

    ワンボードマイコンを使ってプログラムの勉強をしているのですが、 その実験の報告書を書くとき、概略フローチャートは書いて、 詳細フローチャートは書かなくていいです。といわれたのですが、 ふたつはどう違うんでしょうか?普段書いている、 START ↓ LD A、B ↓ END みたいなフローチャートはどっちでしょうか?

  • 正しく書けていますか?

    私が書いた(1)から(12)までの文章は、正しく書けているでしょうか?詳しい皆さんのご意見をいただきたいです。どこか誤った部分があれば、教えていただきたいです。 (1)次のプログラムを実行すると、8200H番地に40Hが格納される。 ORG 8000H LD HL,8200H LD A,08H LD B,A ADD A,A ADD A,A ADD A,B LD (HL),A HALT (2)次のプログラムを実行すると、8200H番地に55Hが格納される。 ORG 8000H LD HL,8200H LD A,AAH CPL LD (HL),A HALT (3)HLレジスタで示されるメモリ番地の内容をCレジスタに転送する命令は以下のとおりである。 LD C,HL (4)サインフラグは、ある命令を実行した結果、Aレジスタ等が負であれば1に、正であれば0に設定される。 (5)以下のプログラムを実行すると8A00Hには0AHが格納される。 ORG 8000H LD A,0D LD B,10D LOOP; ADD A,B DJNZ LOOP LD(TOTAL),A JP $ ORG 8A00H TOTAL;DEFB 0 END (6)CP/Mは6800や68000などをCPUにもつマイコンのためのD0Sである。 (7)16BIT算術演算グループではレジスタペアとしてBC,DE,HLがある。 (8)次のプログラムを実行すると、8200H番地にOFHが格納される。 ORG 8000H LD HL,8200H LD A,05H LD B,A SLA A ADD A,B LD (HL),A HALT (9)オペコードとは、命令の操作を表すコードをいう。 (10)以下のプログラムにおいて、8005Hにデータは08Hである。 ORG 8000H TABLD1;DEFB 1 DEFB 2 DEFB 0FEH DEFB4 TABLE2;DEFW 0506H TABLE3;DEFFW 8 END (11)サブルーチン内で演算などにレジスタを使用する場合、あらかじめレジスタ内のデータをPUSH命令などで退避する必要がある。 (12)ソフトウエアー上で無視できる割り込み要求と要求を無視できない割り込み要求を総称してノンマスカブルインタラプト(NMI)という

  • アキュムレータに格納される数値は・・・?

    次の問題の解き方をできるだけ詳しく教えてください。 主記憶装置の100番地~104番地の内容は以下のようであるとき、LD/(102)を実行した結果アキュムレータに格納される数値は? LD命令は指定した有効アドレスの内容をアキュムレータに格納するめいれいであり、(X)は間接アドレス指定である。すなわちX番地の内容を 有効アドレスにするという意味である。 103     102    100    101    104 100番地   101番地  102番地  103番地  104番地

  • ワンボードマイコン Z80

    ワンボードマイコンMP-Z80のプログラムを勉強しているのですが、 次の二つの問題がわかりません。 1)8100(H)番地~813F(H)番地に格納されているデータを 8200(H)番地以降にコピーせよ。 2)8100(H)番地から810F(H)番地に格納されているデータを8ビットの 符号付絶対値表現とみなしたとき、各データを2の補数表現に変換し、 8200(H)番地から格納せよ。 1)は LD HL,8100 LD DE,8200 LD A,40H LD BC,A LDI LDIR HALT でいいのでしょうか。2)はまったくわかりません。 お願いします。

  • フローチャート、教えて!

    このプログラムのフローチャートなんですけど・・・。 list P=PIC16F84A INCLUDE "P16F84A.INC" __CONFIG _HS_OSC&_WDT_OFF&_PWRTE_ON ; WCNT EQU 018H ; ORG 0 GOTO START ; ORG 05H ; START BSF STATUS,RP0 MOVLW 03H MOVWF TRISA BCF STATUS,RP0 ; st CALL SPEAKER goto st ; SPEAKER BCF PORTA,2 CALL WAIT2 BSF PORTA,2 CALL WAIT2 RETURN ; WAIT2 MOVLW D'249' ; MOVWF WCNT ; WAIT3 NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; NOP ; DECFSZ WCNT,F ; GOTO WAIT3 ; RETURN ; ; WAIT4 NOP ; DECFSZ WCNT,F ; GOTO WAIT3 ; RETURN ; END ; ちょっと見難いですね、ごめんなさい;; このプログラムなんだけど、自分では良く分からなくて(@@; アセンブラ?だっけこれ、これでフローチャート作ったことないんだよね・・・。 簡単なフローチャート図なら作ったことあるけど、ほんと基本的な物だったからねぇ。 どうか、教えてください!

  • フローチャートについて

    あることについてのフローチャートを描きたいのですが、どのように書けばよいのか分かりません。次のようなプログラムを作りたいときはフローチャートはどのように書いたらいいのでしょうか? まず10個の値があるとしてこれをA群の値とします。そしてその10個の値にそれぞれ対応する10個の値をB群とします。そしてある値を入力したときその入力された値に最も近いA群の値から対応するB群の値をディスプレイに表示する、というプログラムを作りたいのですが誰か教えてください。

  • CASLIIでLADやSTなどの命令の読み方がよくわからない

    LD GR6,GR1 LAD GR1,PARAM(8045番地にある) ST GR6,1,GR1 GR1は4という内容、PARAMは8045番地にあるとします。 ST命令ならば、GR6の内容を(1+GR1)へ入れると読むのでしょうが、 「8046番地に入れる」と読むのでしょうか。 しかし、8046番地にはEND命令があり、わけがわからないです。 まだ、CASLIIの初心者であり、読みなれていません。 よろしくお願いします。

  • CASLとフラグレジスタ

     私は今CASLの勉強をしています。  今はLD命令や分岐命令を使ってプログラムを作っているのですが、LD命令のフラグレジスタの設定の説明がよくわからないところがあるのです。  それは、LD命令は転送する値によってFRが決まるということですよね。それは、転送を命令された番地の数字(すなわち番地名)なのか、それともその番地に入っている値そのものなのかがなかなか調べても出てきません。  初心者な質問ですが、どなたか回答よろしくお願いします。

  • CASL2の問題について教えて下さい。

    CASL2を勉強したばかりで、いろいろ調べても分からず、下記の問題が解けなくて困っています。 どなたかお分かりの方いらっしゃいましたら教えて下さい。 よろしくお願いいたします。 下記のプログラムを実行すると、ANS番地からの6語に、以下のようなビットパターンが格納される。 ANS番地+0番地 0111111111111111 ANS番地+1番地 1111101111111111 ANS番地+2番地 1111111110111111 ANS番地+3番地 1111111111110111 ANS番地+4番地 1111111111111101 ANS番地+5番地 1111111111111110 このとき、(1)~(6)の空欄に適切な命令コードやオペランドを入れて、プログラムを完成させよ。 START LAD GR0,1 LAD GR1,1 LD GR2,LEN LOOP SUBA GR2,=1 JMI FIN LD (1) (2) GR3,WK ST (3) SLL GR0,0,GR1 LAD (4) JUMP LOOP FIN RET ANS DS 6 LEN DC (5) WK DC (6) END

  • C++のフローチャート

    次の条件判断文を使うケースをフローチャートにせよ 変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる 文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。 変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する フローチャートなので、図がほしいのですが、どうすればいいんですか?1つでもいいから誰か助けてください、、、

専門家に質問してみよう