【发布时间】:2020-06-06 21:21:18
【问题描述】:
我刚刚爱上了这个特殊的微控制器,68hc11 具有惊人的架构。
我不是专家,但我想改进,组装有点困难,但我想对这个微控制器进行编程。
此汇编代码将从 100 美元开始执行,将在 800 美元处分配一个 200 字节的数组,并将使用值 200、199、... 1 初始化该数组。(降序)。
Vreset equ $FFFE
RAM equ $800
ROM equ $100
ARRAY_SIZE equ 200
org RAM
array rmb ARRAY_SIZE
org ROM
Start ldx #array
ldaa #ARRAY_SIZE
Loop staa ,x
inx
deca
bne Loop
bra *
org Vreset
dw Start
我想从给定数组中获取两个最高值。我的意思是,我 想要创建一个数组,给出 10 个值(存储在一个数组中)和 最终获得两个最高值:
例子:
数组可能包含这些值:
5 7 9 96 57 58 1 5 6 9
我想得到这个输出:
96 58
可以帮我做这件事吗?我有点迷路了:/
【问题讨论】:
-
你能用 C 做吗?目前尚不清楚您是否需要一种算法或已经有一种算法,或者是否需要一些特定汇编指令的帮助,或者将 for 循环或 if 语句转换为汇编。
-
嘿,埃里克,感谢您的回复!你的意思是?。我根本不喜欢“C”
-
好的,你能用任何编程语言解决这个问题,包括伪代码吗?换句话说,你有算法吗?
-
哦,是的。我可以用 Java 或 C# 来做,但我想用 68hc11 指令用汇编代码编写它。你明白我了吗?
-
当然,所以请使用您的 Java 解决方案并将其逐行翻译成汇编。如果您遇到困难,请询问您在翻译时遇到问题的具体问题。