2012-11-06 7 views
0

나는 조립이 간단한 코드가 있습니다숙제는

1000 Add  R3,R2,#20 
1004 Susbtract R5,R4,#3 
1008 And  R6,R3,#0x3A 
1012 Add  R7,R2,R4 

내 질문은 무엇이다 "그리고"... 나는 그것에 대해 정말 혼란 스러워요 수행, 나는 나의 숙제를하고, 그리고 난 ' 붙어있어.

정말 고마워요.

+2

http://en.wikipedia.org/wiki/Bitwise_operation – Mysticial

답변

0

0x3A = 00111010b (8 비트 시스템) 64 비트 머신처럼 보이므로 56 개의 앞에 0을 추가하십시오.

오른쪽에서 시작하여 [0부터 시작] (1, 3, 4, 5 및 6)을 제외하고 R3의 모든 비트를 마스크합니다. R3는 0x5848 후, (0x5848 (및) 0x3A) =의 경우 0x08이

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1000 0100 1000 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1010 (AND) 
-------------------------------------------------------------------------------------- 
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1000 
-------------------------------------------------------------------------------------- 

진실 테이블 (R6 레지스터에 저장한다)을 포함하는 경우 모든 다른 비트는 무효화하고 예를 들어 R6

에 저장 될 AND 연산 =

A B A(and)B 
----------------- 
0 | 0 | 0 
0 | 1 | 0 
1 | 0 | 0 
1 | 1 | 1 
----------------- 
4

그것은 두 개의 소스 피연산자 사이의 비트 and을 수행하고, 대상 피연산자의 결과를 둔다. 결과를 자세히 시각화하려면 각 숫자를 2 진수로 변환 한 다음 and을 수행하십시오. 예를 들어, R0 = 0x1234 및 R1 = 0x8765, 그러면 :

R0 = 0x1234 = 0001 0010 0011 0100 
R1 = 0x8765 = 1000 0111 0110 0101 

Result  = 0000 0010 0010 0100 
Hex result = 0x0224 

즉, 그 결과 각 비트는 1 경우 모두 입력 피연산자의 해당 위치 비트를 1의 경우에만.