owibus_uartif.lst 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. GAS LISTING /tmp/cc5uNM0L.s page 1
  2. 1 .file "owibus_uartif.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .text.NutRegisterOwiBus_Uart,"ax",@progbits
  10. 9 .global NutRegisterOwiBus_Uart
  11. 10 .type NutRegisterOwiBus_Uart, @function
  12. 11 NutRegisterOwiBus_Uart:
  13. 12 0000 AF92 push r10
  14. 13 0002 BF92 push r11
  15. 14 0004 CF92 push r12
  16. 15 0006 DF92 push r13
  17. 16 0008 EF92 push r14
  18. 17 000a FF92 push r15
  19. 18 000c 0F93 push r16
  20. 19 000e 1F93 push r17
  21. 20 0010 CF93 push r28
  22. 21 0012 DF93 push r29
  23. 22 /* prologue: function */
  24. 23 /* frame size = 0 */
  25. 24 /* stack size = 10 */
  26. 25 .L__stack_usage = 10
  27. 26 0014 EC01 movw r28,r24
  28. 27 0016 6B01 movw r12,r22
  29. 28 0018 5A01 movw r10,r20
  30. 29 001a 40E0 ldi r20,0
  31. 30 001c 60E0 ldi r22,0
  32. 31 001e 70E0 ldi r23,0
  33. 32 0020 C601 movw r24,r12
  34. 33 0022 0E94 0000 call NutRegisterDevice
  35. 34 0026 8C01 movw r16,r24
  36. 35 0028 892B or r24,r25
  37. 36 002a 01F4 brne .L4
  38. 37 002c 66E0 ldi r22,lo8(6)
  39. 38 002e 70E0 ldi r23,0
  40. 39 0030 81E0 ldi r24,lo8(1)
  41. 40 0032 90E0 ldi r25,0
  42. 41 0034 0E94 0000 call calloc
  43. 42 0038 7C01 movw r14,r24
  44. 43 003a 0097 sbiw r24,0
  45. 44 003c 01F0 breq .L5
  46. 45 003e A501 movw r20,r10
  47. 46 0040 B601 movw r22,r12
  48. 47 0042 0E94 0000 call Uart_OwiInit
  49. 48 0046 6C01 movw r12,r24
  50. 49 0048 892B or r24,r25
  51. 50 004a 01F0 breq .L3
  52. 51 004c C701 movw r24,r14
  53. 52 004e 0E94 0000 call free
  54. 53 0052 8601 movw r16,r12
  55. 54 0054 00C0 rjmp .L2
  56. 55 .L3:
  57. 56 0056 F982 std Y+1,r15
  58. 57 0058 E882 st Y,r14
  59. GAS LISTING /tmp/cc5uNM0L.s page 2
  60. 58 005a 1F82 std Y+7,__zero_reg__
  61. 59 005c 1E82 std Y+6,__zero_reg__
  62. 60 005e 80E0 ldi r24,lo8(gs(Uart_OwiTouchReset))
  63. 61 0060 90E0 ldi r25,hi8(gs(Uart_OwiTouchReset))
  64. 62 0062 9987 std Y+9,r25
  65. 63 0064 8887 std Y+8,r24
  66. 64 0066 80E0 ldi r24,lo8(gs(Uart_OwiReadBlock))
  67. 65 0068 90E0 ldi r25,hi8(gs(Uart_OwiReadBlock))
  68. 66 006a 9B87 std Y+11,r25
  69. 67 006c 8A87 std Y+10,r24
  70. 68 006e 80E0 ldi r24,lo8(gs(Uart_OwiWriteBlock))
  71. 69 0070 90E0 ldi r25,hi8(gs(Uart_OwiWriteBlock))
  72. 70 0072 9D87 std Y+13,r25
  73. 71 0074 8C87 std Y+12,r24
  74. 72 0076 1A82 std Y+2,__zero_reg__
  75. 73 0078 1B82 std Y+3,__zero_reg__
  76. 74 007a 1C82 std Y+4,__zero_reg__
  77. 75 007c 1D82 std Y+5,__zero_reg__
  78. 76 007e 00C0 rjmp .L2
  79. 77 .L4:
  80. 78 0080 0EEF ldi r16,lo8(-2)
  81. 79 0082 1FEF ldi r17,lo8(-1)
  82. 80 0084 00C0 rjmp .L2
  83. 81 .L5:
  84. 82 0086 0DEF ldi r16,lo8(-3)
  85. 83 0088 1FEF ldi r17,lo8(-1)
  86. 84 .L2:
  87. 85 008a C801 movw r24,r16
  88. 86 /* epilogue start */
  89. 87 008c DF91 pop r29
  90. 88 008e CF91 pop r28
  91. 89 0090 1F91 pop r17
  92. 90 0092 0F91 pop r16
  93. 91 0094 FF90 pop r15
  94. 92 0096 EF90 pop r14
  95. 93 0098 DF90 pop r13
  96. 94 009a CF90 pop r12
  97. 95 009c BF90 pop r11
  98. 96 009e AF90 pop r10
  99. 97 00a0 0895 ret
  100. 98 .size NutRegisterOwiBus_Uart, .-NutRegisterOwiBus_Uart
  101. 99 .ident "GCC: (GNU) 5.3.0"
  102. GAS LISTING /tmp/cc5uNM0L.s page 3
  103. DEFINED SYMBOLS
  104. *ABS*:0000000000000000 owibus_uartif.c
  105. /tmp/cc5uNM0L.s:2 *ABS*:000000000000003e __SP_H__
  106. /tmp/cc5uNM0L.s:3 *ABS*:000000000000003d __SP_L__
  107. /tmp/cc5uNM0L.s:4 *ABS*:000000000000003f __SREG__
  108. /tmp/cc5uNM0L.s:5 *ABS*:000000000000003b __RAMPZ__
  109. /tmp/cc5uNM0L.s:6 *ABS*:0000000000000000 __tmp_reg__
  110. /tmp/cc5uNM0L.s:7 *ABS*:0000000000000001 __zero_reg__
  111. /tmp/cc5uNM0L.s:11 .text.NutRegisterOwiBus_Uart:0000000000000000 NutRegisterOwiBus_Uart
  112. UNDEFINED SYMBOLS
  113. NutRegisterDevice
  114. calloc
  115. Uart_OwiInit
  116. free
  117. Uart_OwiTouchReset
  118. Uart_OwiReadBlock
  119. Uart_OwiWriteBlock