getenv.lst 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. GAS LISTING /tmp/ccrmtQgF.s page 1
  2. 1 .file "getenv.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.getenv,"ax",@progbits
  10. 9 .global getenv
  11. 10 .type getenv, @function
  12. 11 getenv:
  13. 12 /* prologue: function */
  14. 13 /* frame size = 0 */
  15. 14 /* stack size = 0 */
  16. 15 .L__stack_usage = 0
  17. 16 0000 0E94 0000 call findenv
  18. 17 0004 0097 sbiw r24,0
  19. 18 0006 01F0 breq .L3
  20. 19 0008 FC01 movw r30,r24
  21. 20 000a 8681 ldd r24,Z+6
  22. 21 000c 9781 ldd r25,Z+7
  23. 22 000e 0097 sbiw r24,0
  24. 23 0010 01F4 brne .L2
  25. 24 0012 80E0 ldi r24,lo8(empty_envval)
  26. 25 0014 90E0 ldi r25,hi8(empty_envval)
  27. 26 0016 00C0 rjmp .L2
  28. 27 .L3:
  29. 28 0018 80E0 ldi r24,0
  30. 29 001a 90E0 ldi r25,0
  31. 30 001c 0895 ret
  32. 31 .L2:
  33. 32 001e 0895 ret
  34. 33 .size getenv, .-getenv
  35. 34 .section .text.nextenv,"ax",@progbits
  36. 35 .global nextenv
  37. 36 .type nextenv, @function
  38. 37 nextenv:
  39. 38 /* prologue: function */
  40. 39 /* frame size = 0 */
  41. 40 /* stack size = 0 */
  42. 41 .L__stack_usage = 0
  43. 42 0000 0097 sbiw r24,0
  44. 43 0002 01F0 breq .L7
  45. 44 0004 DC01 movw r26,r24
  46. 45 0006 2C91 ld r18,X
  47. 46 0008 2223 tst r18
  48. 47 000a 01F0 breq .L7
  49. 48 000c 0E94 0000 call findenv
  50. 49 0010 0097 sbiw r24,0
  51. 50 0012 01F4 brne .L8
  52. 51 .L10:
  53. 52 0014 80E0 ldi r24,0
  54. 53 0016 90E0 ldi r25,0
  55. 54 0018 0895 ret
  56. 55 .L8:
  57. 56 001a DC01 movw r26,r24
  58. 57 001c ED91 ld r30,X+
  59. GAS LISTING /tmp/ccrmtQgF.s page 2
  60. 58 001e FC91 ld r31,X
  61. 59 0020 00C0 rjmp .L25
  62. 60 .L7:
  63. 61 0022 E091 0000 lds r30,nut_environ
  64. 62 0026 F091 0000 lds r31,nut_environ+1
  65. 63 .L25:
  66. 64 002a 3097 sbiw r30,0
  67. 65 002c 01F0 breq .L10
  68. 66 002e 8481 ldd r24,Z+4
  69. 67 0030 9581 ldd r25,Z+5
  70. 68 0032 0895 ret
  71. 69 .size nextenv, .-nextenv
  72. 70 .local empty_envval
  73. 71 .comm empty_envval,1,1
  74. 72 .ident "GCC: (GNU) 5.3.0"
  75. 73 .global __do_clear_bss
  76. GAS LISTING /tmp/ccrmtQgF.s page 3
  77. DEFINED SYMBOLS
  78. *ABS*:0000000000000000 getenv.c
  79. /tmp/ccrmtQgF.s:2 *ABS*:000000000000003e __SP_H__
  80. /tmp/ccrmtQgF.s:3 *ABS*:000000000000003d __SP_L__
  81. /tmp/ccrmtQgF.s:4 *ABS*:000000000000003f __SREG__
  82. /tmp/ccrmtQgF.s:5 *ABS*:000000000000003b __RAMPZ__
  83. /tmp/ccrmtQgF.s:6 *ABS*:0000000000000000 __tmp_reg__
  84. /tmp/ccrmtQgF.s:7 *ABS*:0000000000000001 __zero_reg__
  85. /tmp/ccrmtQgF.s:11 .text.getenv:0000000000000000 getenv
  86. .bss:0000000000000000 empty_envval
  87. /tmp/ccrmtQgF.s:37 .text.nextenv:0000000000000000 nextenv
  88. UNDEFINED SYMBOLS
  89. findenv
  90. nut_environ
  91. __do_clear_bss