📄 avrgsm_com.s90
字号:
//////////////////////////////////////////////////////////////////////////////
// /
// 22/Sep/2005 00:56:53 /
// IAR Atmel AVR C/C++ Compiler V4.10A/W32, Evaluation Version /
// Copyright 1996-2005 IAR Systems. All rights reserved. /
// /
// Source file = C:\Documents and Settings\vemund\Desktop\AVRGSM\Files\ /
// AVRGSM_com.c /
// Command line = --cpu=m128 -ms -o "C:\Documents and /
// Settings\vemund\Desktop\AVRGSM\Debug\Obj\" -lCN /
// "C:\Documents and Settings\vemund\Desktop\AVRGSM\Debug /
// \List\" -lA "C:\Documents and /
// Settings\vemund\Desktop\AVRGSM\Debug\List\" -y /
// --initializers_in_flash -z3 --no_cse --no_inline /
// --no_code_motion --no_cross_call --no_clustering /
// --no_tbaa --debug -DENABLE_BIT_DEFINITIONS -e -I /
// D:\Programs\iar\avr\INC\ -I /
// D:\Programs\iar\avr\INC\CLIB\ --eeprom_size 4096 /
// "C:\Documents and Settings\vemund\Desktop\AVRGSM\Files /
// \AVRGSM_com.c" /
// List file = C:\Documents and Settings\vemund\Desktop\AVRGSM\Debug\ /
// List\AVRGSM_com.s90 /
// /
// /
//////////////////////////////////////////////////////////////////////////////
NAME AVRGSM_com
RTMODEL "__64bit_doubles", "disabled"
RTMODEL "__cpu", "3"
RTMODEL "__cpu_name", "ATmega128"
RTMODEL "__enhanced_core", "enabled"
RTMODEL "__has_elpm", "true"
RTMODEL "__memory_model", "2"
RTMODEL "__no_rampd", "enabled"
RTMODEL "__rt_version", "3"
RSEG CSTACK:DATA:NOROOT(0)
RSEG RSTACK:DATA:NOROOT(0)
PUBWEAK `??INTVEC 52`
PUBLIC COM_Init
FUNCTION COM_Init,0203H
LOCFRAME RSTACK, 2, STACK
PUBLIC USART0_RX_interrupt
FUNCTION USART0_RX_interrupt,0233H
LOCFRAME CSTACK, 3, STACK
LOCFRAME RSTACK, 2, STACK
PUBWEAK _A_UBRR0H
PUBWEAK _A_UBRR0L
PUBWEAK _A_UCSR0B
PUBWEAK _A_UCSR0C
PUBWEAK __?EEARH
PUBWEAK __?EEARL
PUBWEAK __?EECR
PUBWEAK __?EEDR
CFI Names cfiNames0
CFI StackFrame CFA_Y Y DATA
CFI StackFrame CFA_SP SP DATA
CFI VirtualResource ?RetPad:1, ?RetHigh:8, ?RetLow:8, ?Ret:17
CFI Resource R0:8, R1:8, R2:8, R3:8, R4:8, R5:8, R6:8, R7:8, R8:8, R9:8
CFI Resource R10:8, R11:8, R12:8, R13:8, R14:8, R15:8, R16:8, R17:8
CFI Resource R18:8, R19:8, R20:8, R21:8, R22:8, R23:8, R24:8, R25:8
CFI Resource R26:8, R27:8, R28:8, R29:8, R30:8, R31:8
CFI Resource ?RetHighByteMask:8, SP:16, SPH:8, SPL:8, Y:16
CFI ResourceParts ?Ret ?RetHigh, ?RetLow, ?RetPad
CFI ResourceParts SP SPH, SPL
CFI ResourceParts Y R29, R28
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign 1
CFI ReturnAddress ?Ret CODE
CFI CFA_Y Y+0
CFI CFA_SP SP+2
CFI ?RetPad 0
CFI ?RetHigh and(load(1, DATA, sub(CFA_SP, 1)), ?RetHighByteMask)
CFI ?RetLow Frame(CFA_SP, 0)
CFI ?Ret Concat
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 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 SameValue
CFI R13 SameValue
CFI R14 SameValue
CFI R15 SameValue
CFI R16 Undefined
CFI R17 Undefined
CFI R18 Undefined
CFI R19 Undefined
CFI R20 Undefined
CFI R21 Undefined
CFI R22 Undefined
CFI R23 Undefined
CFI R24 SameValue
CFI R25 SameValue
CFI R26 SameValue
CFI R27 SameValue
CFI R28 Undefined
CFI R29 Undefined
CFI R30 Undefined
CFI R31 Undefined
CFI ?RetHighByteMask SameValue
CFI SPH Undefined
CFI SPL Undefined
CFI EndCommon cfiCommon0
CFI Common cfiCommon1 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign 1
CFI ReturnAddress ?Ret CODE
CFI CFA_Y Y+0
CFI CFA_SP SP+2
CFI ?RetPad 0
CFI ?RetHigh and(load(1, DATA, sub(CFA_SP, 1)), ?RetHighByteMask)
CFI ?RetLow Frame(CFA_SP, 0)
CFI ?Ret Concat
CFI R0 SameValue
CFI R1 SameValue
CFI R2 SameValue
CFI R3 SameValue
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 R16 SameValue
CFI R17 SameValue
CFI R18 SameValue
CFI R19 SameValue
CFI R20 SameValue
CFI R21 SameValue
CFI R22 SameValue
CFI R23 SameValue
CFI R24 SameValue
CFI R25 SameValue
CFI R26 SameValue
CFI R27 SameValue
CFI R28 Undefined
CFI R29 Undefined
CFI R30 SameValue
CFI R31 SameValue
CFI ?RetHighByteMask SameValue
CFI SPH Undefined
CFI SPL Undefined
CFI EndCommon cfiCommon1
// C:\Documents and Settings\vemund\Desktop\AVRGSM\Files\AVRGSM_com.c
// 1 /*! \file ********************************************************************
// 2 *
// 3 * Atmel Corporation
// 4 *
// 5 * - File : AVR_SMS_com.c
// 6 * - Compiler : IAR EWAAVR 3.20C
// 7 *
// 8 * - Support mail : avr@atmel.com
// 9 *
// 10 * - Supported devices : The example is written for ATmega169
// 11 *
// 12 *
// 13 * - AppNote : AVR323 - Interfacing Cellphones
// 14 *
// 15 * - Description : Example of how to use AVR Butterfly as Mobilephone controller
// 16 *
// 17 * $Revision: 1.1 $
// 18 * $Date: Tuesday, November 08, 2005 12:26:18 UTC $
// 19 *****************************************************************************/
// 20 //Includes
// 21 #include"iom169.h"
// 22
// 23
// 24
// 25
// 26 /*! \brief USART initialization
// 27 *
// 28 * \param input Desired baudrate...see datasheet
// 29 *
// 30 * \retval void
// 31 *
// 32 */
RSEG CODE:CODE:NOROOT(1)
// 33 void COM_Init( unsigned int baudrate )
COM_Init:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function COM_Init
// 34 {
// 35 UBRR0H = (unsigned char) (baudrate>>8); //Setting baudrate
MOVW R19:R18, R17:R16
MOV R18, R19
STS _A_UBRR0H, R18
// 36 UBRR0L = (unsigned char) baudrate; //Setting baudrate
STS _A_UBRR0L, R16
// 37
// 38 UCSR0B = ( ( 1 << RXEN0 ) | ( 1 << TXEN0 ) ); //Enable receiver and transmitter
LDI R16, 24
STS _A_UCSR0B, R16
// 39 UCSR0C = ( 1<<USBS0 )|( 1<<UCSZ01 )|( 1<<UCSZ00 ); //8N1...see Datasheet for more information
LDI R16, 14
STS _A_UCSR0C, R16
// 40
// 41
// 42 }//end COM_Init
RET
CFI EndBlock cfiBlock0
// 43
// 44
// 45 // Interrupt handler
// 46
// 47 /*! \brief USART Receive interrupt service routine
// 48 *
// 49 */
// 50 #pragma vector=USART0_RXC_vect
RSEG CODE:CODE:NOROOT(1)
// 51 __interrupt void USART0_RX_interrupt( void )
USART0_RX_interrupt:
CFI Block cfiBlock1 Using cfiCommon1
CFI Function USART0_RX_interrupt
// 52 {
ST -Y, R18
CFI R18 Frame(CFA_Y, -1)
CFI CFA_Y Y+1
ST -Y, R17
CFI R17 Frame(CFA_Y, -2)
CFI CFA_Y Y+2
ST -Y, R16
CFI R16 Frame(CFA_Y, -3)
CFI CFA_Y Y+3
IN R17, 0x3F
IN R18, 0x3B
// 53
// 54 }//end rx-isr
OUT 0x3B, R18
OUT 0x3F, R17
LD R16, Y+
CFI R16 SameValue
CFI CFA_Y Y+2
LD R17, Y+
CFI R17 SameValue
CFI CFA_Y Y+1
LD R18, Y+
CFI R18 SameValue
CFI CFA_Y Y+0
RETI
CFI EndBlock cfiBlock1
COMMON INTVEC:CODE:ROOT(1)
ORG 52
`??INTVEC 52`:
JMP USART0_RX_interrupt
ASEGN ABSOLUTE:DATA:NOROOT,0c1H
// union <unnamed> volatile __near _A_UCSR0B
_A_UCSR0B:
DS 1
ASEGN ABSOLUTE:DATA:NOROOT,0c2H
// union <unnamed> volatile __near _A_UCSR0C
_A_UCSR0C:
DS 1
ASEGN ABSOLUTE:DATA:NOROOT,0c4H
// union <unnamed> volatile __near _A_UBRR0L
_A_UBRR0L:
DS 1
ASEGN ABSOLUTE:DATA:NOROOT,0c5H
// union <unnamed> volatile __near _A_UBRR0H
_A_UBRR0H:
DS 1
ASEGN ABSOLUTE:DATA:NOROOT,01cH
__?EECR:
ASEGN ABSOLUTE:DATA:NOROOT,01dH
__?EEDR:
ASEGN ABSOLUTE:DATA:NOROOT,01eH
__?EEARL:
ASEGN ABSOLUTE:DATA:NOROOT,01fH
__?EEARH:
END
//
// 4 bytes in segment ABSOLUTE
// 48 bytes in segment CODE
// 4 bytes in segment INTVEC
//
// 48 bytes of CODE memory (+ 4 bytes shared)
// 0 bytes of DATA memory (+ 4 bytes shared)
//
//Errors: none
//Warnings: 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -