改变第一个程序,以便程序不是从类中进行计算,而是访问数字a到e,就好像它们是5个元素的数组一样。你的程序应该:
将“数组”中的每个值加倍(将其存储在适当位置的内存中) 总结加倍值并将总和存回x。 使用适当的标签将结果总和输出到stdout。
我在将总和输出到x时遇到问题,每次尝试我最终都没有得到答案。
index <- 1:nrow(data)
testindex <- sample(index, trunc(length(index)/3))
testset <- data[testindex,]
trainset <- data[-testindex,]
svm.model <- svm(as.factor(data[y.vec]) ~ ., data = trainset, cost = 100, gamma = 1)
svm.pred <- predict(svm.model, testset[,-y.vec])
table(pred = svm.pred, true = testset[,y.vec])
答案 0 :(得分:1)
像str r2,[r0] @ store value of b into r2
这样的商店说明显然是错误的。
b+b
已经在r2中,因此注释错误(我猜是从加载中复制/粘贴)。
更重要的是,您忘记了不同数组元素的偏移量,因此您将所有值存储到数组的第一个元素中。
我不知道ARMSIM系统调用,所以IDK打印总和你做错了什么。您是否尝试在调试器中单步执行以确保第一个swi
不会破坏r1
?如果没有,你应该
add r1,r8,r5 @ r9 holds e+(a+b)-(c-d)
str r1,[r0,#20] @ store result (in r9) into address of x
那么你不需要mov r1, r9
,因为你首先在你想要的寄存器中生成了结果。
如果它确实是clobber r1,您应该单独留下r8
和r5
并移动添加+存储指令(或整个计算),直到您打印固定字符串为止。