已知某二进制数(<20)存在内RAM 50H单元中,阅读下列程序,说明其功能。
MOV R0,#50H ;R0=50H
MOV A,@R0 ;A=(50H)
RL A ;[A=(50H)]×2
MOV R1,A ;R1=[A=(50H)]×2
RL A ;[A=(50H)]×2×2
RL A ;[A=(50H)]×2×2×2
ADD A,R1 ;A=10×(50H)
MOV @R0,A ;(50H)←(50H)×10
下面程序是在______中存放一个压缩的BCD码,将它拆成二个BCD字节,结果存于______开始的单元中(低位在前)
MOV R0,#SUM
MOV A,R2
ANL A,#0FH
MOV @R0,A
MOV A,R2
ANL A,#0F0H
SWAP A
INC R0
MOV @R0,A
RET
下面程序段实现双字节加法运算(R1)(R0)+(R7)(R6)送入(31H)(30H)。
MOV A,R0
ADD A,R6
MOV 30H,A
MOV A,R1
ADD A,R7
MOV 31H,A
SJMP $
错误:______
改正:______
参考答案:错误
依次执行下列哪一个选项中的两条指令后,可以使得存放在EDX和EAX中的64位数据乘以2?(EDX中存放高32位,EAX中存放低32位)______。
A) SHL EDX,1
SHL EAX,1
B) RCL EDX,1
SHL EAX,1
C) SHL EAX,1
RCL EDX,1
D) SHL EAX,1
SHL EDX,1
1. 在指令编码中,条件码占几位,最多有多少个条件,各个条件是如何形成的? 2. 在ARM指令中,什么是合法的立即数?判断下面各立即数是否合法,如果合法则写出在指令中的编码格式(也就是8位常数和4位移位数) 0x5430 0x108 0x304 0x501 0xfb10000 0x334000 0x3FC000 0x1FE0000 3. 块拷贝Load/Store指令在实现寄存器组合连续的内存单元中数据传递时,地址的变化方式有哪几种类型,并分析它们的地址变化情况。 4. 栈操作指令地址的变化方式有哪几种类型,并分析它们的地址变化情况,从而得出栈操作指令寻址和块拷贝Load/Store指令之间的对应关系。 5. 分析指令操作功能。 MOV R0,R1 MOV R1,,0X198 ADDEQS R1,R2,,0xAB CMP R2,#0Xab LDR R0,[R1,#4] STR R0,[R1,R1,LSL #2]! LDRH R0,[R1,#4] LDRSB R0,[R2,#-2]! STRB R1,[R2,#0Xa0] LDMIA R0,{R1,R2,R8} STMDB R0!,{R1-R5,R10,R11} STMED SP!{R0-R3,LR} 6. 如何实现两个64位数的加法操作,如何实现两个64位数的减法操作,如何求一个64位数的负数? 7. 分析下列每条语句的功能,并确定程序段所实现的操作。 CMP R0,,0 MOVEQ R1,,0 MOVGT R1,,1 8. 请使用多种方法实现将字数据0xFFFFFFFF送入寄存器R0 9. 写一条ARM指令,分别完成下列操作: (1)R0=16 (2)R0=R1/16 (3)R1=R2*3 (4)R0=-R0 10. 编写一个ARM汇编程序,累加一个队列中的所有元素,碰到0时停止。结果放入R4。
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!