3.6.11. 바이너리 연산자

바이너리 연산자는 해당 하위 식 쌍 사이에서 작성됩니다.

바이너리 연산자의 우선순위는 단항 연산자보다 낮습니다. 바이너리 연산자는 이 섹션에 우선순위에 따라 나타납니다.

Note

이 우선순위는 C의 우선순위와 같지 않습니다 (armasm 및 C의 연산자 우선순위 참조).

곱하기 연산자

곱하기 연산자는 모든 바이너리 연산자 중 우선순위가 가장 높으며, 숫자 식에만 사용할 수 있습니다.

Table 3.8에서는 곱하기 연산자를 보여 줍니다.

Table 3.8. 곱하기 연산자

연산자별칭사용법설명

*

 

A*B

곱하기

/

 

A/B

나누기

:MOD:

%

A:MOD:B

A 모듈로 B


문자열 조작 연산자

Table 3.9에서는 문자열 조작 연산자를 보여 줍니다. CC,에서 AB는 둘 다 문자열이어야 합니다. 나누기 연산자에서 LEFTRIGHT의 조건은 다음과 같습니다.

  • A는 문자열이어야 합니다.

  • B는 숫자 식이어야 합니다.

Table 3.9. 문자열 조작 연산자

연산자

사용법

설명

:CC:

A:CC:B

B가 A의 끝에 연결됨

:LEFT:

A:LEFT:B

A의 가장 왼쪽 B 문자

:RIGHT:

A:RIGHT:B

A의 가장 오른쪽 B 문자


시프트 연산자

시프트 연산자는 첫 번째 피연산자를 두 번째 피연산자로 지정된 양만큼 시프트 또는 회전하는 방식으로 숫자 식에 사용됩니다.

Table 3.10에서는 시프트 연산자를 보여 줍니다.

Table 3.10. 시프트 연산자

연산자

별칭

사용법

설명

:ROL:

 

A:ROL:B

A를 B비트만큼 왼쪽으로 회전

:ROR:

 

A:ROR:B

A를 B비트만큼 오른쪽으로 회전

:SHL:

<<

A:SHL:B

A를 B비트만큼 왼쪽으로 시프트

:SHR:

>>

A:SHR:B

A를 B비트만큼 오른쪽으로 시프트


Note

SHR은 논리 시프트이며 부호 비트를 전파하지 않습니다.

더하기, 빼기 및 논리 연산자

더하기 및 빼기 연산자는 숫자 식에 적용됩니다.

논리 연산자는 숫자 식에 적용됩니다. 연산은 비트 단위 즉, 결과를 생성하는 각 피연산자 비트별로 개별적으로 수행됩니다.

Table 3.11에서는 더하기, 빼기 및 논리 연산자를 보여 줍니다.

Table 3.11. 더하기, 빼기 및 논리 연산자

연산자

별칭

사용법

설명

+

 

A+B

A와 B를 더함

-

 

A-B

A에서 B를 뺌

:AND:

&

A:AND:B

A와 B의 비트 단위 AND

:EOR:

^

A:EOR:B

A와 B의 비트 단위 배타적 OR

:OR:

|

A:OR:B

A와 B의 비트 단위 OR


관계 연산자

Table 3.12에서는 관계 연산자를 보여 줍니다. 이 연산자는 논리 값을 생성하는 동일한 타입의 두 피연산자에 사용됩니다.

피연산자는 다음 중 하나일 수 있습니다.

  • 숫자

  • 프로그램 기준

  • 레지스터 기준

  • 문자열

문자열은 ASCII 순서를 사용하여 정렬됩니다. 문자열 A가 문자열 B의 선행 하위 문자열이거나 문자열 A의 가장 왼쪽에 있는 문자가 문자열 B의 가장 왼쪽에 있는 문자보다 작으면 문자열 A가 문자열 B보다 작습니다.

산술 값은 부호가 없으므로 0>-1 값은 {FALSE}입니다.

Table 3.12. 관계 연산자

연산자

별칭

사용법

설명

=

==

A=B

A와 B가 같음

>

 

A>B

A가 B보다 큼

>=

 

A>=B

A가 B보다 크거나 같음

<

 

A<B

A가 B보다 작음

<=

 

A<=B

A가 B보다 작거나 같음

/=

<> !=

A/=B

A와 B가 같지 않음


부울 연산자

이 연산자는 우선순위가 가장 낮은 연산자이며 피연산자에 대해 표준 논리 연산을 수행합니다.

세 가지 경우 모두에서 A와 B는 둘 다 {TRUE} 또는 {FALSE}로 평가되는 식이어야 합니다.

Table 3.13에서는 부울 연산자를 보여 줍니다.

Table 3.13. 부울 연산자

연산자

별칭

사용법

설명

:LAND:

&&

A:LAND:B

A와 B의 논리 AND

:LEOR:

A:LEOR:B

A와 B의 논리 배타적 OR

:LOR:

||

A:LOR:B

A와 B의 논리 OR


Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential