📄 intr.asm
字号:
.section program;
#include "intr.def"
.extern _ivg_isr;
_init_interrupt_vector:
.global _init_interrupt_vector;
[--sp] = r0;
[--sp] = p0;
[--sp] = p1;
SAVE_LC0();
LDREG(p0, _ivg_isr);
p1 = (16 - 2);
loop INIT_VECTOR_LOOP lc0 = p1;
p0 += 8;
LDREG(p1, IVG2);
loop_begin INIT_VECTOR_LOOP;
r0 = [p0++];
[p1++] = r0;
loop_end INIT_VECTOR_LOOP;
POP_LC0();
p1 = [sp++];
p0 = [sp++];
r0 = [sp++];
rts;
_init_interrupt_vector.end:
_set_imask:
.global _set_imask;
[--sp] = p0;
[--sp] = r1;
LDREG(p0, imask);
r1 = [p0];
r0.h = 0;
r1 = r1 | r0;
[p0] = r1;
r1 = [sp++];
p0 = [sp++];
rts;
_set_imask.end:
_clear_imask:
.global _clear_imask;
[--sp] = p0;
[--sp] = r1;
LDREG(p0, imask);
r1 = [p0];
r0.h = 0;
r0 = ~r0;
r1 = r0 & r1;
[p0] = r1;
r1 = [sp++];
p0 = [sp++];
rts;
_clear_imask.end:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -