嵌入式作业2

给出的汇编代码:

main_loop:
//主循环次数变量mMainLoopCount+1
ldr r2,=mMainLoopCount
ldr r1, [r2]
add r1,#1
str r1,[r2]
//未达到主循环次数设定值,继续循环
ldr r2,=mMainLoopNUM
cmp r1,r2
blo main loop


第一段代码
将mMainLoopCount的地址加载到寄存器r2中
将r2寄存器中存储的地址对应的值(即mMainLoopCount的值)加载到寄存器r1中
将r1寄存器中的值加1
将寄存器r1中的值存储到r2寄存器中存储的地址对应的位置即更新mMainLoopCount的值
第二段代码
将变量mMainLoopNUM的地址加载到寄存器r2中
将r1和r2中的值进行比较
如果r1小于r2,则跳转到标签为"main_loop"的位置,继续执行主循环

改成C++语言用一个For循环即可实现此功能
 

#include <iostream>

// 定义设定值
const int mMainLoopNUM = 10; // 设定主循环次数

int main() {
    for (int mMainLoopCount = 0; mMainLoopCount < mMainLoopNUM; mMainLoopCount++) {
        // 进行主循环的操作

        // 输出当前主循环计数器的值
        std::cout << "Main Loop Count: " << mMainLoopCount + 1 << std::endl;
    }

    return 0;
}

修改main.s源文件,增加以下内容
·1、在第一行显示“广州大学”字样。
·2、编写一个1+2+..+10的程序,将求和结果存入名为“sumresult”的内存单元中,并将求和结果用printf显示出来。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值