下列ARM指令中,可以实现从子过程返回的是()。
A.RETURN
B.MOVPC,R14
C.ADDSR0,R1,R2
D.LDRPC,MAIN
A.RETURN
B.MOVPC,R14
C.ADDSR0,R1,R2
D.LDRPC,MAIN
关于ARM嵌入式处理器的工作状态,以下说法错误的是()。
A.ARM状态是32位指令的状态,指令代码全部是4个字节长度
B.Thumb状态为16位指令状态,指令长度为16位
C.Thumb-2状态兼容16位指令和32位指令编码
D.ARM状态和Thumb状态可以相互切换,复位时自动进入Thumb状态
A.Ⅰ,Ⅱ和Ⅲ
B.Ⅰ和Ⅲ
C.Ⅱ,Ⅳ和Ⅴ
D.全部
下列关于子程序描述中正确的是()。
A.子程序只能被调用程序调用一次
B.子程序返回指令RET可以用一条退栈指令POP代替
C.子程序调用执行CALL执行后只需保护断点的偏移地址
D.子程序完成确定功能的程序段,可被其他程序调用,完成确切功能后,可自动返回到调用程序
A.ORRMIR1,R2,R3
B.ORREQ R1,R2,R3
C.ORRLT R1,R2,R3
D.ORRNE R1,R2,R3
阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
【流程图说明】
下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
【算法说明】
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
【算法】
void sort(int Array[],int L,int H){
if (L<H) {
k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
sort((4));/*小于基准数的元素排序*/
sort((5));/*大于基准数的元素排序*/
}
}
(27)有下列两个过程: Sub S1(ByVal x As Integer,ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Sub S2(x As Integer,y As Integer) Dim t As Integer t=x x=y y=t End Sub 则下列叙述中正确的是 A.用过程S1可以实现交换两个变量的值的操作,S2不能实现B.用过程S2可以实现交换两个变量的值的操作,S1不能实现 C.用过程S1和S2可以实现交换两个变量的值的操作 D.用过程S1和S2不能实现交换两个变量的值的操作
A.Sub Proc1(n,m)
B.Sub Proc1(ByVal n,m)
C.Sub Proc1(n,ByVal m)
D.Sub Proc1(ByVal n,ByVal m)