Subversion Repositories FlightCtrl

Rev

Rev 36 | 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 0012 80E0                  ldi r24,lo8(0)
  32 0014 90E0                  ldi r25,hi8(0)
  33                    /* epilogue: frame size=0 */
  34 0016 0895                  ret
  35                    /* epilogue end (size=1) */
  36                    /* function i2c_start size 6 (5) */
  38                    .global i2c_stop
  40                    i2c_stop:
  41                    /* prologue: frame size=0 */
  42                    /* prologue end (size=0) */
  43 0018 84E9                  ldi r24,lo8(-108)
  44 001a 8093 BC00             sts 188,r24
  45                    /* epilogue: frame size=0 */
  46 001e 0895                  ret
  47                    /* epilogue end (size=1) */
  48                    /* function i2c_stop size 4 (3) */
  50                    .global i2c_write_byte
  52                    i2c_write_byte:
  53                    /* prologue: frame size=0 */
  54                    /* prologue end (size=0) */
  55 0020 1092 B900             sts 185,__zero_reg__
  56 0024 8093 BB00             sts 187,r24
  57 0028 85E8                  ldi r24,lo8(-123)
  58 002a 8093 BC00             sts 188,r24
  59 002e 80E0                  ldi r24,lo8(0)
  60 0030 90E0                  ldi r25,hi8(0)
  61                    /* epilogue: frame size=0 */
  62 0032 0895                  ret
  63                    /* epilogue end (size=1) */
  64                    /* function i2c_write_byte size 10 (9) */
  66                    .global __vector_26
  68                    __vector_26:
  69                    /* prologue: frame size=0 */
  70 0034 1F92                  push __zero_reg__
  71 0036 0F92                  push __tmp_reg__
  72 0038 0FB6                  in __tmp_reg__,__SREG__
  73 003a 0F92                  push __tmp_reg__
  74 003c 1124                  clr __zero_reg__
  75 003e 8F93                  push r24
  76 0040 9F93                  push r25
  77 0042 EF93                  push r30
  78 0044 FF93                  push r31
  79                    /* prologue end (size=9) */
  80 0046 8091 0000             lds r24,twi_state
  81 004a 8F5F                  subi r24,lo8(-(1))
  82 004c 8093 0000             sts twi_state,r24
  83 0050 8150                  subi r24,lo8(-(-1))
  84 0052 8330                  cpi r24,lo8(3)
  85 0054 01F4                  brne .+2
  86 0056 00C0                  rjmp .L14
  87 0058 8430                  cpi r24,lo8(4)
  88 005a 00F4                  brsh .L19
  89 005c 8130                  cpi r24,lo8(1)
  90 005e 01F0                  breq .L12
  91 0060 8230                  cpi r24,lo8(2)
  92 0062 00F4                  brsh .L13
  93 0064 00C0                  rjmp .L38
  94                    .L19:
  95 0066 8530                  cpi r24,lo8(5)
  96 0068 01F4                  brne .+2
  97 006a 00C0                  rjmp .L16
  98 006c 8530                  cpi r24,lo8(5)
  99 006e 00F0                  brlo .L15
 100 0070 8630                  cpi r24,lo8(6)
 101 0072 01F4                  brne .+2
 102 0074 00C0                  rjmp .L17
 103 0076 8730                  cpi r24,lo8(7)
 104 0078 01F0                  breq .+2
 105 007a 00C0                  rjmp .L37
 106 007c 00C0                  rjmp .L18
 107                    .L38:
 108 007e 8091 0000             lds r24,motor
 109 0082 880F                  lsl r24
 110 0084 8E5A                  subi r24,lo8(-(82))
 111 0086 00C0                  rjmp .L39
 112                    .L12:
 113 0088 8091 0000             lds r24,motor
 114 008c 8F5F                  subi r24,lo8(-(1))
 115 008e 8093 0000             sts motor,r24
 116 0092 8150                  subi r24,lo8(-(-1))
 117 0094 8130                  cpi r24,lo8(1)
 118 0096 01F4                  brne .+2
 119 0098 00C0                  rjmp .L32
 120 009a 8130                  cpi r24,lo8(1)
 121 009c 00F0                  brlo .L20
 122 009e 8230                  cpi r24,lo8(2)
 123 00a0 01F4                  brne .+2
 124 00a2 00C0                  rjmp .L33
 125 00a4 8330                  cpi r24,lo8(3)
 126 00a6 01F0                  breq .+2
 127 00a8 00C0                  rjmp .L37
 128 00aa 00C0                  rjmp .L34
 129                    .L20:
 130 00ac 8091 0000             lds r24,Motor_Vorne
 131                    .L39:
 132 00b0 1092 B900             sts 185,__zero_reg__
 133 00b4 8093 BB00             sts 187,r24
 134 00b8 85E8                  ldi r24,lo8(-123)
 135                    .L40:
 136 00ba 8093 BC00             sts 188,r24
 137 00be 00C0                  rjmp .L37
 138                    .L13:
 139 00c0 84E9                  ldi r24,lo8(-108)
 140 00c2 8093 BC00             sts 188,r24
 141 00c6 8091 0000             lds r24,motor
 142 00ca 8430                  cpi r24,lo8(4)
 143 00cc 00F4                  brsh .L24
 144 00ce 1092 0000             sts twi_state,__zero_reg__
 145 00d2 00C0                  rjmp .L26
 146                    .L24:
 147 00d4 1092 0000             sts motor,__zero_reg__
 148                    .L26:
 149 00d8 85EA                  ldi r24,lo8(-91)
 150 00da 00C0                  rjmp .L40
 151                    .L14:
 152 00dc 8091 0000             lds r24,motorread
 153 00e0 880F                  lsl r24
 154 00e2 8D5A                  subi r24,lo8(-(83))
 155 00e4 00C0                  rjmp .L39
 156                    .L15:
 157 00e6 8091 0000             lds r24,motorread
 158 00ea 8130                  cpi r24,lo8(1)
 159 00ec 01F0                  breq .L32
 160 00ee 8130                  cpi r24,lo8(1)
 161 00f0 00F0                  brlo .L20
 162 00f2 8230                  cpi r24,lo8(2)
 163 00f4 01F0                  breq .L33
 164 00f6 8330                  cpi r24,lo8(3)
 165 00f8 01F4                  brne .L37
 166 00fa 00C0                  rjmp .L34
 167                    .L16:
 168 00fc 8091 BB00             lds r24,187
 169 0100 E091 0000             lds r30,motorread
 170 0104 FF27                  clr r31
 171 0106 E050                  subi r30,lo8(-(motor_rx))
 172 0108 F040                  sbci r31,hi8(-(motor_rx))
 173 010a 8083                  st Z,r24
 174                    .L17:
 175 010c 8091 0000             lds r24,motorread
 176 0110 8130                  cpi r24,lo8(1)
 177 0112 01F0                  breq .L32
 178 0114 8130                  cpi r24,lo8(1)
 179 0116 00F0                  brlo .L20
 180 0118 8230                  cpi r24,lo8(2)
 181 011a 01F0                  breq .L33
 182 011c 8330                  cpi r24,lo8(3)
 183 011e 01F4                  brne .L37
 184 0120 00C0                  rjmp .L34
 185                    .L32:
 186 0122 8091 0000             lds r24,Motor_Hinten
 187 0126 00C0                  rjmp .L39
 188                    .L33:
 189 0128 8091 0000             lds r24,Motor_Rechts
 190 012c 00C0                  rjmp .L39
 191                    .L34:
 192 012e 8091 0000             lds r24,Motor_Links
 193 0132 00C0                  rjmp .L39
 194                    .L18:
 195 0134 8091 0000             lds r24,motorread
 196 0138 9091 BB00             lds r25,187
 197 013c E82F                  mov r30,r24
 198 013e FF27                  clr r31
 199 0140 E050                  subi r30,lo8(-(motor_rx))
 200 0142 F040                  sbci r31,hi8(-(motor_rx))
 201 0144 9483                  std Z+4,r25
 202 0146 8F5F                  subi r24,lo8(-(1))
 203 0148 8093 0000             sts motorread,r24
 204 014c 8430                  cpi r24,lo8(4)
 205 014e 00F0                  brlo .L35
 206 0150 1092 0000             sts motorread,__zero_reg__
 207                    .L35:
 208 0154 84E9                  ldi r24,lo8(-108)
 209 0156 8093 BC00             sts 188,r24
 210 015a 1092 0000             sts twi_state,__zero_reg__
 211                    .L37:
 212                    /* epilogue: frame size=0 */
 213 015e FF91                  pop r31
 214 0160 EF91                  pop r30
 215 0162 9F91                  pop r25
 216 0164 8F91                  pop r24
 217 0166 0F90                  pop __tmp_reg__
 218 0168 0FBE                  out __SREG__,__tmp_reg__
 219 016a 0F90                  pop __tmp_reg__
 220 016c 1F90                  pop __zero_reg__
 221 016e 1895                  reti
 222                    /* epilogue end (size=9) */
 223                    /* function __vector_26 size 158 (140) */
 225                    .global twi_state
 226                    .global twi_state
 227                            .section .bss
 230                    twi_state:
 231 0000 00                    .skip 1,0
 232                    .global motor
 233                    .global motor
 236                    motor:
 237 0001 00                    .skip 1,0
 238                    .global motorread
 239                    .global motorread
 242                    motorread:
 243 0002 00                    .skip 1,0
 244                            .comm DiffNick,2,1
 245                            .comm DiffRoll,2,1
 246                            .comm SenderOkay,1,1
 247                            .comm CosinusNickWinkel,1,1
 248                            .comm CosinusRollWinkel,1,1
 249                            .comm durchschnitt_northing,4,1
 250                            .comm durchschnitt_easting,4,1
 251                            .comm gps_p,2,1
 252                            .comm gps_d,2,1
 253                            .comm skal,2,1
 254                            .comm gps_gethome,2,1
 255                            .comm motor_rx,8,1
 256                            .comm RemoteTasten,1,1
 257                            .comm Timeout,1,1
 258                            .comm IntegralNick,4,1
 259                            .comm IntegralNick2,4,1
 260                            .comm IntegralRoll,4,1
 261                            .comm IntegralRoll2,4,1
 262                            .comm Mess_IntegralNick,4,1
 263                            .comm Mess_IntegralNick2,4,1
 264                            .comm Mess_IntegralRoll,4,1
 265                            .comm Mess_IntegralRoll2,4,1
 266                            .comm Integral_Gier,4,1
 267                            .comm Mess_Integral_Gier,4,1
 268                            .comm h,1,1
 269                            .comm m,1,1
 270                            .comm s,1,1
 271                            .comm Motor_Vorne,1,1
 272                            .comm Motor_Hinten,1,1
 273                            .comm Motor_Rechts,1,1
 274                            .comm Motor_Links,1,1
 275                            .comm Count,1,1
 276                            .comm MotorWert,5,1
 277                            .comm StickNick,2,1
 278                            .comm StickRoll,2,1
 279                            .comm StickGier,2,1
 280                            .comm MotorenEin,1,1
 281                    /* File "twimaster.c": code  184 = 0x00b8 ( 162), prologues   9, epilogues  13 */
DEFINED SYMBOLS
                            *ABS*:00000000 twimaster.c
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:3      *ABS*:0000003f __SREG__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:4      *ABS*:0000003e __SP_H__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:5      *ABS*:0000003d __SP_L__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:6      *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:7      *ABS*:00000001 __zero_reg__
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:13     .text:00000000 i2c_init
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:26     .text:0000000c i2c_start
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:40     .text:00000018 i2c_stop
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:52     .text:00000020 i2c_write_byte
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:68     .text:00000034 __vector_26
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:230    .bss:00000000 twi_state
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:236    .bss:00000001 motor
                            *COM*:00000001 Motor_Vorne
C:\DOKUME~1\CHRIST~1\LOKALE~1\Temp/ccQBlghb.s:242    .bss:00000002 motorread
                            *COM*:00000008 motor_rx
                            *COM*:00000001 Motor_Hinten
                            *COM*:00000001 Motor_Rechts
                            *COM*:00000001 Motor_Links
                            *COM*:00000002 DiffNick
                            *COM*:00000002 DiffRoll
                            *COM*:00000001 SenderOkay
                            *COM*:00000001 CosinusNickWinkel
                            *COM*:00000001 CosinusRollWinkel
                            *COM*:00000004 durchschnitt_northing
                            *COM*:00000004 durchschnitt_easting
                            *COM*:00000002 gps_p
                            *COM*:00000002 gps_d
                            *COM*:00000002 skal
                            *COM*:00000002 gps_gethome
                            *COM*:00000001 RemoteTasten
                            *COM*:00000001 Timeout
                            *COM*:00000004 IntegralNick
                            *COM*:00000004 IntegralNick2
                            *COM*:00000004 IntegralRoll
                            *COM*:00000004 IntegralRoll2
                            *COM*:00000004 Mess_IntegralNick
                            *COM*:00000004 Mess_IntegralNick2
                            *COM*:00000004 Mess_IntegralRoll
                            *COM*:00000004 Mess_IntegralRoll2
                            *COM*:00000004 Integral_Gier
                            *COM*:00000004 Mess_Integral_Gier
                            *COM*:00000001 h
                            *COM*:00000001 m
                            *COM*:00000001 s
                            *COM*:00000001 Count
                            *COM*:00000005 MotorWert
                            *COM*:00000002 StickNick
                            *COM*:00000002 StickRoll
                            *COM*:00000002 StickGier
                            *COM*:00000001 MotorenEin

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss