📄 i2c_master.s43
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// IAR MSP430 C/C++ Compiler V3.30A/W32 04/Jun/2005 12:04:35 /
// Copyright 1996-2005 IAR Systems. All rights reserved. /
// /
// __rt_version = 2 /
// __double_size = 32 /
// __reg_r4 = free /
// __reg_r5 = free /
// __pic = no /
// __core = 64kb /
// Source file = C:\Work\Assignments\DaVinci_EVM\Workspace\c\i2c_maste /
// r.c /
// Command line = -lcN C:\Work\Assignments\DaVinci_EVM\Workspace\Debug\ /
// List\ -la C:\Work\Assignments\DaVinci_EVM\Workspace\D /
// ebug\List\ -o C:\Work\Assignments\DaVinci_EVM\Workspa /
// ce\Debug\Obj\ -z2 --no_cse --no_unroll --no_inline /
// --no_code_motion --no_tbaa --debug -e --double=32 -I /
// C:\Work\Assignments\DaVinci_EVM\Workspace\INC\ -I /
// "C:\Program Files\IAR Systems\V330A_Full\430\INC\" /
// -I "C:\Program Files\IAR Systems\V330A_Full\430\INC\C /
// LIB\" C:\Work\Assignments\DaVinci_EVM\Workspace\c\i2c /
// _master.c /
// List file = C:\Work\Assignments\DaVinci_EVM\Workspace\Debug\List\ /
// i2c_master.s43 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME i2c_master
RTMODEL "__core", "64kb"
RTMODEL "__double_size", "32"
RTMODEL "__pic", "no"
RTMODEL "__reg_r4", "free"
RTMODEL "__reg_r5", "free"
RTMODEL "__rt_version", "2"
RSEG CSTACK:DATA:SORT:NOROOT(1)
EXTERN ?cstart_call_low_level_init
EXTERN ?SwitchKey16
EXTERN ?ShiftRight16u_4
EXTERN ?SwitchKey8
EXTERN ?cstart_init_zero
EXTERN ?longjmp_r4
EXTERN ?longjmp_r5
EXTERN ?setjmp_r4
EXTERN ?setjmp_r5
PUBWEAK `??INTVEC 16`
PUBWEAK `??INTVEC 2`
PUBWEAK `??INTVEC 20`
PUBWEAK `??INTVEC 6`
PUBWEAK `??INTVEC 8`
PUBWEAK ?setjmp_save_r4
PUBWEAK ?setjmp_save_r5
PUBWEAK BCSCTL1
PUBWEAK DCOCTL
PUBLIC Event
PUBWEAK I2CIE
PUBWEAK I2CIFG
PUBWEAK I2CIV
PUBWEAK I2CNDAT
PUBWEAK I2COA
PUBWEAK I2CSA
PUBLIC I2C_IV
FUNCTION I2C_IV,0233H
LOCFRAME CSTACK, 8, STACK
PUBWEAK IE1
PUBWEAK IE2
PUBWEAK IFG2
PUBWEAK ME2
PUBWEAK P1IE
PUBWEAK P1IES
PUBWEAK P1IFG
PUBWEAK P2IE
PUBWEAK P2IES
PUBWEAK P2IFG
PUBWEAK P2OUT
PUBWEAK P3SEL
PUBWEAK P4IN
PUBWEAK P5DIR
PUBWEAK P5SEL
PUBLIC RX_DATA
PUBWEAK TACCR2
PUBWEAK TACCTL2
PUBWEAK TACTL
PUBLIC TX_DATA
PUBWEAK U0BR0
PUBWEAK U0BR1
PUBWEAK U0CTL
PUBWEAK U0MCTL
PUBWEAK U0RCTL
PUBWEAK U0TCTL
PUBWEAK U1BR0
PUBWEAK U1BR1
PUBWEAK U1CTL
PUBWEAK U1MCTL
PUBWEAK U1RXBUF
PUBWEAK U1TCTL
PUBWEAK U1TXBUF
PUBWEAK WDTCTL
PUBWEAK _A_U0RXBUF
PUBLIC __low_level_init
FUNCTION __low_level_init,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC configI2C
FUNCTION configI2C,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC configUart1
FUNCTION configUart1,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC configWDT
FUNCTION configWDT,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC debounceCnt
PUBLIC getEvent
FUNCTION getEvent,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC getIRData
FUNCTION getIRData,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC getIRVal
FUNCTION getIRVal,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC getInputState
FUNCTION getInputState,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC getRTC
FUNCTION getRTC,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC iicSend
FUNCTION iicSend,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC main
FUNCTION main,021a03H
LOCFRAME CSTACK, 8, STACK
PUBLIC port1_ISR
FUNCTION port1_ISR,0233H
LOCFRAME CSTACK, 4, STACK
PUBLIC port2_ISR
FUNCTION port2_ISR,0233H
LOCFRAME CSTACK, 4, STACK
PUBLIC rxIdx
PUBLIC rxMsgLen
PUBLIC setDCO
FUNCTION setDCO,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC setRTC
FUNCTION setRTC,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC sw1Options
FUNCTION sw1Options,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC sw2Options
FUNCTION sw2Options,021203H
LOCFRAME CSTACK, 10, STACK
PUBLIC sysInit
FUNCTION sysInit,021203H
LOCFRAME CSTACK, 2, STACK
PUBLIC txByte
FUNCTION txByte,021203H
LOCFRAME CSTACK, 6, STACK
PUBLIC txIdx
PUBLIC txStr
FUNCTION txStr,0203H
LOCFRAME CSTACK, 2, STACK
PUBLIC txWord
FUNCTION txWord,021203H
LOCFRAME CSTACK, 4, STACK
PUBLIC usart1_Rx_ISR
FUNCTION usart1_Rx_ISR,0233H
LOCFRAME CSTACK, 6, STACK
PUBLIC wdt_ISR
FUNCTION wdt_ISR,0233H
LOCFRAME CSTACK, 8, STACK
CFI Names cfiNames0
CFI StackFrame CFA SP DATA
CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 2
CFI DataAlign 2
CFI ReturnAddress PC CODE
CFI CFA SP+2
CFI PC Frame(CFA, -2)
CFI SR Undefined
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 Undefined
CFI R13 Undefined
CFI R14 Undefined
CFI R15 Undefined
CFI EndCommon cfiCommon0
CFI Common cfiCommon1 Using cfiNames0
CFI CodeAlign 2
CFI DataAlign 2
CFI ReturnAddress PC CODE
CFI CFA SP+4
CFI PC Frame(CFA, -2)
CFI SR Frame(CFA, -4)
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 SameValue
CFI R13 SameValue
CFI R14 SameValue
CFI R15 SameValue
CFI EndCommon cfiCommon1
ASEGN DATA16_AN:DATA:NOROOT,00H
// unsigned char volatile __data16 IE1
IE1:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,01H
// unsigned char volatile __data16 IE2
IE2:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,03H
// unsigned char volatile __data16 IFG2
IFG2:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,05H
// unsigned char volatile __data16 ME2
ME2:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,0120H
// unsigned short volatile __data16 WDTCTL
WDTCTL:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,023H
// unsigned char volatile __data16 P1IFG
P1IFG:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,024H
// unsigned char volatile __data16 P1IES
P1IES:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,025H
// unsigned char volatile __data16 P1IE
P1IE:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,029H
// unsigned char volatile __data16 P2OUT
P2OUT:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,02bH
// unsigned char volatile __data16 P2IFG
P2IFG:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,02cH
// unsigned char volatile __data16 P2IES
P2IES:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,02dH
// unsigned char volatile __data16 P2IE
P2IE:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,01bH
// unsigned char volatile __data16 P3SEL
P3SEL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,01cH
// unsigned char const volatile __data16 P4IN
P4IN:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,032H
// unsigned char volatile __data16 P5DIR
P5DIR:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,033H
// unsigned char volatile __data16 P5SEL
P5SEL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,070H
// unsigned char volatile __data16 U0CTL
U0CTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,071H
// unsigned char volatile __data16 U0TCTL
U0TCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,072H
// unsigned char volatile __data16 U0RCTL
U0RCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,073H
// unsigned char volatile __data16 U0MCTL
U0MCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,074H
// unsigned char volatile __data16 U0BR0
U0BR0:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,075H
// unsigned char volatile __data16 U0BR1
U0BR1:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,078H
// unsigned char volatile __data16 U1CTL
U1CTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,079H
// unsigned char volatile __data16 U1TCTL
U1TCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,07bH
// unsigned char volatile __data16 U1MCTL
U1MCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,07cH
// unsigned char volatile __data16 U1BR0
U1BR0:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,07dH
// unsigned char volatile __data16 U1BR1
U1BR1:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,07eH
// unsigned char const volatile __data16 U1RXBUF
U1RXBUF:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,07fH
// unsigned char volatile __data16 U1TXBUF
U1TXBUF:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,050H
// unsigned char volatile __data16 I2CIE
I2CIE:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,051H
// unsigned char volatile __data16 I2CIFG
I2CIFG:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,052H
// unsigned char volatile __data16 I2CNDAT
I2CNDAT:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,0118H
// unsigned short volatile __data16 I2COA
I2COA:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,011aH
// unsigned short volatile __data16 I2CSA
I2CSA:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,011cH
// unsigned short const volatile __data16 I2CIV
I2CIV:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,0160H
// unsigned short volatile __data16 TACTL
TACTL:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,0166H
// unsigned short volatile __data16 TACCTL2
TACCTL2:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,0176H
// unsigned short volatile __data16 TACCR2
TACCR2:
DS8 2
ASEGN DATA16_AN:DATA:NOROOT,056H
// unsigned char volatile __data16 DCOCTL
DCOCTL:
DS8 1
ASEGN DATA16_AN:DATA:NOROOT,057H
// unsigned char volatile __data16 BCSCTL1
BCSCTL1:
DS8 1
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
rxMsgLen:
DS8 1
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
debounceCnt:
DS8 3
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
Event:
DS8 1
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
rxIdx:
DS8 1
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
RX_DATA:
DS8 32
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
txIdx:
DS8 1
RSEG DATA16_Z:DATA:SORT:NOROOT(0)
REQUIRE ?cstart_init_zero
TX_DATA:
DS8 32
RSEG CODE:CODE:REORDER:ROOT(1)
__low_level_init:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function __low_level_init
REQUIRE ?cstart_call_low_level_init
MOV.W #0x5a80, &0x120
MOV.W #0x1, R12
RET
CFI EndBlock cfiBlock0
RSEG CODE:CODE:REORDER:NOROOT(1)
setDCO:
CFI Block cfiBlock1 Using cfiCommon0
CFI Function setDCO
MOV.W #0x0, R14
BIS.B #0x30, &0x57
MOV.W #0x5100, &0x166
MOV.W #0x224, &0x160
??setDCO_0:
BIT.W #0x1, &0x166
JNC ??setDCO_0
BIC.W #0x1, &0x166
MOV.W &0x176, R15
SUB.W R14, R15
MOV.W &0x176, R14
CMP.W #0xf4, R15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -