【课程作业】嵌入式系统与设计上机作业(作业三)

 个人名片:

🎓作者简介:嵌入式领域优质创作者
🌐个人主页:妄北y

📞个人QQ:2061314755

💌个人邮箱:[mailto:2061314755@qq.com]
📱个人微信:Vir2025WBY
🖋️本文为妄北y原创佳作,独家首发于CSDN🎊🎊🎊
💡座右铭:改造世界固然伟大,但改造自我更为可贵。

专栏导航:

妄北y系列专栏导航:

物联网嵌入式开发项目:大学期间的毕业设计,课程设计,大创项目,各种竞赛项目,全面覆盖了需求分析、方案设计、实施与调试、成果展示以及总结反思等关键环节。📚💼💡

QT基础入门学习:对QT的基础图形化页面设计进行了一个简单的学习与认识,利用QT的基础知识进行了翻金币小游戏的制作。🛠️🔧💭

Linux基础编程:初步认识什么是Linux,为什么学Linux,安装环境,进行基础命令的学习,入门级的shell编程。🍻🎉🖥️

Linux应用开发基础开发:分享Linux的基本概念、命令行操作、文件系统、用户和权限管理等,网络编程相关知识,TCP/IP 协议、套接字(Socket)编程等,可以实现网络通信功能。💐📝💡

Linux驱动开发:Linux驱动开发是Linux系统不可或缺的组成部分,它专注于编写特殊的程序——驱动程序。这些程序承载着硬件设备的详细信息,并扮演着操作系统与硬件间沟通的桥梁角色。驱动开发的核心使命在于确保硬件设备在Linux系统上顺畅运作,同时实现与操作系统的无缝集成,为用户带来流畅稳定的体验。🚀🔧💻

Linux项目开发:Linux基础知识的实践,做项目是最锻炼能力的一个学习方法,这里我们会学习到一些简单基础的项目开发与应用,而且都是毕业设计级别的哦。🤸🌱🚀

非常期待与您一同在这个广阔的互联网天地里,携手探索知识的海洋,互相学习,共同进步。🌐💫🌱 熠熠星光,照亮我们的成长之路

✨✨ 欢迎订阅本专栏,对专栏内容任何问题都可以随时联系博主,共同书写属于我们的精彩篇章!✨✨

文章介绍:

📚本篇文章将深入剖析嵌入式系统学习的精髓与奥秘,与您一同分享相关知识!🎉🎉🎉

若您觉得文章尚可入目,期待您能慷慨地送上点赞、收藏与分享的三连支持!您的每一份鼓励,都是我创作路上源源不断的动力。让我们携手并进,共同奔跑,期待在顶峰相见的那一天,共庆辉煌!🚀🚀🚀

🙏衷心感谢大家的点赞👍、收藏⭐和评论✍️,您的支持是我前进的动力!

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能教程 

目录:

目录

目录:

一、填空题:

二、选择题:

三、判断题:

四、最终结果:


一、填空题:

1. 假设r0=0x05,r1=0x03,正确执行SUB r0,r0,r1后,r0的值为_____。

答案:0x02

在ARM汇编指令中,SUB r0, r0, r1 这条指令的作用是从寄存器r0的值中减去寄存器r1的值,并将结果存回寄存器r0

给定的初始值为:

  • r0 = 0x05 (5 在十六进制中)
  • r1 = 0x03 (3 在十六进制中)

执行 SUB r0, r0, r1 操作,即 r0 = r0 - r1,计算 0x05 - 0x03,得到 0x02

因此,执行完 SUB r0, r0, r1 后,r0 的值为 0x02

2. 假设r0=Ox01,r1=0x03,正确执行ADD r0,r0,r1后,r0的值为_____。

答案:0x04

在ARM汇编指令中,ADD r0, r0, r1 这条指令的作用是将寄存器 r0 的值与寄存器 r1 的值相加,并将结果存回寄存器 r0

给定的初始值为:

  • r0 = 0x01 (1 在十六进制中)
  • r1 = 0x03 (3 在十六进制中)

执行 ADD r0, r0, r1 操作,即 r0 = r0 + r1,计算 0x01 + 0x03,得到 0x04

因此,执行完 ADD r0, r0, r1 后,r0 的值为 0x04

3. ARM系列处理器通过执行____或者BLX指令来实现工作状态的切换。

答案:BX

4. ATPCS中规定,用寄存器_______传递参数。(字母用小写)

答案:r0-r3

5. ATPCS规定中,推荐子函数参数最大为__个。

答案:4

 6. ARM汇编指令中,用于实现64位无符号乘法运算的指令是_____。

答案:UMULL

7. 假设r0=0x01,r1=0x03,正确执行MOV r0,r1,LSL#1后,r0的值为_____。

答案:0x06

在ARM汇编指令中,MOV r0, r1, LSL#1 这条指令的作用是将寄存器r1的值逻辑左移1位,然后将结果存入寄存器r0

给定的初始值为:

  • r0 = 0x01 (1 在十六进制中)
  • r1 = 0x03 (3 在十六进制中)

执行 LSL#1 操作,即逻辑左移1位,r1 的值 0x03 转换为二进制是 0000 0011,左移1位后变为 0000 0110,对应的十六进制是 0x06

因此,执行完 MOV r0, r1, LSL#1 后,r0 的值为 0x06

8. 指令MOV r0,r1,LSL,#3中,LSL的作用是_____。(填写四个汉字)

答案:逻辑左移

9. 基本指令后加____,表示本条语句条件不相等时执行。

答案:NE

10.  ATPCS规则中,子程序的返回结果为一个32位整数时,通过____来返回。

答案:R0

在ARM体系结构中,ATPCS(ARM Thumb Procedure Call Standard)规则定义了子程序调用和返回的标准。根据ATPCS规则,如果子程序的返回结果是一个32位的整数(即一个32位的寄存器可以容纳的值),则通常通过寄存器 R0 来返回这个结果。

 11. ATPCS规定中,栈是_____类型。

案:满减

12. SPACE伪指令用于分配一片连续的存储单元并初始化为0,SPACE也可用____代替。

答案:%

13. CMP指令用于实现____功能。(填写两个汉字)

答案:比较

14.   ADR r4,b

        LDRr1,[r4]

        AND r1, r1,#15
假设b=Oxa,则执行完这段代码后,r1=_____。《用十六进制表示,字母用小写)

答案:0xa

  1. ADR r4, b:这条指令将标签 b 的地址加载到寄存器 r4 中。由于 b 的值是 0xa,假设 b 位于数据段,那么 r4 将包含 b 的地址。

  2. LDR r1, [r4]:这条指令将 r4 指向的内存地址中的值加载到寄存器 r1 中。由于 r4 包含 b 的地址,r1 将获得 b 的值,即 0xa

  3. AND r1, r1, #15:这条指令对 r1 和立即数 #15 进行按位与操作,并将结果存储回 r1#15 在二进制中表示为 00001111,而 0xa 在二进制中表示为 00001010。按位与操作后,结果为 00001010,即十进制的 10,十六进制的 0xa

因此,执行完这段代码后,r1 的值为 0xa

 15. ARM汇编指令中,用于实现无进位加法运算的指令是____。

答案:ADD

16.  ARM汇编语言中,用于实现软中断的指令是_____。

答案:SWI

17.   1  ADR r4,a

        2  LDR r0,[r4]

        3   ADR r4,b

        4  LDR r1,[r4]

        5  CMP r0r1

        6  BLE fblock;

        7  MOV r0,#5

        8  fblock
假设a=4, b=9,则执行完BLE以后,将跳到第_____行。

答案:8

  1. ADR r4, a:将标签 a 的地址加载到寄存器 r4 中。由于 a 的值是 4r4 将包含 a 的地址。

  2. LDR r0, [r4]:将 r4 指向的内存地址中的值加载到寄存器 r0 中。由于 r4 包含 a 的地址,r0 将获得 a 的值,即 4

  3. ADR r4, b:将标签 b 的地址加载到寄存器 r4 中。由于 b 的值是 9r4 将包含 b 的地址。

  4. LDR r1, [r4]:将 r4 指向的内存地址中的值加载到寄存器 r1 中。由于 r4 包含 b 的地址,r1 将获得 b 的值,即 9

  5. CMP r0, r1:比较寄存器 r0r1 的值。这里比较的是 49

  6. BLE fblock;:如果 r0 小于或等于 r1,则跳转到标签 fblock。由于 4 小于 9,条件满足。

  7. MOV r0, #5:这条指令将立即数 5 移动到寄存器 r0 中。但由于前面的 BLE 指令,如果条件满足,程序将跳过这条指令。

       执行完 BLE 指令后,由于 r0(即 4)小于 r1(即 9),程序将跳转到标签 fblock

