write.lst 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. GAS LISTING /tmp/cc2aBw2m.s page 1
  2. 1 .file "write.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._write,"ax",@progbits
  10. 9 .global _write
  11. 10 .type _write, @function
  12. 11 _write:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 8830 cpi r24,8
  18. 17 0002 9105 cpc r25,__zero_reg__
  19. 18 0004 00F0 brlo .L2
  20. 19 .L4:
  21. 20 0006 89E0 ldi r24,lo8(9)
  22. 21 0008 90E0 ldi r25,0
  23. 22 000a 9093 0000 sts errno+1,r25
  24. 23 000e 8093 0000 sts errno,r24
  25. 24 0012 00C0 rjmp .L3
  26. 25 .L2:
  27. 26 0014 880F lsl r24
  28. 27 0016 991F rol r25
  29. 28 0018 FC01 movw r30,r24
  30. 29 001a E050 subi r30,lo8(-(__fds))
  31. 30 001c F040 sbci r31,hi8(-(__fds))
  32. 31 001e 8081 ld r24,Z
  33. 32 0020 9181 ldd r25,Z+1
  34. 33 0022 0097 sbiw r24,0
  35. 34 0024 01F0 breq .L4
  36. 35 0026 DC01 movw r26,r24
  37. 36 0028 ED91 ld r30,X+
  38. 37 002a FC91 ld r31,X
  39. 38 002c 1197 sbiw r26,1
  40. 39 002e 3097 sbiw r30,0
  41. 40 0030 01F4 brne .L5
  42. 41 0032 1796 adiw r26,7
  43. 42 0034 ED91 ld r30,X+
  44. 43 0036 FC91 ld r31,X
  45. 44 0038 1897 sbiw r26,7+1
  46. 45 003a 00C0 rjmp .L11
  47. 46 .L5:
  48. 47 003c 018C ldd __tmp_reg__,Z+25
  49. 48 003e F28D ldd r31,Z+26
  50. 49 0040 E02D mov r30,__tmp_reg__
  51. 50 0042 3097 sbiw r30,0
  52. 51 0044 01F0 breq .L3
  53. 52 .L11:
  54. 53 0046 1994 eijmp
  55. 54 .L3:
  56. 55 0048 8FEF ldi r24,lo8(-1)
  57. 56 004a 9FEF ldi r25,lo8(-1)
  58. 57 004c 0895 ret
  59. GAS LISTING /tmp/cc2aBw2m.s page 2
  60. 58 .size _write, .-_write
  61. 59 .ident "GCC: (GNU) 5.3.0"
  62. GAS LISTING /tmp/cc2aBw2m.s page 3
  63. DEFINED SYMBOLS
  64. *ABS*:0000000000000000 write.c
  65. /tmp/cc2aBw2m.s:2 *ABS*:000000000000003e __SP_H__
  66. /tmp/cc2aBw2m.s:3 *ABS*:000000000000003d __SP_L__
  67. /tmp/cc2aBw2m.s:4 *ABS*:000000000000003f __SREG__
  68. /tmp/cc2aBw2m.s:5 *ABS*:000000000000003b __RAMPZ__
  69. /tmp/cc2aBw2m.s:6 *ABS*:0000000000000000 __tmp_reg__
  70. /tmp/cc2aBw2m.s:7 *ABS*:0000000000000001 __zero_reg__
  71. /tmp/cc2aBw2m.s:11 .text._write:0000000000000000 _write
  72. UNDEFINED SYMBOLS
  73. errno
  74. __fds