📄 gpio.asm
字号:
; call occurs [#_delay] ; |60|
;----------------------------------------------------------------------
; 63 | for(;;)
;----------------------------------------------------------------------
ADD #1, *SP(#0) ; |61|
MOV *SP(#0), AR1 ; |61|
BCC L1,AR1 <= #0 ; |61|
; branch occurs ; |61|
L2:
;----------------------------------------------------------------------
; 65 | GPIO_RSET(IODATA,0x1);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |65|
MOV #1, port(*AR3) ; |65|
;----------------------------------------------------------------------
; 66 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |66|
; call occurs [#_delay] ; |66|
;----------------------------------------------------------------------
; 67 | GPIO_RSET(IODATA,0x2);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |67|
MOV #2, port(*AR3) ; |67|
;----------------------------------------------------------------------
; 68 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |68|
; call occurs [#_delay] ; |68|
;----------------------------------------------------------------------
; 69 | GPIO_RSET(IODATA,0x4);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |69|
MOV #4, port(*AR3) ; |69|
;----------------------------------------------------------------------
; 70 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |70|
; call occurs [#_delay] ; |70|
;----------------------------------------------------------------------
; 71 | GPIO_RSET(IODATA,0x8);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |71|
MOV #8, port(*AR3) ; |71|
;----------------------------------------------------------------------
; 72 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |72|
; call occurs [#_delay] ; |72|
;----------------------------------------------------------------------
; 73 | GPIO_RSET(IODATA,0x10);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |73|
MOV #16, port(*AR3) ; |73|
;----------------------------------------------------------------------
; 74 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |74|
; call occurs [#_delay] ; |74|
;----------------------------------------------------------------------
; 75 | GPIO_RSET(IODATA,0x40);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |75|
MOV #64, port(*AR3) ; |75|
;----------------------------------------------------------------------
; 76 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |76|
; call occurs [#_delay] ; |76|
;----------------------------------------------------------------------
; 77 | GPIO_RSET(IODATA,0x80);
;----------------------------------------------------------------------
MOV #13313, AR3 ; |77|
MOV #128, port(*AR3) ; |77|
;----------------------------------------------------------------------
; 78 | delay();
;----------------------------------------------------------------------
CALL #_delay ; |78|
; call occurs [#_delay] ; |78|
B L2 ; |79|
; branch occurs ; |79|
.sect ".text"
.align 4
.global _delay
;----------------------------------------------------------------------
; 81 | void delay()
;----------------------------------------------------------------------
;*******************************************************************************
;* FUNCTION NAME: _delay *
;* *
;* Function Uses Regs : AC0,AC0,AC1,AC1,SP,CARRY,TC1,M40,SATA,SATD,RDM,FRCT, *
;* SMUL *
;* Stack Frame : Compact (No Frame Pointer) *
;* Total Frame Size : 6 words *
;* (2 return address/alignment) *
;* (4 local values) *
;*******************************************************************************
_delay:
AADD #-5, SP
;----------------------------------------------------------------------
; 83 | Uint32 j = 0,k = 0;
;----------------------------------------------------------------------
MOV #0, AC0 ; |83|
MOV AC0, dbl(*SP(#0)) ; |83|
MOV AC0, dbl(*SP(#2)) ; |83|
;----------------------------------------------------------------------
; 84 | for(j = 0;j<0X1F;j++)
;----------------------------------------------------------------------
MOV AC0, dbl(*SP(#0)) ; |84|
MOV dbl(*SP(#0)), AC1 ; |84|
MOV #31, AC0 ; |84|
CMPU AC1 >= AC0, TC1 ; |84|
BCC L6,TC1 ; |84|
; branch occurs ; |84|
L3:
;----------------------------------------------------------------------
; 86 | for(k= 0;k<0XFFFF;k++)
;----------------------------------------------------------------------
MOV #0, AC0 ; |86|
MOV AC0, dbl(*SP(#2)) ; |86|
MOV #0, AC0 ; |86|
|| MOV dbl(*SP(#2)), AC1 ; |86|
OR #0xffff, AC0, AC0 ; |86|
CMPU AC1 >= AC0, TC1 ; |86|
BCC L5,TC1 ; |86|
; branch occurs ; |86|
L4:
MOV dbl(*SP(#2)), AC0 ; |87|
ADD #1, AC0 ; |87|
MOV AC0, dbl(*SP(#2)) ; |87|
MOV #0, AC0 ; |87|
|| MOV dbl(*SP(#2)), AC1 ; |87|
OR #0xffff, AC0, AC0 ; |87|
CMPU AC1 < AC0, TC1 ; |87|
BCC L4,TC1 ; |87|
; branch occurs ; |87|
L5:
MOV dbl(*SP(#0)), AC0 ; |88|
MOV #31, AC1 ; |88|
ADD #1, AC0 ; |88|
MOV AC0, dbl(*SP(#0)) ; |88|
MOV dbl(*SP(#0)), AC0 ; |88|
CMPU AC0 < AC1, TC1 ; |88|
BCC L3,TC1 ; |88|
; branch occurs ; |88|
L6:
AADD #5, SP
RET
; return occurs
;*******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;*******************************************************************************
.global _CSL5509_LIB_
.global __CSL_init
.global _PLL_config
;*******************************************************************************
;* TYPE INFORMATION *
;*******************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -