试题详情
- 简答题试比较TST与ANDS,CMP与SUBS,MOV与MVN指令的区别。
- (1)TST指令把两个操作数进行按位的与操作,并根据运算结果更新CPSR中的条件标志位的值。该指令通常用来检测是否设置了特定的位,一般操作数1是要测试的数据,而操作数2是一个位掩码。
ANDS指令用于在两个操作数上进行逻辑与运算,并把结果放到目的寄存器中,操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是1个立即数。该指令常用于设置操作数1的某些位。TST和ANDS两条指令都影响CPSR寄存器;TST指令不改变参与运算的数据,而ANDS指令对目的寄存器进行更新。
(2)CMP指令用于把2个操作数进行比较,同时更新CPSR中条件标志位的值。该指令进行一次减法运算,但不保存运算结果,只更改条件标志位。标志位表示的是操作数1和操作数2 的关系(大、小、相等)。SUBS 指令用于把操作数1送去操作数2,并将结果存放到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器、或是一个立即数。指令影响CPSR值。
C.MP和SUBS指令都影响CPSR寄存器;CMP指令不保存运算结果,而SUBS指令可以保存运算结果,并且减数和被减数的值也不发生变化。
(3)MOV指令将一个寄存器、被移位的寄存器或一个立即数的值装入目的寄存器内,可以指定相同的寄存器实现NOP的效果,还可以移位一个寄存器。
MVN指令与MOV指令的不同之处是在传送数据之前先按位取反,即把一个被取反的值传送到目的寄存器中。 关注下方微信公众号,在线模考后查看
热门试题
- 在进行系统设计时,概要设计和详细设计的工
- 存储一个32位数0x876165到200
- 已知R3=0x80001000,R4=0
- 实时操作系统的基本功能有哪些?
- 交叉开发环境包括交叉编译环境和()。
- 简单对比嵌入式实时操作系统中的抢占式调度
- 关于ARM处理器的工作模式,以下说法错误
- 实时系统操作的正确性取决于()
- 若OSTaskSuspend(prio)
- shell脚本文件的首行内容是指定she
- ARM微处理器为()
- 嵌入式微处理与微控制器(MCU)相比,具
- 下面是关于ARM嵌入式芯片中的中断控制器
- ARM嵌入式系统主要由(),相关支撑硬件
- 典型嵌入式软件部署方式可以分为()和网络
- 下面是关于嵌入式系统中使用的键盘的叙述,
- 将系统启动代码读入内存是()的主要职责
- 试简述通常情况下打开设备过程中open函
- ARM处理器共有多少个寄存器?在所有工作
- 用汇编语言编写程序,求1到50的累加和。