質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

Q&A

0回答

845閲覧

アセンブリ言語で最大値の個数が出ない

otasann

総合スコア8

アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

0グッド

0クリップ

投稿2021/10/21 12:10

最大値とその個数を求めるようにしたい

問題点
最大値は出るがその個数が出ない
出来ている部分
loopをふたつ作りloop2に最大値の個数カウンターのコードがわからない。
MAIN START ;
LD GR1,KOSUU ; GR1=4
LAD GR2,DATA ; GR2=address of DATA
LAD GR3,MAX ; GR3=address of MAX
LAD GR6,MAX ; GR6=address of MAX_num
CALL SAIDAI ;
RET ;
KOSUU DC 5 ; 定数 4. 0 番目から数えた個数
DATA DC 11,16,9,19,8 ; 定数の配列
MAX DS 1 ; 変数 max
END ; main 関数終了
SAIDAI START
PUSH 0,GR1 ;KOSUU
PUSH 0,GR2 ;&data[0]
PUSH 0,GR3 ;&max
PUSH 0,GR4 ;counter
PUSH 0,GR5 ;配列データの格納のため利用
PUSH 0,GR6 ;max_num
PUSH 0,GR7 ;max_numの格納に使用

LAD GR4,0 ; GR4=0 LD GR5,0,GR2 ; GR5=data[0] ST GR5,0,GR3 ; max=GR5

LOOP1 LAD GR2,1,GR2 ; data=data+1
LAD GR4,1,GR4 ; counter=counter+1
LD GR5,0,GR2 ; GR5=*data
CPA GR5,0,GR3 ; 比較:GR5 - MAX を計算
JMI SKIP ; Jump on minus
ST GR5,0,GR3 ; MAX=GR5
LOOP2 ST
ST GR7,0,GR6 ; MAX=GR6
SKIP CPA GR1,GR4 ; 比較:KOSUU-counter を計算
JPL LOOP ; Jump on plus
POP GR7 ;
POP GR6 ;
POP GR5 ;
POP GR4 ;
POP GR3 ;
POP GR2 ;
POP GR1 ;
RET ;

END

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/10/21 12:23

どのマシンの命令セットですか?
otasann

2021/10/21 12:34

CASL2000です
y_waiwai

2021/10/21 21:56

それを質問に追記しよう。 そして、このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問