Subversion Repositories FlightCtrl

Rev

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

   1                            .file   "twimaster.c"
   2                            .arch atmega644
   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
  10                            .text
  11                    .global i2c_init
  13                    i2c_init:
  14                    /* prologue: frame size=0 */
  15                    /* prologue end (size=0) */
  16 0000 1092 B900             sts 185,__zero_reg__
  17 0004 8AE2                  ldi r24,lo8(42)
  18 0006 8093 B800             sts 184,r24
  19                    /* epilogue: frame size=0 */
  20 000a 0895                  ret
  21                    /* epilogue end (size=1) */
  22                    /* function i2c_init size 6 (5) */
  24                    .global i2c_start
  26                    i2c_start:
  27                    /* prologue: frame size=0 */
  28                    /* prologue end (size=0) */
  29 000c 85EA                  ldi r24,lo8(-91)
  30 000e 8093 BC00             sts 188,r24
  31                    /* epilogue: frame size=0 */
  32 0012 0895                  ret
  33                    /* epilogue end (size=1) */
  34                    /* function i2c_start size 4 (3) */
  36                    .global i2c_stop
  38                    i2c_stop:
  39                    /* prologue: frame size=0 */
  40                    /* prologue end (size=0) */
  41 0014 84E9                  ldi r24,lo8(-108)
  42 0016 8093 BC00             sts 188,r24
  43                    /* epilogue: frame size=0 */
  44 001a 0895                  ret
  45                    /* epilogue end (size=1) */
  46                    /* function i2c_stop size 4 (3) */
  48                    .global i2c_write_byte
  50                    i2c_write_byte:
  51                    /* prologue: frame size=0 */
  52                    /* prologue end (size=0) */
  53 001c 8093 BB00             sts 187,r24
  54 0020 85E8                  ldi r24,lo8(-123)
  55 0022 8093 BC00             sts 188,r24
  56                    /* epilogue: frame size=0 */
  57 0026 0895                  ret
  58                    /* epilogue end (size=1) */
  59                    /* function i2c_write_byte size 6 (5) */
  61                    .global i2c_receive_byte
  63                    i2c_receive_byte:
  64                    /* prologue: frame size=0 */
  65                    /* prologue end (size=0) */
  66 0028 85EC                  ldi r24,lo8(-59)
  67 002a 8093 BC00             sts 188,r24
  68                    /* epilogue: frame size=0 */
  69 002e 0895                  ret
  70                    /* epilogue end (size=1) */
  71                    /* function i2c_receive_byte size 4 (3) */
  73                    .global i2c_receive_last_byte
  75                    i2c_receive_last_byte:
  76                    /* prologue: frame size=0 */
  77                    /* prologue end (size=0) */
  78 0030 85E8                  ldi r24,lo8(-123)
  79 0032 8093 BC00             sts 188,r24
  80                    /* epilogue: frame size=0 */
  81 0036 0895                  ret
  82                    /* epilogue end (size=1) */
  83                    /* function i2c_receive_last_byte size 4 (3) */
  85                    .global __vector_26
  87                    __vector_26:
  88                    /* prologue: frame size=0 */
  89 0038 1F92                  push __zero_reg__
  90 003a 0F92                  push __tmp_reg__
  91 003c 0FB6                  in __tmp_reg__,__SREG__
  92 003e 0F92                  push __tmp_reg__
  93 0040 1124                  clr __zero_reg__
  94 0042 8F93                  push r24
  95 0044 9F93                  push r25
  96 0046 EF93                  push r30
  97 0048 FF93                  push r31
  98                    /* prologue end (size=9) */
  99 004a 8091 0000             lds r24,twi_state
 100 004e 8F5F                  subi r24,lo8(-(1))
 101 0050 8093 0000             sts twi_state,r24
 102 0054 8150                  subi r24,lo8(-(-1))
 103 0056 8330                  cpi r24,lo8(3)
 104 0058 01F0                  breq .L18
 105 005a 8430                  cpi r24,lo8(4)
 106 005c 00F4                  brsh .L22
 107 005e 8130                  cpi r24,lo8(1)
 108 0060 01F0                  breq .L16
 109 0062 8230                  cpi r24,lo8(2)
 110 0064 00F4                  brsh .L17
 111 0066 00C0                  rjmp .L32
 112                    .L22:
 113 0068 8530                  cpi r24,lo8(5)
 114 006a 01F0                  breq .L20
 115 006c 8530                  cpi r24,lo8(5)
 116 006e 00F0                  brlo .L19
 117 0070 8630                  cpi r24,lo8(6)
 118 0072 01F0                  breq .+2
 119 0074 00C0                  rjmp .L14
 120 0076 00C0                  rjmp .L21
 121                    .L32:
 122 0078 8091 0000             lds r24,motor
 123 007c 880F                  lsl r24
 124 007e 8E5A                  subi r24,lo8(-(82))
 125 0080 00C0                  rjmp .L33
 126                    .L16:
 127 0082 8091 0000             lds r24,motor
 128 0086 8F5F                  subi r24,lo8(-(1))
 129 0088 8093 0000             sts motor,r24
 130 008c 8150                  subi r24,lo8(-(-1))
 131 008e 8130                  cpi r24,lo8(1)
 132 0090 01F0                  breq .L25
 133 0092 8130                  cpi r24,lo8(1)
 134 0094 00F0                  brlo .L24
 135 0096 8230                  cpi r24,lo8(2)
 136 0098 01F0                  breq .L26
 137 009a 8330                  cpi r24,lo8(3)
 138 009c 01F0                  breq .+2
 139 009e 00C0                  rjmp .L31
 140 00a0 00C0                  rjmp .L27
 141                    .L24:
 142 00a2 8091 0000             lds r24,Motor_Vorne
 143                    .L33:
 144 00a6 8093 BB00             sts 187,r24
 145                    .L34:
 146 00aa 85E8                  ldi r24,lo8(-123)
 147                    .L35:
 148 00ac 8093 BC00             sts 188,r24
 149 00b0 00C0                  rjmp .L31
 150                    .L25:
 151 00b2 8091 0000             lds r24,Motor_Hinten
 152 00b6 00C0                  rjmp .L33
 153                    .L26:
 154 00b8 8091 0000             lds r24,Motor_Rechts
 155 00bc 00C0                  rjmp .L33
 156                    .L27:
 157 00be 8091 0000             lds r24,Motor_Links
 158 00c2 00C0                  rjmp .L33
 159                    .L17:
 160 00c4 8091 0000             lds r24,motor
 161 00c8 8430                  cpi r24,lo8(4)
 162 00ca 00F4                  brsh .L28
 163 00cc 1092 0000             sts twi_state,__zero_reg__
 164                    .L28:
 165 00d0 85EA                  ldi r24,lo8(-91)
 166 00d2 00C0                  rjmp .L35
 167                    .L18:
 168 00d4 8091 0000             lds r24,motorread.2054
 169 00d8 880F                  lsl r24
 170 00da 8D5A                  subi r24,lo8(-(83))
 171 00dc 00C0                  rjmp .L33
 172                    .L19:
 173 00de 85EC                  ldi r24,lo8(-59)
 174 00e0 00C0                  rjmp .L35
 175                    .L20:
 176 00e2 8091 BB00             lds r24,187
 177 00e6 E091 0000             lds r30,motorread.2054
 178 00ea FF27                  clr r31
 179 00ec E050                  subi r30,lo8(-(motor_rx))
 180 00ee F040                  sbci r31,hi8(-(motor_rx))
 181 00f0 8083                  st Z,r24
 182 00f2 00C0                  rjmp .L34
 183                    .L21:
 184 00f4 8091 0000             lds r24,motorread.2054
 185 00f8 9091 BB00             lds r25,187
 186 00fc E82F                  mov r30,r24
 187 00fe FF27                  clr r31
 188 0100 E050                  subi r30,lo8(-(motor_rx))
 189 0102 F040                  sbci r31,hi8(-(motor_rx))
 190 0104 9483                  std Z+4,r25
 191 0106 8F5F                  subi r24,lo8(-(1))
 192 0108 8093 0000             sts motorread.2054,r24
 193 010c 8430                  cpi r24,lo8(4)
 194 010e 00F0                  brlo .L14
 195 0110 1092 0000             sts motorread.2054,__zero_reg__
 196                    .L14:
 197 0114 84E9                  ldi r24,lo8(-108)
 198 0116 8093 BC00             sts 188,r24
 199 011a 1092 0000             sts twi_state,__zero_reg__
 200 011e 8AE0                  ldi r24,lo8(10)
 201 0120 90E0                  ldi r25,hi8(10)
 202 0122 9093 0000             sts (I2CTimeout)+1,r25
 203 0126 8093 0000             sts I2CTimeout,r24
 204 012a 1092 0000             sts motor,__zero_reg__
 205                    .L31:
 206                    /* epilogue: frame size=0 */
 207 012e FF91                  pop r31
 208 0130 EF91                  pop r30
 209 0132 9F91                  pop r25
 210 0134 8F91                  pop r24
 211 0136 0F90                  pop __tmp_reg__
 212 0138 0FBE                  out __SREG__,__tmp_reg__
 213 013a 0F90                  pop __tmp_reg__
 214 013c 1F90                  pop __zero_reg__
 215 013e 1895                  reti
 216                    /* epilogue end (size=9) */
 217                    /* function __vector_26 size 132 (114) */
 219                    .global i2c_reset
 221                    i2c_reset:
 222                    /* prologue: frame size=0 */
 223                    /* prologue end (size=0) */
 224 0140 4CEB                  ldi r20,lo8(188)
 225 0142 50E0                  ldi r21,hi8(188)
 226 0144 84E9                  ldi r24,lo8(-108)
 227 0146 FA01                  movw r30,r20
 228 0148 8083                  st Z,r24
 229 014a 1092 0000             sts twi_state,__zero_reg__
 230 014e 2BEB                  ldi r18,lo8(187)
 231 0150 30E0                  ldi r19,hi8(187)
 232 0152 F901                  movw r30,r18
 233 0154 8081                  ld r24,Z
 234 0156 1092 0000             sts motor,__zero_reg__
 235 015a 80E8                  ldi r24,lo8(-128)
 236 015c FA01                  movw r30,r20
 237 015e 8083                  st Z,r24
 238 0160 1092 BD00             sts 189,__zero_reg__
 239 0164 1092 BA00             sts 186,__zero_reg__
 240 0168 F901                  movw r30,r18
 241 016a 1082                  st Z,__zero_reg__
 242 016c E9EB                  ldi r30,lo8(185)
 243 016e F0E0                  ldi r31,hi8(185)
 244 0170 1082                  st Z,__zero_reg__
 245 0172 A8EB                  ldi r26,lo8(184)
 246 0174 B0E0                  ldi r27,hi8(184)
 247 0176 1C92                  st X,__zero_reg__
 248 0178 1082                  st Z,__zero_reg__
 249 017a 8AE2                  ldi r24,lo8(42)
 250 017c 8C93                  st X,r24
 251 017e 85EA                  ldi r24,lo8(-91)
 252 0180 FA01                  movw r30,r20
 253 0182 8083                  st Z,r24
 254 0184 F901                  movw r30,r18
 255 0186 1082                  st Z,__zero_reg__
 256 0188 85E8                  ldi r24,lo8(-123)
 257 018a FA01                  movw r30,r20
 258 018c 8083                  st Z,r24
 259                    /* epilogue: frame size=0 */
 260 018e 0895                  ret
 261                    /* epilogue end (size=1) */
 262                    /* function i2c_reset size 40 (39) */
 264                    .global twi_state
 265                    .global twi_state
 266                            .section .bss
 269                    twi_state:
 270 0000 00                    .skip 1,0
 271                    .global motor
 272                    .global motor
 275                    motor:
 276 0001 00                    .skip 1,0
 277                            .lcomm motorread.2054,1
 278                            .comm motor_rx,8,1
 279                    /* File "twimaster.c": code  200 = 0x00c8 ( 175), prologues   9, epilogues  16 */
DEFINED SYMBOLS
                            *ABS*:00000000 twimaster.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:13     .text:00000000 i2c_init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:26     .text:0000000c i2c_start
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:38     .text:00000014 i2c_stop
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:50     .text:0000001c i2c_write_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:63     .text:00000028 i2c_receive_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:75     .text:00000030 i2c_receive_last_byte
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:87     .text:00000038 __vector_26
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:269    .bss:00000000 twi_state
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:275    .bss:00000001 motor
                             .bss:00000002 motorread.2054
                            *COM*:00000008 motor_rx
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccKlLSZ4.s:221    .text:00000140 i2c_reset

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Motor_Vorne
Motor_Hinten
Motor_Rechts
Motor_Links
I2CTimeout