-4

MARIE アセンブリ言語プログラムを作成、実行、およびテストします。このプログラムでは、ユーザーが 8 つの数字を入力し、最小値と最大値を見つけられるようにする必要があります。次に、プログラムは最小数と最大数を出力する必要があります。数値は整数に制限されており、正、負、またはゼロにすることができます。入力を促したり、出力にラベルを付けたりする必要はありません。

  ORG 100   / Calculation of the maximum

  Load First /loading 1st array member

  Store Next /address of next pointer,stores

  Load Array /Loading 1st element

  Store Max /maximum value with 1st element

  Loop, Clear

  AddI Next /Load next element!

  Subt Max /Comparing with the maximum once

  Skipcond 000 /If negative ->skip

  Jump NewMax /If not negative ->max value

  NextIdx, Load Next

  Add One /pointer++

  Store Next

  Load Count /counter--

  Subt One

  Skipcond 800 /counter is positive ->same proceeding

  Jump Print /else - printing the result

  Store Count /counter decresed and stored

  Jump Loop

  NewMax, Clear / new maximum value

  AddI Next

  Store Max

  Jump NextIdx

  Print, Load Max

  Output

  Halt /Terminate program

  First, Hex 11E /starting is location 11E(change as per...,as code changes don't forget to change it too)

  Next, Hex 0 /next element index (memory location)

  Max, Dec 0 /maximum value

  Count, Hex 8 / loop counter decreases

  One, Dec 1 /Loop stops

  Array, Dec -5
  Dec 15
  Dec -17
  Dec 20
  Dec -23
  Dec 12
  Dec 130
  Dec -12

最小値と最大値を印刷しようとしています。これにより、最大値のみが出力されます。指定された配列から最小値を出力するのを手伝ってくれる人はいますか?

4

1 に答える 1

2

参考までに、あなたが私たちに見せているコードは、過去 10 年間にわずかに変更されたものです :

    ORG 100 / Calculate maximum
    Load First /Load address of first array member
    Store Next /Store this address is our Next pointer
    Load Array /Load first element
    Store Max /Initialize MAX value with 1st element
    Loop, Clear
    AddI Next /Load next element, Inderect addressing!
    Subt Max /Compare with Max
    Skipcond 000 /If Negative - skip to the next element
    Jump NewMax /If not negative - we have a new maximum - initialize it
    NextIdx, Load Next
    Add One /Increase array pointer by 1
    Store Next
    Load Count /Decrease counter
    Subt One
    Skipcond 800 /If the counter is Positive - proceed to the Loop cycle
    Jump Print /Else - output result
    Store Count /Store decreased counter
    Jump Loop
    NewMax, Clear /Store new maximum
    AddI Next
    Store Max
    Jump NextIdx
    Print, Load Max
    Output
    Halt /Terminate program
    First, Hex 11E /Array elements start at location 11E, if you change code, you should fix this value
    Next, Hex 0 /Previous Next element index (memory location)
    Max, Dec 0 /The maximum value
    Count, Hex 8 /The loop counter (will decrease)
    One, Dec 1 /Loop step
    Array, Dec -1
    Dec 10
    Dec -15
    Dec 25
    Dec -25
    Dec 120
    Dec 13
    Dec -10

10 年以上にわたって出回っているコードをインターネットからコピーし、それを書いたと主張し、それを理解しているふりをして、このコードの実際の作成者であることが明らかな小さなことを 1 つだけ解決する必要があるというのは不適切です。

不正行為や剽窃は、この Web サイトや他のほとんどの Web サイトの精神ではありません。

このパンデミックの時期に、多くの教師が慣れていないオンラインの方法に移行しています。また、学生は必要な指導を受けることができません。だから、私は関係者全員に同情します。

しかし、ごまかす誘惑に屈してはなりません。他のことを試してみませんか?あなたが見つけたこのコードが実際に何をするかを学びたいですか?Skipcond ができることを調べてください。突然オンラインに移行したコースワークのほとんどは、課題を完了するための追加の時間も提供しています。その時間を使って何かを学びましょう。

于 2020-04-26T00:36:33.507 に答える