18.  ARM汇编源程序是由若干个__来构成。(填写一个字)

答案:段

19. 假设r0=0x01,r1=0x03,正确执行ADD r0,r0,r1,LSL#1后,r0的值为______

答案:0x07

在ARM汇编中,ADD r0, r0, r1, LSL#1 这条指令的意思是将寄存器 r1 的值左移1位(相当于乘以2),然后将结果加到寄存器 r0 的值上。

首先,我们需要计算 r1 左移1位的结果:

  • r1 的值是 0x03,即二进制的 0000 0011
  • 左移1位后,得到 0000 0110,即 0x06

然后,我们将这个结果加到 r0 的值上:

  • r0 的值是 0x01,即 0000 0001
  • 加上 0x06,即 0000 0001 加上 0000 0110,得到 0000 0111,即 0x07

所以,执行完 ADD r0, r0, r1, LSL#1 后,r0 的值为 0x07

20. 补写程序实现求R4R3-R2R1,差放在R6R5中功能。

SUBS R5,R3,R1
_____ R6,R4,R2

答案:SBC

二、选择题:

1. 下面指令执行后,改变R1寄存器内容的指令是()。

A. TST R1,#2        B.ORR R1,R1,R1         C.CMPR1,#2         D.EOR R1,R1,R1

答案:D

A. TST R1, #2 - 这条指令执行一个位测试操作,它将R1寄存器的内容与立即数2进行按位与操作,但不存储结果,只影响条件码。因此,R1的内容不会改变。

B. ORR R1, R1, R1 - 这条指令执行一个按位或操作,它将R1寄存器的内容与自身进行按位或操作,并将结果存储回R1。由于任何数与自身进行按位或操作的结果仍然是该数本身,这条指令实际上不会改变R1的内容。

C. CMP R1, #2 - 这条指令执行一个比较操作,它将R1寄存器的内容与立即数2进行减法操作,但不存储结果,只影响条件码。因此,R1的内容不会改变。

D. EOR R1, R1, R1 - 这条指令执行一个按位异或操作,它将R1寄存器的内容与自身进行按位异或操作,并将结果存储回R1。由于任何数与自身进行按位异或操作的结果总是0,这条指令会将R1的内容设置为0。

