ADS1.2 中 汇编的几个不懂的地方, 初学求帮助(ARM)
X EQU 11
Y EQU 8
BIT23 EQU (1<<23)
AREA Example3,CODE,READONLY
ENTRY
CODE32
START ;USE "DIV" AND "MOV" INSTRUCTION TO ACHIEVE : R8 = R3 = X + Y
MOV R0,#X
MOV R1,#Y
ADD R3,R0,R1
MOV R8,R3
;USE "MVN" AND "SUB" INSTRUCTION TO ACHIEVE : R5 = 0x5FFFFFF8 - R8 * 8
MVN R0,#0xA0000007
SUB R5,R0,R8,LSL #3
;USE "CMP" INSTRUCTION TO ACHIEVE (5 * Y/2)>(2 * X) ? (R5 &= 0xFFFF0000) : (R5 |= Ox000000FF)
MOV R0,#Y
ADD R0,R0,R0,LSL #2
MOV R0,R0,LSR #1
MOV R1,#X
MOV R1,R1,LSL #1
CMP R0,R1
LDRHI R2,=0xFFFF0000
ANDHI R5,R5,R2
ORRLS R5,R5,#0x000000FF
;USE "TST" INSTRUCTION TO TEST R5'S BIT23 IS "1" OR NOT, YES, SET R5'S BIT6 AS "0"
TST R5,#BIT23
BICNE R5,R5,#0x00000040
B STRRT
END
1. 以下内容的意思是什么
AREA Example3,CODE,READONLY
ENTRY
CODE32
2. LDRHI, ANDHI, ORRLS 不太懂 为什么不是 LDR, AND OR?
3. B START 是什么意思?
以上三个问题, 拜托了。