| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- GAS LISTING /tmp/cc67azdq.s page 1
- 1 .file "hd44780.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.LcdSendNibble,"ax",@progbits
- 9 .type LcdSendNibble, @function
- 10 LcdSendNibble:
- 11 /* prologue: function */
- 12 /* frame size = 0 */
- 13 /* stack size = 0 */
- 14 .L__stack_usage = 0
- 15 0000 9AB1 in r25,0xa
- 16 0002 906F ori r25,lo8(-16)
- 17 0004 9AB9 out 0xa,r25
- 18 0006 9BB1 in r25,0xb
- 19 0008 9F70 andi r25,lo8(15)
- 20 000a 807F andi r24,lo8(-16)
- 21 000c 892B or r24,r25
- 22 000e 8BB9 out 0xb,r24
- 23 0010 739A sbi 0xe,3
- 24 /* #APP */
- 25 ; 332 "../../nut/arch/avr/dev/hd44780.c" 1
- 26 0012 0000 nop
- 27 ; 0 "" 2
- 28 ; 332 "../../nut/arch/avr/dev/hd44780.c" 1
- 29 0014 0000 nop
- 30 ; 0 "" 2
- 31 ; 332 "../../nut/arch/avr/dev/hd44780.c" 1
- 32 0016 0000 nop
- 33 ; 0 "" 2
- 34 ; 332 "../../nut/arch/avr/dev/hd44780.c" 1
- 35 0018 0000 nop
- 36 ; 0 "" 2
- 37 /* #NOAPP */
- 38 001a 7398 cbi 0xe,3
- 39 /* #APP */
- 40 ; 334 "../../nut/arch/avr/dev/hd44780.c" 1
- 41 001c 0000 nop
- 42 ; 0 "" 2
- 43 ; 334 "../../nut/arch/avr/dev/hd44780.c" 1
- 44 001e 0000 nop
- 45 ; 0 "" 2
- 46 ; 334 "../../nut/arch/avr/dev/hd44780.c" 1
- 47 0020 0000 nop
- 48 ; 0 "" 2
- 49 ; 334 "../../nut/arch/avr/dev/hd44780.c" 1
- 50 0022 0000 nop
- 51 ; 0 "" 2
- 52 /* #NOAPP */
- 53 0024 0895 ret
- 54 .size LcdSendNibble, .-LcdSendNibble
- 55 .section .text.LcdDelay,"ax",@progbits
- 56 .type LcdDelay, @function
- 57 LcdDelay:
- GAS LISTING /tmp/cc67azdq.s page 2
- 58 /* prologue: function */
- 59 /* frame size = 0 */
- 60 /* stack size = 0 */
- 61 .L__stack_usage = 0
- 62 0000 0C94 0000 jmp NutDelay
- 63 .size LcdDelay, .-LcdDelay
- 64 .section .text.LcdWriteCmd,"ax",@progbits
- 65 .type LcdWriteCmd, @function
- 66 LcdWriteCmd:
- 67 0000 CF93 push r28
- 68 0002 DF93 push r29
- 69 /* prologue: function */
- 70 /* frame size = 0 */
- 71 /* stack size = 2 */
- 72 .L__stack_usage = 2
- 73 0004 D82F mov r29,r24
- 74 0006 C62F mov r28,r22
- 75 0008 6A9A sbi 0xd,2
- 76 000a 7298 cbi 0xe,2
- 77 000c 0E94 0000 call LcdSendNibble
- 78 0010 CC23 tst r28
- 79 0012 01F0 breq .L4
- 80 0014 8C2F mov r24,r28
- 81 0016 0E94 0000 call LcdDelay
- 82 .L4:
- 83 001a 8D2F mov r24,r29
- 84 001c 8295 swap r24
- 85 001e 807F andi r24,lo8(-16)
- 86 0020 0E94 0000 call LcdSendNibble
- 87 0024 CC23 tst r28
- 88 0026 01F0 breq .L3
- 89 0028 8C2F mov r24,r28
- 90 /* epilogue start */
- 91 002a DF91 pop r29
- 92 002c CF91 pop r28
- 93 002e 0C94 0000 jmp LcdDelay
- 94 .L3:
- 95 /* epilogue start */
- 96 0032 DF91 pop r29
- 97 0034 CF91 pop r28
- 98 0036 0895 ret
- 99 .size LcdWriteCmd, .-LcdWriteCmd
- 100 .section .text.LcdCursorMode,"ax",@progbits
- 101 .type LcdCursorMode, @function
- 102 LcdCursorMode:
- 103 /* prologue: function */
- 104 /* frame size = 0 */
- 105 /* stack size = 0 */
- 106 .L__stack_usage = 0
- 107 0000 62E0 ldi r22,lo8(2)
- 108 0002 82E0 ldi r24,lo8(2)
- 109 0004 0C94 0000 jmp LcdWriteCmd
- 110 .size LcdCursorMode, .-LcdCursorMode
- 111 .section .text.LcdCursorRight,"ax",@progbits
- 112 .type LcdCursorRight, @function
- 113 LcdCursorRight:
- 114 /* prologue: function */
- GAS LISTING /tmp/cc67azdq.s page 3
- 115 /* frame size = 0 */
- 116 /* stack size = 0 */
- 117 .L__stack_usage = 0
- 118 0000 61E0 ldi r22,lo8(1)
- 119 0002 84E1 ldi r24,lo8(20)
- 120 0004 0C94 0000 jmp LcdWriteCmd
- 121 .size LcdCursorRight, .-LcdCursorRight
- 122 .section .text.LcdCursorLeft,"ax",@progbits
- 123 .type LcdCursorLeft, @function
- 124 LcdCursorLeft:
- 125 /* prologue: function */
- 126 /* frame size = 0 */
- 127 /* stack size = 0 */
- 128 .L__stack_usage = 0
- 129 0000 61E0 ldi r22,lo8(1)
- 130 0002 80E1 ldi r24,lo8(16)
- 131 0004 0C94 0000 jmp LcdWriteCmd
- 132 .size LcdCursorLeft, .-LcdCursorLeft
- 133 .section .text.LcdCursorHome,"ax",@progbits
- 134 .type LcdCursorHome, @function
- 135 LcdCursorHome:
- 136 /* prologue: function */
- 137 /* frame size = 0 */
- 138 /* stack size = 0 */
- 139 .L__stack_usage = 0
- 140 0000 62E0 ldi r22,lo8(2)
- 141 0002 82E0 ldi r24,lo8(2)
- 142 0004 0C94 0000 jmp LcdWriteCmd
- 143 .size LcdCursorHome, .-LcdCursorHome
- 144 .section .text.LcdSetCursor,"ax",@progbits
- 145 .type LcdSetCursor, @function
- 146 LcdSetCursor:
- 147 0000 CF93 push r28
- 148 0002 DF93 push r29
- 149 0004 00D0 rcall .
- 150 0006 1F92 push __zero_reg__
- 151 0008 CDB7 in r28,__SP_L__
- 152 000a DEB7 in r29,__SP_H__
- 153 /* prologue: function */
- 154 /* frame size = 4 */
- 155 /* stack size = 6 */
- 156 .L__stack_usage = 6
- 157 000c 1982 std Y+1,__zero_reg__
- 158 000e 90E4 ldi r25,lo8(64)
- 159 0010 9A83 std Y+2,r25
- 160 0012 90E1 ldi r25,lo8(16)
- 161 0014 9B83 std Y+3,r25
- 162 0016 90E5 ldi r25,lo8(80)
- 163 0018 9C83 std Y+4,r25
- 164 001a 84FB bst r24,4
- 165 001c 2227 clr r18
- 166 001e 20F9 bld r18,0
- 167 0020 30E0 ldi r19,0
- 168 0022 FE01 movw r30,r28
- 169 0024 E20F add r30,r18
- 170 0026 F31F adc r31,r19
- 171 0028 9181 ldd r25,Z+1
- GAS LISTING /tmp/cc67azdq.s page 4
- 172 002a 8F70 andi r24,lo8(15)
- 173 002c 890F add r24,r25
- 174 002e 61E0 ldi r22,lo8(1)
- 175 0030 8068 ori r24,lo8(-128)
- 176 /* epilogue start */
- 177 0032 0F90 pop __tmp_reg__
- 178 0034 0F90 pop __tmp_reg__
- 179 0036 0F90 pop __tmp_reg__
- 180 0038 0F90 pop __tmp_reg__
- 181 003a DF91 pop r29
- 182 003c CF91 pop r28
- 183 003e 0C94 0000 jmp LcdWriteCmd
- 184 .size LcdSetCursor, .-LcdSetCursor
- 185 .section .text.LcdClear,"ax",@progbits
- 186 .type LcdClear, @function
- 187 LcdClear:
- 188 /* prologue: function */
- 189 /* frame size = 0 */
- 190 /* stack size = 0 */
- 191 .L__stack_usage = 0
- 192 0000 62E0 ldi r22,lo8(2)
- 193 0002 81E0 ldi r24,lo8(1)
- 194 0004 0C94 0000 jmp LcdWriteCmd
- 195 .size LcdClear, .-LcdClear
- 196 .section .text.LcdInit,"ax",@progbits
- 197 .type LcdInit, @function
- 198 LcdInit:
- 199 0000 CF93 push r28
- 200 0002 DF93 push r29
- 201 /* prologue: function */
- 202 /* frame size = 0 */
- 203 /* stack size = 2 */
- 204 .L__stack_usage = 2
- 205 0004 EC01 movw r28,r24
- 206 0006 6A9A sbi 0xd,2
- 207 0008 6B9A sbi 0xd,3
- 208 000a 7298 cbi 0xe,2
- 209 000c 83E3 ldi r24,lo8(51)
- 210 000e 0E94 0000 call LcdSendNibble
- 211 0012 82E3 ldi r24,lo8(50)
- 212 0014 0E94 0000 call LcdDelay
- 213 0018 83E3 ldi r24,lo8(51)
- 214 001a 0E94 0000 call LcdSendNibble
- 215 001e 82E3 ldi r24,lo8(50)
- 216 0020 0E94 0000 call LcdDelay
- 217 0024 83E3 ldi r24,lo8(51)
- 218 0026 0E94 0000 call LcdSendNibble
- 219 002a 82E3 ldi r24,lo8(50)
- 220 002c 0E94 0000 call LcdDelay
- 221 0030 82E2 ldi r24,lo8(34)
- 222 0032 0E94 0000 call LcdSendNibble
- 223 0036 82E3 ldi r24,lo8(50)
- 224 0038 0E94 0000 call LcdDelay
- 225 003c E989 ldd r30,Y+17
- 226 003e FA89 ldd r31,Y+18
- 227 0040 8789 ldd r24,Z+23
- 228 0042 8230 cpi r24,lo8(2)
- GAS LISTING /tmp/cc67azdq.s page 5
- 229 0044 00F4 brsh .L18
- 230 0046 80E2 ldi r24,lo8(32)
- 231 0048 00C0 rjmp .L17
- 232 .L18:
- 233 004a 88E2 ldi r24,lo8(40)
- 234 .L17:
- 235 004c 61E0 ldi r22,lo8(1)
- 236 004e 0E94 0000 call LcdWriteCmd
- 237 0052 62E0 ldi r22,lo8(2)
- 238 0054 81E0 ldi r24,lo8(1)
- 239 0056 0E94 0000 call LcdWriteCmd
- 240 005a 62E0 ldi r22,lo8(2)
- 241 005c 86E0 ldi r24,lo8(6)
- 242 005e 0E94 0000 call LcdWriteCmd
- 243 0062 62E0 ldi r22,lo8(2)
- 244 0064 8CE0 ldi r24,lo8(12)
- 245 0066 0E94 0000 call LcdWriteCmd
- 246 006a 62E0 ldi r22,lo8(2)
- 247 006c 82E0 ldi r24,lo8(2)
- 248 006e 0E94 0000 call LcdWriteCmd
- 249 0072 62E0 ldi r22,lo8(2)
- 250 0074 80E8 ldi r24,lo8(-128)
- 251 0076 0E94 0000 call LcdWriteCmd
- 252 007a 1092 0000 sts during_init,__zero_reg__
- 253 007e 80E0 ldi r24,0
- 254 0080 90E0 ldi r25,0
- 255 /* epilogue start */
- 256 0082 DF91 pop r29
- 257 0084 CF91 pop r28
- 258 0086 0895 ret
- 259 .size LcdInit, .-LcdInit
- 260 .section .text.LcdWriteData,"ax",@progbits
- 261 .type LcdWriteData, @function
- 262 LcdWriteData:
- 263 0000 CF93 push r28
- 264 /* prologue: function */
- 265 /* frame size = 0 */
- 266 /* stack size = 1 */
- 267 .L__stack_usage = 1
- 268 0002 C82F mov r28,r24
- 269 0004 6A9A sbi 0xd,2
- 270 0006 729A sbi 0xe,2
- 271 0008 0E94 0000 call LcdSendNibble
- 272 000c 81E0 ldi r24,lo8(1)
- 273 000e 0E94 0000 call LcdDelay
- 274 0012 8C2F mov r24,r28
- 275 0014 8295 swap r24
- 276 0016 807F andi r24,lo8(-16)
- 277 0018 0E94 0000 call LcdSendNibble
- 278 001c 81E0 ldi r24,lo8(1)
- 279 /* epilogue start */
- 280 001e CF91 pop r28
- 281 0020 0C94 0000 jmp LcdDelay
- 282 .size LcdWriteData, .-LcdWriteData
- 283 .global devLcd
- 284 .data
- 285 .type devLcd, @object
- GAS LISTING /tmp/cc67azdq.s page 6
- 286 .size devLcd, 37
- 287 devLcd:
- 288 0000 0000 .word 0
- 289 0002 6C .byte 108
- 290 0003 63 .byte 99
- 291 0004 64 .byte 100
- 292 0005 00 .byte 0
- 293 0006 00 .byte 0
- 294 0007 00 .byte 0
- 295 0008 00 .byte 0
- 296 0009 00 .byte 0
- 297 000a 00 .byte 0
- 298 000b 02 .byte 2
- 299 000c 0000 .word 0
- 300 000e 00 .byte 0
- 301 000f 0000 .word 0
- 302 0011 0000 .word dcb_term
- 303 0013 0000 .word gs(TermInit)
- 304 0015 0000 .word gs(TermIOCtl)
- 305 0017 0000 .word 0
- 306 0019 0000 .word gs(TermWrite)
- 307 001b 0000 .word gs(TermWrite_P)
- 308 001d 0000 .word gs(TermOpen)
- 309 001f 0000 .word gs(TermClose)
- 310 0021 0000 .word 0
- 311 0023 0000 .word 0
- 312 .global dcb_term
- 313 .type dcb_term, @object
- 314 .size dcb_term, 32
- 315 dcb_term:
- 316 0025 0000 .word gs(LcdInit)
- 317 0027 0000 .word gs(LcdWriteData)
- 318 0029 0000 .word gs(LcdWriteCmd)
- 319 002b 0000 .word gs(LcdClear)
- 320 002d 0000 .word gs(LcdSetCursor)
- 321 002f 0000 .word gs(LcdCursorHome)
- 322 0031 0000 .word gs(LcdCursorLeft)
- 323 0033 0000 .word gs(LcdCursorRight)
- 324 0035 0000 .word gs(LcdCursorMode)
- 325 0037 00 .byte 0
- 326 0038 00 .byte 0
- 327 0039 00 .byte 0
- 328 003a 00 .byte 0
- 329 003b 00 .byte 0
- 330 003c 02 .byte 2
- 331 003d 10 .byte 16
- 332 003e 10 .byte 16
- 333 003f 00 .byte 0
- 334 0040 00 .byte 0
- 335 0041 0000 .word 0
- 336 0043 0000 .zero 2
- 337 .type during_init, @object
- 338 .size during_init, 1
- 339 during_init:
- 340 0045 01 .byte 1
- 341 .ident "GCC: (GNU) 5.3.0"
- 342 .global __do_copy_data
- GAS LISTING /tmp/cc67azdq.s page 7
- GAS LISTING /tmp/cc67azdq.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 hd44780.c
- /tmp/cc67azdq.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc67azdq.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc67azdq.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc67azdq.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc67azdq.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc67azdq.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc67azdq.s:10 .text.LcdSendNibble:0000000000000000 LcdSendNibble
- /tmp/cc67azdq.s:57 .text.LcdDelay:0000000000000000 LcdDelay
- /tmp/cc67azdq.s:66 .text.LcdWriteCmd:0000000000000000 LcdWriteCmd
- /tmp/cc67azdq.s:102 .text.LcdCursorMode:0000000000000000 LcdCursorMode
- /tmp/cc67azdq.s:113 .text.LcdCursorRight:0000000000000000 LcdCursorRight
- /tmp/cc67azdq.s:124 .text.LcdCursorLeft:0000000000000000 LcdCursorLeft
- /tmp/cc67azdq.s:135 .text.LcdCursorHome:0000000000000000 LcdCursorHome
- /tmp/cc67azdq.s:146 .text.LcdSetCursor:0000000000000000 LcdSetCursor
- /tmp/cc67azdq.s:187 .text.LcdClear:0000000000000000 LcdClear
- /tmp/cc67azdq.s:198 .text.LcdInit:0000000000000000 LcdInit
- /tmp/cc67azdq.s:339 .data:0000000000000045 during_init
- /tmp/cc67azdq.s:262 .text.LcdWriteData:0000000000000000 LcdWriteData
- /tmp/cc67azdq.s:287 .data:0000000000000000 devLcd
- /tmp/cc67azdq.s:315 .data:0000000000000025 dcb_term
- UNDEFINED SYMBOLS
- NutDelay
- TermInit
- TermIOCtl
- TermWrite
- TermWrite_P
- TermOpen
- TermClose
- __do_copy_data
|