어셈블리 팔 :TST 및 ARM 어셈블리에서의 연산 LSBit 만 고려되는 이유는 무엇입니까? 참조에서
을 숫자가 짝수 또는 홀수 인 경우 내가 볼 수있는 테스트 코드의 다음 줄에 TST 작업에 관한 약간의 혼동이 있습니다
mov R0, #167
TST R0, #1 //AND operation
addeq ... //add if even
addne ... //add if not even
내 질문은 왜 번호가 짝수인지 아닌지를 결정하기 위해 최하위 비트 (LSB)만을 고려하고 비트 # 167 (LSB의 0111을 가짐)의 나머지 비트를 고려하지 않는 TSt 연산
TST 167,1 AND 167과 1은 LSB (0111과 0001)이고, LSB가 AND 1이면 ANDing하지 않을 것입니다 2 번째 LSB는 TST 연산이 0을 출력하도록합니까?
AND 연산 만 (하나) "1"의 다른 모든 비트들이 제로이기 때문에 LSB R0의 시험! - R0의 비 개의 LSB가 결과에 영향을 _cannot_ – barny
'0x000000a7 및 0x00000001 == 0x00000001 (= 0)'- 그게 전부입니다. 나는 여기에있는 질문의 전제를 이해하지 못한다 :/ – Notlikethat
"왜 LSBit 만 고려하나요?": 그것은 패리티 비트이기 때문입니다. –