fread.lst 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. GAS LISTING /tmp/ccSbHaPe.s page 1
  2. 1 .file "fread.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.fread,"ax",@progbits
  10. 9 .global fread
  11. 10 .type fread, @function
  12. 11 fread:
  13. 12 0000 EF92 push r14
  14. 13 0002 FF92 push r15
  15. 14 0004 0F93 push r16
  16. 15 0006 1F93 push r17
  17. 16 0008 CF93 push r28
  18. 17 000a DF93 push r29
  19. 18 /* prologue: function */
  20. 19 /* frame size = 0 */
  21. 20 /* stack size = 6 */
  22. 21 .L__stack_usage = 6
  23. 22 000c FC01 movw r30,r24
  24. 23 000e 7B01 movw r14,r22
  25. 24 0010 E901 movw r28,r18
  26. 25 0012 6230 cpi r22,2
  27. 26 0014 7105 cpc r23,__zero_reg__
  28. 27 0016 00F0 brlo .L2
  29. 28 0018 CA01 movw r24,r20
  30. 29 001a 869F mul r24,r22
  31. 30 001c A001 movw r20,r0
  32. 31 001e 879F mul r24,r23
  33. 32 0020 500D add r21,r0
  34. 33 0022 969F mul r25,r22
  35. 34 0024 500D add r21,r0
  36. 35 0026 1124 clr r1
  37. 36 .L2:
  38. 37 0028 9C81 ldd r25,Y+4
  39. 38 002a 93FF sbrs r25,3
  40. 39 002c 00C0 rjmp .L7
  41. 40 002e 977F andi r25,lo8(-9)
  42. 41 0030 9C83 std Y+4,r25
  43. 42 0032 8D81 ldd r24,Y+5
  44. 43 0034 8193 st Z+,r24
  45. 44 0036 4150 subi r20,1
  46. 45 0038 5109 sbc r21,__zero_reg__
  47. 46 003a 01E0 ldi r16,lo8(1)
  48. 47 003c 10E0 ldi r17,0
  49. 48 003e 00C0 rjmp .L3
  50. 49 .L7:
  51. 50 0040 00E0 ldi r16,0
  52. 51 0042 10E0 ldi r17,0
  53. 52 .L3:
  54. 53 0044 BF01 movw r22,r30
  55. 54 0046 8881 ld r24,Y
  56. 55 0048 9981 ldd r25,Y+1
  57. 56 004a 0E94 0000 call _read
  58. 57 004e 0097 sbiw r24,0
  59. GAS LISTING /tmp/ccSbHaPe.s page 2
  60. 58 0050 01F4 brne .L4
  61. 59 0052 2C81 ldd r18,Y+4
  62. 60 0054 2062 ori r18,lo8(32)
  63. 61 0056 2C83 std Y+4,r18
  64. 62 0058 00C0 rjmp .L5
  65. 63 .L4:
  66. 64 005a 8F3F cpi r24,-1
  67. 65 005c 2FEF ldi r18,-1
  68. 66 005e 9207 cpc r25,r18
  69. 67 0060 01F4 brne .L5
  70. 68 0062 8C81 ldd r24,Y+4
  71. 69 0064 8061 ori r24,lo8(16)
  72. 70 0066 8C83 std Y+4,r24
  73. 71 0068 80E0 ldi r24,0
  74. 72 006a 90E0 ldi r25,0
  75. 73 .L5:
  76. 74 006c 800F add r24,r16
  77. 75 006e 911F adc r25,r17
  78. 76 0070 22E0 ldi r18,2
  79. 77 0072 E216 cp r14,r18
  80. 78 0074 F104 cpc r15,__zero_reg__
  81. 79 0076 00F0 brlo .L6
  82. 80 0078 B701 movw r22,r14
  83. 81 007a 0E94 0000 call __udivmodhi4
  84. 82 007e CB01 movw r24,r22
  85. 83 .L6:
  86. 84 /* epilogue start */
  87. 85 0080 DF91 pop r29
  88. 86 0082 CF91 pop r28
  89. 87 0084 1F91 pop r17
  90. 88 0086 0F91 pop r16
  91. 89 0088 FF90 pop r15
  92. 90 008a EF90 pop r14
  93. 91 008c 0895 ret
  94. 92 .size fread, .-fread
  95. 93 .ident "GCC: (GNU) 5.3.0"
  96. GAS LISTING /tmp/ccSbHaPe.s page 3
  97. DEFINED SYMBOLS
  98. *ABS*:0000000000000000 fread.c
  99. /tmp/ccSbHaPe.s:2 *ABS*:000000000000003e __SP_H__
  100. /tmp/ccSbHaPe.s:3 *ABS*:000000000000003d __SP_L__
  101. /tmp/ccSbHaPe.s:4 *ABS*:000000000000003f __SREG__
  102. /tmp/ccSbHaPe.s:5 *ABS*:000000000000003b __RAMPZ__
  103. /tmp/ccSbHaPe.s:6 *ABS*:0000000000000000 __tmp_reg__
  104. /tmp/ccSbHaPe.s:7 *ABS*:0000000000000001 __zero_reg__
  105. /tmp/ccSbHaPe.s:11 .text.fread:0000000000000000 fread
  106. UNDEFINED SYMBOLS
  107. _read
  108. __udivmodhi4