一.嵌入式系统基础

二.ARM处理器

1. 在每条指令后,用;//注释这条指令的寻址方式,以及实现的功能(25分)

注:变址寻址需要标注是基址加偏移、还是基址加索引,是前变址还是后变址。
SUB SP,SP,#4 ;//立即寻址,将sp寄存器的值减去4
ADD R8,R8,R9,LSL #2 ;//移位寻址,将r9寄存器的值逻辑左移2位,再加上r8寄存器的值,将结果放入r8寄存器
LDR R8,[R8] ;//间接寻址,r8寄存器值指向的存储地址上的值加载到r8寄存器上
STR R8,[SP,#8] ;//前变址寻址中的基址加偏移寻址,将r8的值存至sp寄存器值加上8指向的存储地址上
LDMFD SP!,{R8-R9,PC} ;//满递减堆栈寻址,将sp指向的存储地址上连续3个字的值分别方式r8、r9和pc寄存器,sp寄存器的值+8

2. 按照注释的功能写出实现该功能的指令(25分)
MOV R0, #0X0A ;//R0赋值为0X0A
MOV R1, #0X10 ;//R1赋值为0X10
SUBS R1, R1, [R0] ;//将R1的值减去R0指向的存储器空间的值,影响CPSR
BNE LOOP ;//在非零条件下,跳转至LOOP标记处执行
STMEA SP! {R0, R1, PC};//将R0,R1和PC存储在SP指向的空递增堆栈,SP的值发生变化

3. 假设R0=0x12345678,并且存储器为大端序存储系统,运行了以下指令后
MOV R1,#0x4000
STR R0,[R1]
LDRB R2,[R1]
寄存器R2的值为多少?并说明原因。
答:执行第1、2句后,大端格式存储结构如图
0x4003 0x4002 0x4001 0x4000
0x78 0x56 0x34 0x12
执行指令后:R2=0x12

4. 寄存器R0中存放着一个正整数N,使用指令将1到N整数累加的结果放到寄存器R1中。
答:
MOV R1,R0
LOOP: SUBS R0,R0,1
MULNE R1,R1,R0 (正确使用UMULL R1,R2,R1,R0亦可)
BNE LOOP

https://bbs.csdn.net/topics/392481661

【嵌入式】ARM9复习的更多相关文章

  1. 嵌入式MCU开发群资源

     STM32CubeMX是一款图形化软件设置工具,允许使用图形化向导来生成C初始化代码.它是未来开发stm32系列产品的主流软件,是ST公司的主动原创,可以减轻开发工作,时间和费用.STM32Cube ...

  2. 服务器watchdog看门狗的理解

    1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器.然而它与我们平常所接触的定时器在作用上又有所不同.普通 ...

  3. ARM9嵌入式学习笔记(1)-Linux命令

    ARM9嵌入式学习笔记(1)-Linux命令 实验1-1-2 Linux常见命令使用 添加用户useradd smb; 设置账户密码passwd smb; 切换用户su - root 关机命令shut ...

  4. ARM9嵌入式学习笔记(2)-Vi使用

    ARM9嵌入式学习笔记(2) 实验1-1-3 Vi使用 vi创建文件vi hello.c:vi smb.conf-打开文件smb.conf i键-插入模式:esc键-命令行模式::-底行模式: 底行模 ...

  5. 基于ARM9和嵌入式Linux系统的多功能综合通信控制系统的框架

    基于ARM9硬件平台和嵌入式Linux系统的多功能综合通信控制系统的框架设计及各模块的功能.系统采用符合POSIX.1标准的C语言编写,实现了对下位机传送数据帧的采集.分析和存储,并能根据上位机的配置 ...

  6. ARM嵌入式复习

    第一章 1.嵌入式系统 “以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗要求严格的专用计算机系统” 根据应用的要求,沿着“体积小,低功耗,高可靠”方向发 ...

  7. HQYJ嵌入式学习笔记——C语言复习day1

    第一天:Linux命令 vim操作 第二天:数据类型 运算符 顺序语句第三天:分支语句 循环语句第四天:循环语句 数组第五天:数组第六天:指针第七天:函数 数组与指针第八天:数组指针第九天:递归 第十 ...

  8. HQYJ嵌入式学习笔记——C语言复习day2

    1.计算机的数值表示 数值类型和非数值类型 二进制 0,1 (0b1001) 八进制 0~7   (0146) 十进制 0~9 十六进制 0~f (0x3f) 八进制转二进制-->一位八进制数换 ...

  9. ARM9的中断控制器

    简要复习一下ARM9中断控制器的控制过程: 1.首先能识别触发的中断(对应中断源必须打开,然后查询当前中断状态寄存器),硬件会操控PC跳到中断向量入口(IRQ_HANDLE,硬件控制的只要是IRQ中断 ...

随机推荐

  1. 【NOIP2012普及组】质因数分解

    P1075 质因数分解 假期第一天就给一道入门难度的题写题解…… 这道题一开始就被我想复杂了:埃式筛,欧拉筛……然而开一个1e9的数组?不现实. 直到看到题解区的dalao用唯一分解定理: 算术基本定 ...

  2. 神舟战神笔记本使用U盘重装系统

    今天我的神舟战神笔记本电脑系统故障了,在这里记录一下使用U盘重装系统的方法: 1.插入装机U盘. 2.按开机键,然后马上按Esc键. 3.选择Boot Manager进入. 4.选择EFI USB D ...

  3. CentOS7.5升级OpenSSH

    实验环境 OS:CentOS 7.5 当前openssh版本:OpenSSH_7.4p1 升级后的openssh版本:OpenSSH_8.0p1 开通telnet 为了防止升级过程中ssh断连,保险起 ...

  4. SuperSocket与SuperSocket.ClientEngine实现Protobuf协议

    参考资料说明 SuperSocket文档 http://docs.supersocket.net/ Protobuf语言参考 https://developers.google.com/protoco ...

  5. codeforces Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid

    #include<bits/stdc++.h> using namespace std ; int n; struct City { int id; long long x,y; //坐标 ...

  6. 每天进步一点点------Allegro使用脚本记录文件设置工作环境的颜色

    script脚本文件在Allegro PCB DESIGN中能完成很多参数设定,功能很强大.使用script脚本我们能够快速定制自己的Allegro workbench environment. 案例 ...

  7. 股票数据Scrapy爬虫

    功能描述: 技术路线:scrapy 目标:获取上交所和深交所所有股票的名称和交易信息 输出:保存到文件中 数据网站的确定 获取股票列表: 东方财富网:http://quote.eastmoney.co ...

  8. gRPC in ASP.NET Core 3.x -- Protocol Buffer(3)更新消息类型

    当你第一次定义Protocol Buffer的消息的时候,你肯定会给消息设定一套规则需求.但是随着时间的推进,你的业务可能会发生了变化,与此同时,你的Protocol Buffer消息类型的需求也会随 ...

  9. 【网易官方】极客战记(codecombat)攻略-地牢-循环又循环

    关卡连接: https://codecombat.163.com/play/level/loop-da-loop 循环真是救命恩人! 简介: 你只需要 一个 while true循环 加上 4 条语句 ...

  10. IntelliJ IDEA 2017.3尚硅谷-----查看项目配置