Subversion Repositories Projects

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

   1                            .file   "rs232.c"
   2                            .arch atmega32
   3                    __SREG__ = 0x3f
   4                    __SP_H__ = 0x3e
   5                    __SP_L__ = 0x3d
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .global __do_copy_data
   9                            .global __do_clear_bss
  17                    .Ltext0:
  18                    .global __vector_13
  20                    __vector_13:
  21                    .LFB4:
  22                    .LM1:
  23                    /* prologue: frame size=0 */
  24 0000 1F92                  push __zero_reg__
  25 0002 0F92                  push __tmp_reg__
  26 0004 0FB6                  in __tmp_reg__,__SREG__
  27 0006 0F92                  push __tmp_reg__
  28 0008 1124                  clr __zero_reg__
  29 000a 8F93                  push r24
  30 000c 9F93                  push r25
  31 000e EF93                  push r30
  32 0010 FF93                  push r31
  33                    /* prologue end (size=9) */
  34                    .LM2:
  35 0012 9091 0000             lds r25,write_index
  36 0016 E0E0                  ldi r30,lo8(rs232_buffer)
  37 0018 F0E0                  ldi r31,hi8(rs232_buffer)
  38 001a E90F                  add r30,r25
  39 001c F11D                  adc r31,__zero_reg__
  40 001e 8CB1                  in r24,44-0x20
  41 0020 8083                  st Z,r24
  42 0022 9F5F                  subi r25,lo8(-(1))
  43 0024 9093 0000             sts write_index,r25
  44                    .LM3:
  45 0028 8091 0000             lds r24,write_index
  46 002c 8F70                  andi r24,lo8(15)
  47 002e 8093 0000             sts write_index,r24
  48                    /* epilogue: frame size=0 */
  49 0032 FF91                  pop r31
  50 0034 EF91                  pop r30
  51 0036 9F91                  pop r25
  52 0038 8F91                  pop r24
  53 003a 0F90                  pop __tmp_reg__
  54 003c 0FBE                  out __SREG__,__tmp_reg__
  55 003e 0F90                  pop __tmp_reg__
  56 0040 1F90                  pop __zero_reg__
  57 0042 1895                  reti
  58                    /* epilogue end (size=9) */
  59                    /* function __vector_13 size 34 (16) */
  60                    .LFE4:
  62                    .global RS232_init
  64                    RS232_init:
  65                    .LFB5:
  66                    .LM4:
  67                    /* prologue: frame size=0 */
  68                    /* prologue end (size=0) */
  69                    .LM5:
  70 0044 88E9                  ldi r24,lo8(-104)
  71 0046 8AB9                  out 42-0x20,r24
  72                    .LM6:
  73 0048 87E0                  ldi r24,lo8(7)
  74 004a 89B9                  out 41-0x20,r24
  75                    /* epilogue: frame size=0 */
  76 004c 0895                  ret
  77                    /* epilogue end (size=1) */
  78                    /* function RS232_init size 5 (4) */
  79                    .LFE5:
  81                    .global RS232_get
  83                    RS232_get:
  84                    .LFB6:
  85                    .LM7:
  86                    /* prologue: frame size=0 */
  87                    /* prologue end (size=0) */
  88                    .LM8:
  89 004e 8AE0                  ldi r24,lo8(10)
  90 0050 8093 0000             sts rs232_timer,r24
  91                    .L4:
  92                    .LM9:
  93 0054 9091 0000             lds r25,read_index
  94 0058 8091 0000             lds r24,write_index
  95 005c 9817                  cp r25,r24
  96 005e 21F4                  brne .L5
  97 0060 8091 0000             lds r24,rs232_timer
  98 0064 8823                  tst r24
  99 0066 B1F7                  brne .L4
 100                    .L5:
 101                    .LM10:
 102 0068 8091 0000             lds r24,rs232_timer
 103 006c 8823                  tst r24
 104 006e 81F0                  breq .L7
 105                    .LM11:
 106 0070 8091 0000             lds r24,read_index
 107 0074 E82F                  mov r30,r24
 108 0076 FF27                  clr r31
 109 0078 E050                  subi r30,lo8(-(rs232_buffer))
 110 007a F040                  sbci r31,hi8(-(rs232_buffer))
 111 007c 8F5F                  subi r24,lo8(-(1))
 112 007e 8093 0000             sts read_index,r24
 113 0082 E081                  ld r30,Z
 114                    .LM12:
 115 0084 8091 0000             lds r24,read_index
 116 0088 8F70                  andi r24,lo8(15)
 117 008a 8093 0000             sts read_index,r24
 118 008e 01C0                  rjmp .L8
 119                    .L7:
 120                    .LM13:
 121 0090 E82F                  mov r30,r24
 122                    .L8:
 123                    .LM14:
 124 0092 8E2F                  mov r24,r30
 125 0094 9927                  clr r25
 126                    /* epilogue: frame size=0 */
 127 0096 0895                  ret
 128                    /* epilogue end (size=1) */
 129                    /* function RS232_get size 37 (36) */
 130                    .LFE6:
 132                    .global RS232_send
 134                    RS232_send:
 135                    .LFB7:
 136                    .LM15:
 137                    /* prologue: frame size=0 */
 138                    /* prologue end (size=0) */
 139                    .L10:
 140                    .LM16:
 141 0098 5D9B                  sbis 43-0x20,5
 142 009a FECF                  rjmp .L10
 143                    .LM17:
 144 009c 8CB9                  out 44-0x20,r24
 145                    /* epilogue: frame size=0 */
 146 009e 0895                  ret
 147                    /* epilogue end (size=1) */
 148                    /* function RS232_send size 4 (3) */
 149                    .LFE7:
 151                    .global RS232_text
 153                    RS232_text:
 154                    .LFB8:
 155                    .LM18:
 156                    /* prologue: frame size=0 */
 157 00a0 CF93                  push r28
 158 00a2 DF93                  push r29
 159                    /* prologue end (size=2) */
 160 00a4 EC01                  movw r28,r24
 161                    .LM19:
 162 00a6 8881                  ld r24,Y
 163 00a8 8823                  tst r24
 164 00aa 31F0                  breq .L18
 165                    .L16:
 166                    .LM20:
 167 00ac 8991                  ld r24,Y+
 168 00ae 0E94 0000             call RS232_send
 169                    .LM21:
 170 00b2 8881                  ld r24,Y
 171 00b4 8823                  tst r24
 172 00b6 D1F7                  brne .L16
 173                    .L18:
 174                    /* epilogue: frame size=0 */
 175 00b8 DF91                  pop r29
 176 00ba CF91                  pop r28
 177 00bc 0895                  ret
 178                    /* epilogue end (size=3) */
 179                    /* function RS232_text size 15 (10) */
 180                    .LFE8:
 182                            .comm read_index,1,1
 183                            .comm write_index,1,1
 184                            .comm rs232_buffer,16,1
 185                    .Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 rs232.c
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:20     .text:00000000 __vector_13
                            *COM*:00000001 write_index
                            *COM*:00000010 rs232_buffer
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:64     .text:00000044 RS232_init
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:83     .text:0000004e RS232_get
                            *COM*:00000001 read_index
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:134    .text:00000098 RS232_send
C:\DOKUME~1\thomas\LOKALE~1\Temp/ccm4aaaa.s:153    .text:000000a0 RS232_text

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
rs232_timer