2. LDR R2,[R3,#128]的寻址方式是( ) 。

A.寄存器寻址        B.寄存器移位           C.变址寻址―        D.间接寻址

答案:C   

  • 寄存器寻址(A)是指指令中直接使用寄存器的内容。
  • 寄存器移位(B)是指指令中使用寄存器内容的某个部分,通常是通过移位操作来实现。
  • 变址寻址(C)通常是指使用基址寄存器加上一个偏移量来访问内存地址。
  • 间接寻址(D)是指指令中使用寄存器的内容作为地址,然后通过这个地址来访问数据。

在指令 "LDR R2, [R3,#128]" 中,"[R3,#128]" 表示从寄存器 R3 的值加上 128 的偏移量处的内存地址中加载数据到 R2 寄存器。这里的 "[R3,#128]" 就是一个间接寻址的例子,因为 R3 寄存器的内容被用作基址地址,然后加上偏移量来确定最终的内存地址。

3. ARM中可以访问状态寄存器的指令是( )。

A. MOV                B. LDR                C. MCR                D.MRS

答案:D  

在ARM架构中,可以访问状态寄存器(通常指的是程序状态寄存器CPSR或SPSR)的指令是 MRS

MRS 指令用于将状态寄存器的内容传送到通用寄存器中。例如,MRS R0, CPSR 会将当前的程序状态寄存器CPSR的内容传送到R0寄存器中。

 A. MOV - 用于数据传送,可以将立即数、寄存器内容或移位后的寄存器内容传送到目标寄存器,但不能直接访问状态寄存器。

B. LDR - 用于从内存中加载数据到寄存器,不直接用于访问状态寄存器。

C. MCR - 用于将ARM寄存器的内容传送到协处理器寄存器,与状态寄存器的访问无关。

4.  使用单一平板地址的ARM地址空间,最大寻址空间为多少?()

A. 2G                B.4G                C. 1G                D. 8G

答案:B

在ARM架构中,如果使用单一的平板地址空间,即不使用任何地址空间重定位或分页技术,那么地址总线的宽度决定了最大寻址空间。

在32位的ARM处理器中,地址总线是32位的,这意味着它可以产生2^32个不同的地址。因此,最大寻址空间是2^32字节,即4GB(因为1GB = 2^30字节)。

5.  ADD R0,R1,#3属于( ) 。

A.立即寻址        B.多寄存器寻址        C.寄存器直接寻址        D.相对寻址

答案:A

6. SUB属于以下哪一类指令( )。

A.数据处理类        B.位段操作类        C.存储器访问类        D.分支控制类

答案:A 

SUB 指令属于数据处理类指令。

在ARM架构中,SUB 指令用于执行减法操作,它从第一个操作数中减去第二个操作数,并将结果存储在目标寄存器中。这种类型的指令通常涉及算术运算,如加法、减法、乘法和除法,以及逻辑运算,如与、或、非和异或等。

A. 数据处理类 - 正如上述解释,SUB 指令用于数据处理,执行算术运算。

B. 位段操作类 - 这类指令通常用于对寄存器中的位进行设置、清除或反转等操作,与SUB 指令不符。

C. 存储器访问类 - 这类指令用于从内存中加载数据到寄存器或从寄存器存储数据到内存,不涉及算术或逻辑运算。

D. 分支控制类 - 这类指令用于改变程序的执行流程,如条件分支和无条件跳转,与SUB 指令不符。

7. 下列哪些指令可以协处理器的访问?( )

A. MRC                B.ADD                 C. LDR                D. STM

答案:A 

在ARM架构中,协处理器用于执行特定的操作,如浮点运算、图形处理等。ARM处理器通过特定的指令与协处理器进行通信。

选项A中MRC 指令是用于将协处理器的数据传输到ARM寄存器的指令。MRC 指令的含义是将协处理器的数据传送到ARM处理器的通用寄存器中。

选项B中ADD 指令是算术加法指令,它用于执行两个操作数的加法运算,并将结果存储在目标寄存器中。这个指令不直接涉及协处理器的访问。

选项C中LDR 指令是用于从内存加载数据到寄存器的指令。虽然它可以用于加载协处理器的数据,但这不是其主要功能,且需要特定的协处理器指令格式。

选项D中STM 指令是用于将多个寄存器的数据存储到内存的指令。这个指令也不直接涉及协处理器的访问。

因此,只有选项A中的 MRC 指令是直接用于协处理器访问的指令

8.  ARM汇编语句"SUB R0,R2,R3,LSR #4"的作用是() 。

A. RO=R2-(R3 >>4)                  B.R0=(R2>>4)-R3
C.R3=RO-(R2 >>4)                D.(R3>>4)=RO-R2

答案:A 

在ARM汇编语句 "SUB R0, R2, R3, LSR #4" 中,SUB 指令用于执行减法操作,而 LSR #4 是一个移位操作,表示逻辑右移4位。

这条指令的含义是将 R2 寄存器中的值减去 R3 寄存器中的值逻辑右移4位后的结果,并将结果存储在 R0 寄存器中。

具体来说,R3, LSR #4 表示将 R3 寄存器中的值右移4位,即除以2的四次方(16),然后将这个结果作为第二个操作数与 R2 寄存器中的值进行减法运算。

因此,这条指令的作用是: A. R0 = R2 - (R3 >> 4)

B. R0 = (R2 >> 4) - R3 - 这个选项错误,因为移位操作是应用于 R3 而不是 R2

C. R3 = R0 - (R2 >> 4) - 这个选项错误,因为结果存储在 R0 而不是 R3,并且移位操作是应用于 R3 而不是 R2

D. (R3 >> 4) = R0 - R2 - 这个选项错误,因为结果存储在 R0 而不是 R3,并且移位操作的结果不能直接赋值给一个寄存器。

9.  若R1=4000H,(4000H)=0xa6,(4004H)=0x68,则执行指令LDR R0,[R1],#4后R0的值为()。

A. 0x4000                B. 0xa6                C. ox4004                        D. 0x68

 答案:B  

在ARM架构中,LDR 指令用于从内存加载数据到寄存器。指令 "LDR R0, [R1], #4" 的含义是从内存地址 R1 指向的位置加载数据到 R0 寄存器,并且将 R1 的值增加4。

根据题目中给出的信息:

  • R1 的值是 4000H
  • 内存地址 4000H 处的值是 0xa6
  • 内存地址 4004H 处的值是 0x68

指令 "LDR R0, [R1], #4" 执行后,R0 将加载内存地址 4000H 处的值,即 0xa6。同时,R1 的值将增加4,变为 4004H

因此,执行该指令后,R0 的值为 0xa6

10. 能实现把立即数0X345601A7保存在R1中的指令是() 。

A. LDRR1,=0X345601A7                          B. LDR R1,0X345601A7

C MOVR1,0X345601A7                           D.BLR1,0X345601A7

 答案:A  

在ARM架构中,要将立即数直接加载到寄存器中,通常使用 MOV 指令。LDR 指令通常用于从内存加载数据到寄存器,但在某些情况下,LDR 也可以用于加载立即数,但这通常需要一个特殊的语法,即使用等号 =

选项A中的 "LDR R1, =0X345601A7" 是正确的,因为这种形式的 LDR 指令用于加载立即数到寄存器。这里的等号 = 表示这是一个立即数加载,而不是内存地址加载。

选项B中的 "LDR R1, 0X345601A7" 是错误的,因为这种形式的 LDR 指令需要一个内存地址,而不是立即数。

选项C中的 "MOV R1, 0X345601A7" 是正确的,因为 MOV 指令可以直接将立即数加载到寄存器中。

选项D中的 "BL R1, 0X345601A7" 是错误的,因为 BL 是分支并链接指令,用于调用子程序,并且它不应该后跟一个立即数。

11.  堆栈的满递减操作的助记符为( )。

A. EA                B.ED                  C. FD                        D.FA

答案:C

在计算机体系结构和汇编语言中,堆栈的操作通常涉及到递增(向更高的内存地址移动)或递减(向更低的内存地址移动)。堆栈的满递减操作意味着堆栈指针指向最后一个有效数据项(即堆栈是满的),并且在进行堆栈操作时,堆栈指针会递减。

选项C "FD" 通常表示 "Full Decrement",即满递减。这是在某些处理器架构中用于描述堆栈操作的术语。

12.在下列指令系统的各种寻址方式中,获取操作数最快的是( )。 

A.基址变址寻址        B.寄存器间接寻址        C.存储器直接寻址        D.寄存器直接寻址 

答案:D  

在指令系统的各种寻址方式中,获取操作数最快的方式是直接从寄存器中获取,因为寄存器是CPU内部的高速存储单元,访问速度远快于访问主内存。

选项D "寄存器直接寻址" 表示操作数直接存储在寄存器中,因此CPU可以直接从寄存器中读取操作数,而不需要访问内存。

A. 基址变址寻址 - 这种寻址方式需要计算内存地址,通常涉及到基址寄存器和变址寄存器的值的组合,然后访问内存。

B. 寄存器间接寻址 - 这种寻址方式需要从寄存器中获取内存地址,然后访问内存。

C. 存储器直接寻址 - 这种寻址方式直接指定内存地址,然后访问内存。

13.  uCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下xo6汇编代码正确而且不会改变关中断之前的中断开关状态的是()。

A.先CLI、执行关键代码、再STI

B.先STI、执行关键代码、再CLI

C.先POPF、CLI、执行关键代码、再PUSHF

D.先PUSHF、CLI、执行关键代码、再POPF

答案: D

在uCOS-II或其他实时操作系统中,为了保护关键代码段不被中断干扰,通常会使用关中断(CLI)和开中断(STI)指令。然而,直接使用CLI和STI可能会改变中断的原始状态,即在执行关键代码之前中断是开启还是关闭的状态。

选项A "先CLI、执行关键代码、再STI" 会改变中断的原始状态,因为在执行关键代码之前中断被关闭了。

选项B "先STI、执行关键代码、再CLI" 也会改变中断的原始状态,因为在执行关键代码之前中断被开启了。

选项C "先POPF、CLI、执行关键代码、再PUSHF" 是正确的,因为POPF指令从堆栈中弹出标志寄存器的值,然后CLI关闭中断,执行关键代码,最后PUSHF将修改前的标志寄存器状态压回堆栈,这样就恢复了中断的原始状态。

选项D "先PUSHF、CLI、执行关键代码、再POPF" 是错误的,因为PUSHF指令将标志寄存器的当前状态压入堆栈,然后CLI关闭中断,执行关键代码,最后POPF从堆栈中弹出标志寄存器的值,但这个值是在CLI指令执行后的状态,而不是原始状态。

14. 指令"LDMIA R0!,{R1,R2,R3,R4}"的寻址方式为( )。

A.立即寻址                                                        B.寄存器间接寻址                

C.多寄存器寻址                                                    D.堆栈寻址

答案:C 

指令 "LDMIA R0!, {R1, R2, R3, R4}" 是ARM架构中的一种指令,用于从内存中加载多个数据到寄存器中。这条指令的含义是:

  • LDMIA:Load Multiple Increment After,即在加载多个数据后增加基址寄存器的值。
  • R0!:R0是基址寄存器,并且带有后缀"!"表示在指令执行后,R0的值会被更新为新的地址,即包含了自动索引。
  • {R1, R2, R3, R4}:表示从内存中加载数据到寄存器R1、R2、R3和R4中。

这种寻址方式是多寄存器寻址,因为它涉及从内存中加载数据到多个寄存器中,并且基址寄存器R0在加载过程中会被更新。

15.  ARM汇编源程序中至少应含有()个段(AREA)。

A. 3                        B.0                        C. 2                        D. 1

 答案:D 

在ARM汇编源程序中,至少应含有一个段(AREA)。段是汇编代码的基本组织单位,用于定义代码或数据区域。一个汇编源文件可以包含多个段,但至少需要有一个段来定义代码或数据。

16.  为了解决c和汇编间过程调用问题,人们制定了什么标准?()

A. ASTCP                B.ATPCS                C.ACTPS                D. APTCS

 答案:B

为了解决C语言和汇编语言之间的过程调用问题,人们制定了ATPCS(ARM Thumb Procedure Call Standard)标准。ATPCS定义了子程序调用时参数的传递规则、寄存器的使用规则以及堆栈的使用规则等,以确保不同编译器编译的程序能够正确地相互调用。 

17.  与CPU执行现行程序时间无关的因素是() 。

A.总线架构                B.内存容量                C.U盘大小                D.主机频率

答案:C 

与CPU执行现行程序时间无关的因素是C. U盘大小。

A. 总线架构:总线架构会影响数据传输的速度,从而可能影响程序的执行时间。

B. 内存容量:内存容量的大小会影响程序的加载和运行速度,较大的内存可以减少因内存不足导致的频繁磁盘交换(swap),从而影响程序的执行时间。

C. U盘大小:U盘的大小主要影响存储数据的能力,与CPU执行程序的时间没有直接关系。CPU执行程序时,数据通常是从内存中读取,而不是从U盘。

D. 主机频率:主机频率通常指的是CPU的主频,它直接影响CPU的运算速度,从而影响程序的执行时间。

U盘大小是与CPU执行现行程序时间无关的因素。

18. 下列ARM指令中,执行后不会影响CPSR的是() 。

A. TEQ R1,R2                        B.CMP R0,R1        

C.EORSR,R2,R3                 D.ADD RO,R1,R2

答案:D

在ARM指令集中,执行以下指令不会影响CPSR(当前程序状态寄存器):

D. ADD RO,R1,R2

A. TEQ R1,R2 (测试等价指令,会根据比较结果影响CPSR中的Z标志位);

B. CMP R0,R1 (比较指令,会根据结果影响CPSR中的N、Z、C和V标志位);

C. EORS R, R2, R3 (异或并设置标志指令,会根据结果影响CPSR中的N、Z、C和V标志位)都会影响CPSR中的条件标志位。

19.  ARM处理器中的哪个部分可以实现物理地址到虚拟地址的映射?()

A. ALU                B.桶型移位寄存器                C. Cache                D.MMU

答案:D 

在ARM处理器中,实现物理地址到虚拟地址的映射的是MMU(内存管理单元)。

MMU是一个硬件组件,它负责处理虚拟内存,将物理内存地址转换为虚拟内存地址。通过这种方式,多个任务或进程可以在同一硬件上共享物理内存,而每个任务或进程都使用其自己的虚拟内存地址,这样有助于提高系统的灵活性和可扩展性。

20. 在软件开发过程中"汇编"通常是指()。

A.将汇编语言转换成机器语言的过程                B.将高级语言转换成机器语言的过程

C.将机器语言转换成汇编语言的过程                D.将高级语言转换成汇编语言的过程

 答案:A  

在软件开发过程中,"汇编"通常是指将汇编语言转换成机器语言的过程。汇编语言是一种低级语言,它与机器语言非常接近,每条汇编指令通常对应一条机器指令。汇编过程就是将这些汇编指令翻译成对应的机器码,以便计算机能够直接执行。

A. 将汇编语言转换成机器语言的过程

B. 将高级语言转换成机器语言的过程 - 这通常被称为编译。

C. 将机器语言转换成汇编语言的过程 - 这通常不是软件开发中的一个步骤,而是逆向工程的一部分。

D. 将高级语言转换成汇编语言的过程 - 这也不是一个常见的软件开发步骤,高级语言通常直接编译成机器语言。

三、判断题:

1. ATPCS规定了寄存器的使用规则,寄存器R13用于保存堆栈指针SP,当子程序返回时使用该寄存器出栈。

答案:X

2. "MOVAX, MASK[DI]"指令的源操作数属于寄存器间接寻址。

答案:X

3. 指令"LDMIA RO!,{R1,R2,R3,R4}"的寻址方式为堆栈寻址。

答案:X

4. 汇编语言不可以用来作为嵌入式程序开发。

答案:X

5. 程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量。

答案:X

6. c语言不可以用来作为嵌入式程序开发。

答案:X

7.汇编语言不可以用来作为嵌入式程序开发。

答案:X

8.一个程序中至少要有一个ENTRY,一个源文件中最多只能有一个ENTRY,也可以没有ENTRY。

答案:√

9. c语言程序可以嵌套加入汇编程序模块。

答案:√

 10. 对于时间紧迫的功能一般通过在c语言中内嵌汇编语句来实现,其中"-asm"为内嵌汇编语句的关键字。

答案:X

四、最终结果:

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ant Design pro 6.0.0 搭建使用以及相关配置

一、背景 在选择一款比较合适的中台的情况下,挑选了有arco design、ant design pro、soybean、vue-pure-admin等中台系统,经过筛选就选择了ant design pro。之前使用过arco design 搭建通过组件库拼装过后台管理界面,官方文档也比较全&#…

2024GDCPC广东省赛记录

比赛流程体验,依托,开赛几分钟了,选手还卡在门外无法入场,也没给延时,说好的桌上会发三支笔,于是我们就没准备,要了三次笔,终于在一小时后拿到了😅 比赛题目体验&#xf…

Java基础22(JSON解析 注解)

目录 一、JSON解析 1. JSON语法 2. JSON的用途 3. Java解析JSON 4. 使用Fastjson 4.1 Fastjson 的优点 4.2 Fastjson 导包 4.3 Fastjson的主要对象 4.4 常用方法 将Java对象 "序列化"(转换) 为JSON字符串: 将JSON字符串…

YOLOv5改进策略:Focaler-IoU损失函数改进

文章目录 1、前言2、摘要3、Focaler-IoU:4、代码实现5、目标检测系列文章 1、前言 ​ 目标检测是计算机视觉的基本任务之一,旨在识别图像中的目标并定位其位置。目标检测算法可分为基于锚点和无锚点的方法。基于锚点的方法包括Faster R-CNN、YOLO系列、…

详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版)

目录 前言1. 基本知识2. Demo3. 实战4. 模版 前言 由于需要在登录时,附上一些用户说明书的弹窗 对于ElMessageBox的基本知识详细了解 可通过官网了解基本的语法知识ElMessageBox官网基本知识 1. 基本知识 Element Plus 是一个基于 Vue 3 的组件库,其中…

20240523每日运维--------聊聊docker简介(一)

dotCloud 说Docker,必不可免不得不说dotCloud,Docker本来只是dotCloud公司的内部项目,其公司创始人 Solomon Hykes 发了一个内部项目,而这个项目就是Docker,自从2013年docker开源以后,在世界范围引起相当轰…

对于高速信号完整性,一块聊聊啊(12)

常见的无源电子器件 电子系统中的无源器件可以按照所担当的电路功能分为电路类器件、连接类器件。 A、电路类器件: (1)二极管(diode) (2)电阻器(resistor) &#xf…

浅谈对称加密非对称加密

对称加密:加密和解密使用的密钥是同一个 常见算法:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES非对称加密:需要两个密钥,一个公开密钥、一个私有密钥 常见算法:RSA、ECC(移动设备用)、Dif…

归并排序算法(经典、常见)

今天我们不刷力扣了,我们来复习(手撕)一下数据结构中的八大排序算法之一,归并排序 基本概念: 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&am…

【网络技术】【Kali Linux】Wireshark嗅探(十五)SSDP(简单服务发现协议)报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客: 【网络技术】【Kali Linux】Wireshark嗅探(一)ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探(二)TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

与MySQL DDL 对比分析OceanBase DDL的实现

本文将简要介绍OceanBase的DDL实现方式,并通过与MySQL DDL实现的对比,帮助大家更加容易理解。 MySQL DDL 的算法 MySQL 的DDL实现算法主要有 copy、inplace和instant。 copy copy算法的实现相对简单,MySQL首先会创建一个临时表&#xff0…

C++:STL

STL 文章目录 STLSTL 绪论迭代器(iterators)容器(Containers)vectorset,multisetmap,multimapstackqueuedequepriority_queuebitset 算法(Algorithms)sort,count,find,lower_bound,upper_bound,binary_sear…

(2024,attention,可并行计算的 RNN,并行前缀扫描)将注意力当作 RNN

Attention as an RNN 公众号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 方法 3.1 注意力作为一种(多对一的)RNN 3.2 注意力作为(多对多&…

多语言印度红绿灯系统源码带三级分销代理功能

前端为2套UI,一套是html写的,一套是编译后的前端 后台功能很完善,带预设、首充返佣、三级分销机制、代理功能。 东西很简单,首页就是红绿灯的下注页面,玩法虽然单一,好在不残缺可以正常跑。

Putty: 随心御剑——远程启动服务工具plink

一、引言:如何远程控制 也许你会有这样的场景,交互程序(以下简称UI程序)跑在windows端,而控制程序跑在Linux上。我们想要通过windows端 UI程序来启动Linux下面的服务,来一场酣畅淋漓的御剑飞行咋办,难道要自己十年磨一剑,在Linux下编写一个受控服务程序么.计算机科技发…

【MATLAB】信号的熵

近似熵、样本熵、模糊熵、排列熵|、功率谱熵、奇异谱熵、能量熵、包络熵 代码内容: 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复信号的熵本公众号致力于解决找代码难,写代码怵。各位有什么急需…

FreeRTOS中断中释放信号量

串口接收:中断程序中逆序打印字符串 串口接收:逆序回环实验思路 注:任务优先级较高会自动的切换上下文进行运行 FreeRTOS中的顶半操作和底半操作 顶半操作和底半操作“这种叫法源自与Linux”在嵌入式开发中,为了和Linux操作系统做…

Linux网络编程: 网络基础

Linux网络编程: 网络基础 1.网络划分 一.网络通信1.网络通信和本地通信的联系2.网络通信与本地通信最本质的区别及其衍生出的问题 二.网络协议初识1.为何本地通信不行?2.打电话的例子体会分层模型的好处3.OSI七层模型的提出4.OSI七层模型与TCP/IP五层模型1.TCP/IP与…

二十九篇:构建未来:信息系统的核心框架与应用

构建未来:信息系统的核心框架与应用 1. 引言 在这个充满挑战和机遇的信息时代,信息系统已经成为现代组织不可或缺的神经中枢。它们不仅革新了我们处理信息的方式,更是极大地增强了决策制定的效率和质量。在这篇文章中,我将分享我…

Java进阶-SpringCloud使用BeanUtil工具类简化对象之间的属性复制和操作

在Java编程中,BeanUtil工具类是一种强大且便捷的工具,用于简化对象之间的属性复制和操作。本文将介绍BeanUtil的基本功能,通过详细的代码示例展示其应用,并与其他类似工具进行对比。本文还将探讨BeanUtil在实际开发中的优势和使用…