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

news2024/10/5 3:34:55

 个人名片:

🎓作者简介:嵌入式领域优质创作者
🌐个人主页:妄北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.coloradmin.cn/o/1699822.html

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

相关文章

基于机器学习判断面部微表情发现哪些人更容易诊有帕金森病

1. 概述 帕金森病(Parkinson’s disease,PD)是一种慢性、进展性的神经退行性疾病,主要影响运动系统。该病症以大脑中黑质致密部多巴胺能神经元的逐渐丧失为特征,导致多巴胺(一种重要的神经递质&#xff09…

XX数字中台技术栈及能力

XX数字中台技术栈及能力 1 概述 XX数字中台面向数据开发者、数据管理者和数据应用者,提供数据汇聚、融合、治理、开发、挖掘、共享、可视化、智能化等能力,实现数据端到端的全生命周期管理,以共筑数字基础底座,共享数据服务能力…

插入排序(概述)

描述 插入排序为将一个数插入到以排序好的数组中 目录 描述 原理 特性 代码 原理 我们以升序为例 先将新数插入到数组的最后一位,记录下新数的值 从新数的位置开始往前遍历,如果前一位大于新数的值 则将当前位置修改为前一位的值 如果前一位小…

前端:音频可视化(H5+js版本)

一、效果展示 HTML5JS实现一个简单的音频可视化 二、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>音频可视化</title><style></style></head><body><divs…

python mp3转mp4工具

成品UI 安装moviepy库 pip install moviepy 转换demo from moviepy.editor import *# 创建一个颜色剪辑&#xff0c;时长与音频相同 audioclip AudioFileClip(r"C:\Users\Administrator\PycharmProjects\pythonProject44\test4\赵照 - 灯塔守望人.mp3") videoclip…

P6160 [Cnoi2020] 向量

[Cnoi2020] 向量 题目背景 向量(vector)&#xff0c;指具有大小(Magnitude)和方向(Direction) 的量。 与向量对应的量叫做数量(Scalar)&#xff0c;数量只有大小&#xff0c;没有方向。 对于 Cirno 来说&#xff0c;整天环绕氷屋的旋转 Sangetsusei 们是向量而不是数量。 Sun…

Spring Cloud 项目中使用 Swagger

Spring Cloud 项目中使用 Swagger 关于方案的选择 在 Spring Cloud 项目中使用 Swagger 有以下 4 种方式&#xff1a; 方式一 &#xff1a;在网关处引入 Swagger &#xff0c;去聚合各个微服务的 Swagger。未来是访问网关的 Swagger 原生界面。 方式二 &#xff1a;在网关处引…

关于C的\r回车在不同平台的问题

首先我们需要搞明白\r和\n是两回事 \r是回车&#xff0c;前者使光标到行首&#xff0c;&#xff08;carriage return&#xff09; \n是换行&#xff0c;后者使光标下移一格&#xff0c;&#xff08;line feed&#xff09; Linux平台下 #include <stdio.h> int main()…

C++的AVL树

目录 基本概念 插入的语言分析 LL右旋 RR左旋 额外结论及问题1 LR左右旋 RL右左旋 额外结论及问题2 插入结点 更新bf与判断旋转方式 旋转代码实现 准备工作一 LL右旋的实现 RR左旋的实现 准备工作二 LR左右旋的实现 RL右左旋的实现 完整代码 基本概念 1、…

机器学习算法手撕(一):KD树

import math import matplotlib.pyplot as pltclass Node:def __init__(self, data, leftNone, rightNone):self.data dataself.left leftself.right right# 创建KDTree类 class KDTree:def __init__(self, k):self.k kdef create_tree(self,dataset,depth):if not dataset…

Docker CIG使用

Docker CIG是什么 CIG为&#xff1a;CAdvisor监控收集、InfluxDB存储数据、Granfana图表展示 这个组合是一个常见的监控 Docker 容器的解决方案,它包括以下三个组件: cAdvisor (Container Advisor): cAdvisor 是一个开源的容器资源监控和性能分析工具。它能够收集有关正在运行的…

Java实现图书系统

首先实现一个图书管理系统,我们要知道有哪些元素? 1.用户分成为管理员和普通用户 2.书:书架 书 3.操作的是: 书架 目录 第一步:建包 第二步:搭建框架 首先:完成book中的方法 其次:完成BookList 然后:完成管理员界面和普通用户界面 最后:Main 第三步:细分方法 1.退…

除自身以外数组的乘积 ---- 前缀和

题目链接 题目: 分析: 计算某个区间的积, 同样可以使用前缀和算法的思想想要计算除i位置的积, 我们需要计算i位置之前[0,i-1]的前缀积 和 i位置之后[i1,n-1]的后缀积, n表示数组的长度 先求[0,i - 1]的积 用一个前缀数组f 此时f[i] 表示: 前i - 1个数的积, 那么f[i - 1] 就表…

虹科Pico汽车示波器 | 免拆诊断案例 | 2012 款雪佛兰科鲁兹车偶尔多个故障灯异常点亮

故障现象 一辆2012款雪佛兰科鲁兹车&#xff0c;搭载1.8 L 发动机&#xff0c;累计行驶里程约为9.6万km。该车组合仪表上的发动机故障灯、ABS故障灯及动力转向故障灯偶尔异常点亮&#xff0c;同时发动机转速表和发动机冷却液温度表的指针会突然归零&#xff0c;严重时发动机无…

上下文视觉提示实现zero-shot分割检测及多visual-prompt改造

文章目录 一、Closed-Set VS Open-set二、DINOv2.1 论文和代码2.2 内容2.3 安装部署2.4 使用效果 三、多visual prompt 改造3.1 获取示例图mask3.2 修改函数参数3.3 推理代码3.4 效果的提升&#xff01; 四、总结 本文主要介绍visual prompt模型DINOv&#xff0c;该模型可输入八…

Qt for Android 乱码问题

java文件乱码 导致编译失败 使用notepad等查看java文件的编码&#xff0c; 修改成utf-8&#xff0c;否则会因为乱码编译失败&#xff0c; 记住是utf8不是utf8-bom. 做如下修改确保utf8文件不被修改掉。 编译时错误显示的是乱码 如果开发其他乱码再改回&#xff0c; 原本是Sys…

【机器学习300问】99、多通道卷积神经网络在卷积操作时有哪些注意事项?

一、多通道卷积神经网络示例 还是以图像处理为例&#xff0c;如果你的目标不仅是分析灰度图像特性&#xff0c;还打算捕捉RGB彩色图像的特征。如下图&#xff0c;当面对一张66像素的彩色图像时&#xff0c;提及的“3”实际上是指红、绿、蓝三种颜色通道&#xff0c;形象地说&am…

BUUCTF-Misc24

从娃娃抓起1 1.打开附件 是两个文本文件 2.电报码 电报码在线翻译网站&#xff1a;https://usetoolbar.com/convert/cccn.html 3.汉字五笔编码 汉字五笔编码在线网站查询&#xff1a;https://www.qqxiuzi.cn/bianma/wubi.php 4.转化为MD5值 将文字保存到文本文档 用winR输入…

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署

绘唐3模型怎么放本地sd安装及模型放置位置 及云端sd部署 资料里面授权方式&#xff1a; https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 云端和模型之间存在某种关联性。云端通常用于存储和管理大量数据&#xff0c;并提供计算和资源的服务。模型是对数据进…

Day04:CSS 进阶

目标&#xff1a;掌握复合选择器作用和写法&#xff1b;使用background属性添加背景效果 一、复合选择器 定义&#xff1a;由两个或多个基础选择器&#xff0c;通过不同的方式组合而成。 作用&#xff1a;更准确、更高效的选择目标元素&#xff08;标签&#xff09;。 1、后…