【发布时间】:2020-04-25 14:04:19
【问题描述】:
编写、运行和测试一个 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
我正在尝试打印最小值和最大值。这将只打印最大值。谁能帮我让它打印给定数组中的最小值。
【问题讨论】:
-
你明白这段代码是如何计算最大值的吗?
-
是的。我愿意。但我被skipcond困住了。
-
我的朋友,您已经发布了一些您在互联网上找到的代码,最早可以追溯到 2010 年 3 月 10 日,要求我们根据您的目的进行更改。你没有费心去理解代码是如何工作的,你只是想让我们解决你的作业问题。嗯.. (justanswer.com/computer-programming/…)。这是一种不诚实的寻求帮助的方式。
-
如果我错了,我现在提前道歉,但是当时的代码和你发布的一样,你想出相同算法的可能性很低,cmets , 和标签名称。我意识到这段代码可能在流传,所以你不一定从这里得到它。但我坚持我的观点。
-
@Krixnaas 所以你是科罗拉多州立大学的学生。