도와주세요!!
글 수 15,339
2002.03.25 17:14:29 (*.254.160.217)
11998
void cli(void)
{
asm volatile("stmfd sp!, {r0}");
asm volatile("mrs r0, cpsr");
asm volatile("orr r0, r0, #0x80");
asm volatile("msr cpsr, r0");
asm volatile("ldmfd sp!, {r0}");
}
void sti(void)
{
asm volatile("stmfd sp!, {r0}");
asm volatile("mrs r0, cpsr");
asm volatile("bic r0, r0, #0x80");
asm volatile("msr cpsr, r0");
asm volatile("ldmfd sp!, {r0}");
}
이지보드 소스는 아니지만 개인적으로 궁금해서
질문합니다.cli()가 인터럽트를 disable시키는 걸로
알고만 있는데 두 함수에 대해서 자세히 설명 부탁드려도
될까요???
{
asm volatile("stmfd sp!, {r0}");
asm volatile("mrs r0, cpsr");
asm volatile("orr r0, r0, #0x80");
asm volatile("msr cpsr, r0");
asm volatile("ldmfd sp!, {r0}");
}
void sti(void)
{
asm volatile("stmfd sp!, {r0}");
asm volatile("mrs r0, cpsr");
asm volatile("bic r0, r0, #0x80");
asm volatile("msr cpsr, r0");
asm volatile("ldmfd sp!, {r0}");
}
이지보드 소스는 아니지만 개인적으로 궁금해서
질문합니다.cli()가 인터럽트를 disable시키는 걸로
알고만 있는데 두 함수에 대해서 자세히 설명 부탁드려도
될까요???