📄 i2cmu.asm
字号:
;***************************************************************
;* TMS320C2000 ANSI C Codegen Version 3.01 *
;* Date/Time created: Wed Jan 30 17:43:27 2002 *
;***************************************************************
FP .set XAR2
.file "i2cmu.c"
; ac2000 -qq --version=28 --keep_unneeded_types -m --i_output_file C:\TEMP\TI257_2 --template_info_file C:\TEMP\TI257_3 --object_file ..\obj\i2cmu.obj --opt_shell 14 i2cmu.c -v28 -gs -k -al -as -ax -qq -fr ..\obj -fs ..\lst -ff ..\lst i2cmu.c
.sect ".text"
.global _vi2cmFree
.sym _vi2cmFree,_vi2cmFree, 46, 2, 0
.func 15
;----------------------------------------------------------------------
; 15 | unsigned int vi2cmFree(VI2CM_IO *i2c)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _vi2cmFree FR SIZE: 1 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_vi2cmFree:
.line 2
;* AR4 assigned to _i2c
.sym _i2c,10, 24, 17, 16, $$fake0
.sym _i2c,-1, 24, 1, 16, $$fake0
ADDB SP,#1
MOV *-SP[1],AR4 ; |16|
.line 3
;----------------------------------------------------------------------
; 17 | if(i2c->taskIndex == IDLE_STATE)
;----------------------------------------------------------------------
MOVZ AR6,*-SP[1] ; |17|
MOV AL,*+XAR6[0] ; |17|
BF L1,NEQ ; |17|
; branch occurs ; |17|
.line 4
;----------------------------------------------------------------------
; 18 | return(1);
; 19 | else
;----------------------------------------------------------------------
MOVB AL,#1 ; |18|
B L2,UNC ; |18|
; branch occurs ; |18|
L1:
.line 6
;----------------------------------------------------------------------
; 20 | return(0);
;----------------------------------------------------------------------
MOVB AL,#0
L2:
.line 7
SUBB SP,#1 ; |20|
LRETR
; return occurs
.endfunc 21,000000000h,1
.sect ".text"
.global _vi2cmCmd
.sym _vi2cmCmd,_vi2cmCmd, 32, 2, 0
.func 23
;----------------------------------------------------------------------
; 23 | void vi2cmCmd(VI2CM_IO *i2c, I2C_COMMAND cmd)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _vi2cmCmd FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 2 Auto, 0 SOE *
;***************************************************************
_vi2cmCmd:
.line 2
;* AR4 assigned to _i2c
.sym _i2c,10, 24, 17, 16, $$fake0
;* AL assigned to _cmd
.sym _cmd,0, 10, 17, 16, $$fake1
.sym _i2c,-1, 24, 1, 16, $$fake0
.sym _cmd,-2, 10, 1, 16, $$fake1
ADDB SP,#2
MOV *-SP[1],AR4 ; |24|
MOV *-SP[2],AL ; |24|
.line 3
;----------------------------------------------------------------------
; 25 | i2c->taskIndex=(0xff&cmd);
;----------------------------------------------------------------------
MOVZ AR6,*-SP[1] ; |25|
ANDB AL,#0xff ; |25|
MOV *+XAR6[0],AL ; |25|
.line 5
;----------------------------------------------------------------------
; 27 | if( cmd & 0xff00 )
;----------------------------------------------------------------------
AND AL,*-SP[2],#0xff00 ; |27|
BF L3,EQ ; |27|
; branch occurs ; |27|
.line 6
;----------------------------------------------------------------------
; 28 | i2c->I2CCSR |=I2C_ACKDT; /* Issue ACK HI */
; 29 | else
;----------------------------------------------------------------------
MOVZ AR6,*-SP[1] ; |28|
OR *+XAR6[1],#0x0002 ; |28|
B L4,UNC ; |28|
; branch occurs ; |28|
L3:
.line 8
;----------------------------------------------------------------------
; 30 | i2c->I2CCSR &= (~I2C_ACKDT); /* Issue ACK LO */
;----------------------------------------------------------------------
MOVZ AR6,*-SP[1] ; |30|
AND *+XAR6[1],#0xfffd ; |30|
L4:
.line 9
SUBB SP,#2
LRETR
; return occurs
.endfunc 31,000000000h,2
.sect ".text"
.global _vi2cmReadAck
.sym _vi2cmReadAck,_vi2cmReadAck, 46, 2, 0
.func 34
;----------------------------------------------------------------------
; 34 | unsigned int vi2cmReadAck(VI2CM_IO *i2c)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _vi2cmReadAck FR SIZE: 1 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_vi2cmReadAck:
.line 2
;* AR4 assigned to _i2c
.sym _i2c,10, 24, 17, 16, $$fake0
.sym _i2c,-1, 24, 1, 16, $$fake0
ADDB SP,#1
MOV *-SP[1],AR4 ; |35|
.line 3
;----------------------------------------------------------------------
; 36 | return( i2c->I2CCSR & I2C_ACKSTAT );
;----------------------------------------------------------------------
MOVZ AR6,*-SP[1] ; |36|
AND AL,*+XAR6[1],#0x0001 ; |36|
.line 4
SUBB SP,#1 ; |36|
LRETR
; return occurs
.endfunc 37,000000000h,1
;***************************************************************
;* TYPE INFORMATION *
;***************************************************************
.stag $$fake0, 128
.member _taskIndex, 0, 14, 8, 16
.member _I2CCSR, 16, 14, 8, 16
.member _I2CDAT, 32, 14, 8, 16
.member _bitCntr, 48, 14, 8, 16
.member _init, 64, 144, 8, 22
.member _tick, 96, 144, 8, 22
.eos
.sym _VI2CM_IO, 0, 8, 13, 128,$$fake0
.etag $$fake1, 16
.member _I2C_ISSUE_START, 2, 4, 16, 16
.member _I2C_ISSUE_RPTSTART, 16, 4, 16, 16
.member _I2C_ISSUE_STOP, 10, 4, 16, 16
.member _I2C_ISSUE_ACKHI, 534, 4, 16, 16
.member _I2C_ISSUE_ACKLO, 22, 4, 16, 16
.member _I2C_TXMIT_ENABLE, 34, 4, 16, 16
.member _I2C_RECV_ENABLE, 28, 4, 16, 16
.eos
.sym _I2C_COMMAND, 0, 10, 13, 16,$$fake1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -