📄 system.asm
字号:
//============================================================
// 文件名称: system.asm
// 功能描述: 端口操作函数
// 维护记录: 2005-10-14 v1.0
//============================================================
.INCLUDE SPCE061A.inc
.PUBLIC _SP_Export;
.PUBLIC _SP_Import;
.PUBLIC _SP_Init_IOB;
.PUBLIC _SP_Init_IOA;
.CODE
//////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////
_SP_Init_IOA: .PROC
PUSH BP,BP TO [SP];
BP = SP + 1;
PUSH R1,R1 TO [SP];
R1 = [BP+3]; // Port direction
[P_IOA_Dir] = R1;
R1 = [BP+4];
[P_IOA_Data] = R1;
R1 = [BP+5];
[P_IOA_Attrib] = R1;
POP R1,R1 FROM [SP];
POP BP,BP FROM [SP];
RETF;
.ENDP
//////////////////////////////////////////////////////////////////
// SP_Inti_IOB
//////////////////////////////////////////////////////////////////
_SP_Init_IOB: .PROC
PUSH BP,BP TO [SP];
BP = SP + 1;
PUSH R1,R1 TO [SP];
R1 = [BP+3]; // Port direction
[P_IOB_Dir] = R1;
R1 = [BP+4];
[P_IOB_Data] = R1;
R1 = [BP+5];
[P_IOB_Attrib] = R1;
POP R1,R1 FROM [SP];
POP BP,BP FROM [SP];
RETF;
.ENDP
_SP_Import: .PROC
PUSH BP,BP TO [SP];
BP = SP + 1;
PUSH R1,R2 TO [SP];
R1 = [BP+3]; // Port Number
R2 = [BP+4]; // Data Buffer Pointer
R1 = [R1] ;
[R2] = R1 ;
POP R1,R2 FROM [SP];
POP BP,BP FROM [SP];
RETF;
.ENDP
_SP_Export: .PROC
PUSH BP,BP TO [SP];
BP = SP + 1;
PUSH R1,R2 TO [SP];
R1 = [BP+3]; // Port Number
R2 = [BP+4]; // Value
[R1] = R2 ;
POP R1,R2 FROM [SP];
POP BP,BP FROM [SP];
RETF;
.ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -