2016-09-21 11 views
2

나는 ARM 코어 텍스를위한 어셈블리 언어를 배우고에서 추가 나는 다음과 같은 문제가 있습니다오른쪽 시프트는 하나의 명령

쓰기 다음과 같은 계산을위한 어셈블리 명령어 한 줄 : 산술가 콘텐츠를 마우스 오른쪽 시프트 적용을 그런 다음 R1과 R2의 내용을 에 추가하고 결과를 R0에 저장하십시오.

ASR R0, R2, #9

그리고 추가 작업을 수행하는 간단하다 :

나는 산술 시프트 오른쪽으로 이해

ADD R0, R1, R2

하지만 난 하나에 이러한 결합하는 방법을 확실하지 오전 명령. 은 지금까지 나는 그들이 유사한 방법으로 한 줄에 두 개의 명령을 수행하는 것처럼 그 모습 본 예에서 다음과 같이 올라와있다 :

ASR R0, R2, #9, [ADD R1, R2]

나는이 아마 잘못 알고, 그래서 수 아무에게도이 일을 어떻게 설명해야합니까?

+1

이동 된 입력 피연산자와 함께 'add'를 사용하십시오. 다른 방법으로는 작동하지 않습니다. http://www.davespace.co.uk/arm/introduction-to-arm/barrel-shifter.html –

+1

@PeterCordes, 'ADD R0, R1, R2, ASR # 9'과 같은 것? –

+1

그건 제가 연결 한 페이지의 예제 중 하나와 거의 비슷합니다. 그렇습니다. 유효한 구문이라고 생각합니다. 어셈블리를 확인해야합니다. –

답변

0

지금 제대로 된 것 같습니다.

add rd, rn, rm, asr #n