Advertisement
whenov

Untitled

Apr 14th, 2014
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. ; Function compile flags: /Ogtpy
  2. ; File c:\users\meng\desktop\surfcascade\objdetector\featureextractors\densesurffeatureextractor.cpp
  3. ; COMDAT ?integral2@DenseSURFFeatureExtractor@@QEAAXHHPEAEPEAI@Z
  4. _TEXT SEGMENT
  5. this$dead$ = 48
  6. h$ = 56
  7. w$ = 64
  8. src$ = 72
  9. sum$ = 80
  10. ?integral2@DenseSURFFeatureExtractor@@QEAAXHHPEAEPEAI@Z PROC ; DenseSURFFeatureExtractor::integral2, COMDAT
  11.  
  12. ; 78 : {
  13.  
  14. $LN25:
  15. 00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
  16. 00005 48 89 6c 24 10 mov QWORD PTR [rsp+16], rbp
  17. 0000a 48 89 74 24 20 mov QWORD PTR [rsp+32], rsi
  18. 0000f 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
  19. 00014 57 push rdi
  20. 00015 41 54 push r12
  21. 00017 41 55 push r13
  22. 00019 41 56 push r14
  23. 0001b 41 57 push r15
  24.  
  25. ; 79 : uchar *pg;
  26. ; 80 : uint *ps;
  27. ; 81 : uint *psu;
  28. ; 82 : uint s; // line sum
  29. ; 83 :
  30. ; 84 : for (int c = 0; c < n_bins; c++) {
  31.  
  32. 0001d 48 8b 74 24 50 mov rsi, QWORD PTR sum$[rsp]
  33. 00022 42 8d 04 c5 10
  34. 00 00 00 lea eax, DWORD PTR [r8*8+16]
  35. 0002a 44 8d 7a 01 lea r15d, DWORD PTR [rdx+1]
  36. 0002e 41 0f af d0 imul edx, r8d
  37. 00032 48 63 c8 movsxd rcx, eax
  38. 00035 49 8b e9 mov rbp, r9
  39. 00038 41 be 08 00 00
  40. 00 mov r14d, 8
  41. 0003e 4c 63 e2 movsxd r12, edx
  42. 00041 48 83 c6 20 add rsi, 32 ; 00000020H
  43. 00045 4c 8d 2c 8d e0
  44. ff ff ff lea r13, QWORD PTR [rcx*4-32]
  45. 0004d 45 8b c8 mov r9d, r8d
  46. $LL9@integral2:
  47.  
  48. ; 85 : pg = src + c * w * h;
  49.  
  50. 00050 4c 8b d5 mov r10, rbp
  51.  
  52. ; 86 : ps = sum + n_bins * (w + 2) + c;
  53.  
  54. 00053 4e 8d 04 2e lea r8, QWORD PTR [rsi+r13]
  55.  
  56. ; 87 : psu = sum + n_bins + c;
  57.  
  58. 00057 48 8b c6 mov rax, rsi
  59.  
  60. ; 88 :
  61. ; 89 : for (int y = 1; y < h + 1; y++, ps += n_bins, psu += n_bins) {
  62.  
  63. 0005a 41 83 ff 01 cmp r15d, 1
  64. 0005e 7e 52 jle SHORT $LN8@integral2
  65.  
  66. ; 85 : pg = src + c * w * h;
  67.  
  68. 00060 41 8d 79 01 lea edi, DWORD PTR [r9+1]
  69. 00064 41 8d 5f ff lea ebx, DWORD PTR [r15-1]
  70. $LL6@integral2:
  71.  
  72. ; 90 : s = 0;
  73.  
  74. 00068 45 33 c9 xor r9d, r9d
  75.  
  76. ; 91 :
  77. ; 92 : for (int x = 1; x < w + 1; x++, pg++, ps += n_bins, psu += n_bins) {
  78.  
  79. 0006b 83 ff 01 cmp edi, 1
  80. 0006e 7e 30 jle SHORT $LN5@integral2
  81.  
  82. ; 90 : s = 0;
  83.  
  84. 00070 44 8d 5f ff lea r11d, DWORD PTR [rdi-1]
  85. 00074 0f 1f 40 00 0f
  86. 1f 84 00 00 00
  87. 00 00 npad 12
  88. $LL3@integral2:
  89.  
  90. ; 93 : s += *pg;
  91.  
  92. 00080 41 0f b6 0a movzx ecx, BYTE PTR [r10]
  93.  
  94. ; 94 : *ps = *psu + s;
  95.  
  96. 00084 8b 10 mov edx, DWORD PTR [rax]
  97. 00086 49 83 c0 20 add r8, 32 ; 00000020H
  98. 0008a 44 03 c9 add r9d, ecx
  99. 0008d 49 ff c2 inc r10
  100. 00090 48 83 c0 20 add rax, 32 ; 00000020H
  101. 00094 41 03 d1 add edx, r9d
  102. 00097 41 89 50 e0 mov DWORD PTR [r8-32], edx
  103. 0009b 49 ff cb dec r11
  104. 0009e 75 e0 jne SHORT $LL3@integral2
  105. $LN5@integral2:
  106.  
  107. ; 88 :
  108. ; 89 : for (int y = 1; y < h + 1; y++, ps += n_bins, psu += n_bins) {
  109.  
  110. 000a0 49 83 c0 20 add r8, 32 ; 00000020H
  111. 000a4 48 83 c0 20 add rax, 32 ; 00000020H
  112. 000a8 48 ff cb dec rbx
  113. 000ab 75 bb jne SHORT $LL6@integral2
  114. 000ad 44 8b 4c 24 40 mov r9d, DWORD PTR w$[rsp]
  115. $LN8@integral2:
  116.  
  117. ; 79 : uchar *pg;
  118. ; 80 : uint *ps;
  119. ; 81 : uint *psu;
  120. ; 82 : uint s; // line sum
  121. ; 83 :
  122. ; 84 : for (int c = 0; c < n_bins; c++) {
  123.  
  124. 000b2 49 03 ec add rbp, r12
  125. 000b5 48 83 c6 04 add rsi, 4
  126. 000b9 49 ff ce dec r14
  127. 000bc 75 92 jne SHORT $LL9@integral2
  128.  
  129. ; 95 : }
  130. ; 96 : }
  131. ; 97 : }
  132. ; 98 : }
  133.  
  134. 000be 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
  135. 000c3 48 8b 6c 24 38 mov rbp, QWORD PTR [rsp+56]
  136. 000c8 48 8b 74 24 48 mov rsi, QWORD PTR [rsp+72]
  137. 000cd 41 5f pop r15
  138. 000cf 41 5e pop r14
  139. 000d1 41 5d pop r13
  140. 000d3 41 5c pop r12
  141. 000d5 5f pop rdi
  142. 000d6 c3 ret 0
  143. ?integral2@DenseSURFFeatureExtractor@@QEAAXHHPEAEPEAI@Z ENDP ; DenseSURFFeatureExtractor::integral2
  144. _TEXT ENDS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement