下面是一个使用MARIE汇编语言编写的程序,可以允许用户输入8个数字,并输出最小值和最大值。
ORG 100
InputLoop, LoadI 8 // 设置循环次数为8
Subt I // 将循环次数减1
Skipcond 800 // 如果循环次数为0,则跳转到Exit
Jump Input
Output, Output // 输出最小值
Load 0 // 重置最小值为0
Store Min
Jump InputLoop
Exit, LoadI Max // 加载最大值
Output // 输出最大值
Halt // 程序结束
Input, Input // 输入一个数字
Store X // 存储输入的数字
Load X // 加载输入的数字
Skipcond 400 // 如果输入的数字小于最小值,跳转到UpdateMin
Jump CompareMax
UpdateMin, Load X // 加载输入的数字
Store Min // 更新最小值
Jump CompareMax
CompareMax, Load X // 加载输入的数字
Skipcond 200 // 如果输入的数字大于最大值,跳转到UpdateMax
Jump InputLoop
UpdateMax, Load X // 加载输入的数字
Store Max // 更新最大值
Jump InputLoop
Min, Dec 0 // 存储最小值的变量
Max, Dec 0 // 存储最大值的变量
X, Dec 0 // 存储用户输入的数字
END
这个程序使用循环让用户输入8个数字,并在每次输入时更新最小值和最大值。最后,它输出最小值和最大值。程序通过变量Min
和Max
来存储最小值和最大值,变量X
用于存储用户输入的数字。程序使用条件跳转指令来确定是否更新最小值和最大值。