두 코드가 같은 의미입니까?어셈블러에서 C로 변환 INCF 및 CPFSLT
Assambler은 -
_asm
INCF PR4,0,ACCESS
CPFSLT TMR4,ACCESS
_endasm
은 C> ->
++PR4;
if (PR4 < TMR4)
PIR3bits.TMR4IF = 1;
하지 않으면 어떻게 assambler 코드를 번역해야 하는가?
종류는
두 코드가 같은 의미입니까?어셈블러에서 C로 변환 INCF 및 CPFSLT
Assambler은 -
_asm
INCF PR4,0,ACCESS
CPFSLT TMR4,ACCESS
_endasm
은 C> ->
++PR4;
if (PR4 < TMR4)
PIR3bits.TMR4IF = 1;
하지 않으면 어떻게 assambler 코드를 번역해야 하는가?
종류는
다른 사람이이를 확인할 수 있습니까? 아래의 코드는 정확하다고 생각합니다.
_asm
INCF PR4,0,ACCESS //PR4+1 destination WREG, Access bank
CPFSLT TMR4,ACCESS //Compare TMR4 with contents of WREG in Access bank, Skip if TMR4 < WREG
_endasm
/* Above says: if (TMR4 <= PR4 + 1)*/
PIR3bits.TMR4IF = 1; // Then do this line
첫 번째 대답은 '아니오 : 간주하지만, 필자는 그것을 확신 변환하는 방법!
INCF PR4,0, ACCESS // (INCF의 F, D) (증분 F) (F + 1 -> D) "단위 PR4 등록"환언 ACCESS에서 작업 레지스터 (어큐뮬레이터) " 얻기 가
WREG = PR +1;
가
CPFSLT TMR4, ACCESS // (CPFSLT의 F) (만약 < W f를 건너 FW)을 (만약 <w f를 건너 승/F)와 비교 WREG
에 PR +1 비교 TMR4 < WREG=> TMR4 인 경우 건너 뛰기 < WREG => if TMR4> = WREG
은 부여해야 :
if (TMR4 >= WREG)
WREG = PR4 + 1;
음을 ... 맞죠?
어떤 CPU/아키텍처입니까? –
마이크로 칩의 PIC18F87J50 컴파일러 C18 – Christian