Permalink
Browse files

EN-A5 is now looks better

  • Loading branch information...
1 parent 4188a48 commit 07af774877b9c98e6f4927b0883a4c6d2404c13f @dennis714 committed Sep 30, 2016
Showing with 1,312 additions and 1,446 deletions.
  1. +1 −0 .gitignore
  2. +4 −4 C3_in_AH.tex
  3. +4 −4 C3_in_AX.tex
  4. +2 −2 OS/SEH/1/main_EN.tex
  5. +2 −2 OS/SEH/1/main_RU.tex
  6. +2 −2 OS/TLS/win32/rand_init_IDA.lst
  7. +3 −3 OS/TLS/win32/rand_x64_uninit.asm
  8. +3 −3 OS/TLS/win32/rand_x86_uninit.asm
  9. +1 −1 OS/calling_conventions/fastcall_ex.asm
  10. +4 −4 OS/calling_conventions/stdcall_ex.asm
  11. +4 −4 OS/calling_conventions/x64_MSVC_Ob.asm
  12. +4 −4 OS/calling_conventions/x64_MSVC_Ox_Ob.asm
  13. +4 −0 acronyms.tex
  14. +5 −5 advanced/100_fahrenheit/f_MSVC_2010_x86_Ox_EN.asm
  15. +5 −5 advanced/100_fahrenheit/f_MSVC_2010_x86_Ox_RU.asm
  16. +5 −5 advanced/100_fahrenheit/f_MSVC_2012_x86_Ox_EN.asm
  17. +6 −6 advanced/100_fahrenheit/f_MSVC_2012_x86_Ox_RU.asm
  18. +8 −8 advanced/100_fahrenheit/i_MSVC_2012_Ox_x86_EN.asm
  19. +10 −10 advanced/100_fahrenheit/i_MSVC_2012_Ox_x86_RU.asm
  20. +15 −15 advanced/111_netmask/main_EN.tex
  21. +15 −15 advanced/111_netmask/main_RU.tex
  22. +1 −1 advanced/350_cpp/classes/4_virtual.tex
  23. +3 −0 advanced/350_cpp/memory_EN.tex
  24. +1 −2 advanced/400_win16/ex6_EN.tex
  25. +8 −9 advanced/450_more_ptrs/4.tex
  26. +1 −1 advanced/450_more_ptrs/main.tex
  27. BIN advanced/450_more_ptrs/tc30.png
  28. +8 −8 advanced/500_loop_optimizations/2.tex
  29. +20 −20 advanced/600_memmove/main_EN.tex
  30. +1 −1 advanced/650_stack/main_EN.tex
  31. +2 −1 afterword_EN.tex
  32. +2 −1 afterword_ES.tex
  33. +2 −1 afterword_IT.tex
  34. +2 −1 afterword_NL.tex
  35. +2 −1 afterword_RU.tex
  36. +11 −4 appendix/ARM/instructions.tex
  37. +5 −2 appendix/GDB.tex
  38. +3 −2 appendix/IDA.tex
  39. +5 −2 appendix/MIPS/main.tex
  40. +2 −0 appendix/x86/DRx.tex
  41. +9 −8 appendix/x86/instructions.tex
  42. +2 −1 appendix/x86/instructions/CALL.tex
  43. +2 −2 appendix/x86/instructions/LEA.tex
  44. +2 −2 appendix/x86/instructions/NOT.tex
  45. +3 −4 appendix/x86/instructions/RET.tex
  46. +19 −13 appendix/x86/registers.tex
  47. +1 −1 crypto_reading.tex
  48. +1 −1 digging_into_code/constants_EN.tex
  49. +1 −1 digging_into_code/constants_RU.tex
  50. +2 −2 digging_into_code/instructions.tex
  51. +1 −1 digging_into_code/sshd_strings.txt
  52. +1 −1 digging_into_code/strings.tex
  53. +3 −2 examples/SAP/sap_passwords.tex
  54. +144 −144 examples/bitcoin_miner/main_EN.tex
  55. +1 −1 examples/demos/mandelbrot/main_EN.tex
  56. +1 −1 examples/demos/mandelbrot/main_RU.tex
  57. +2 −1 examples/examples.tex
  58. +109 −106 examples/oracle/1_version.tex
  59. +23 −23 examples/oracle/2_ksmlru.tex
  60. +90 −89 examples/oracle/3_timer.tex
  61. +4 −2 examples/taskmgr/main.tex
  62. +107 −107 examples/timedate/1.lst
  63. +17 −17 examples/timedate/2.lst
  64. +87 −86 examples/timedate/main_EN.tex
  65. BIN ff/Oracle_MSB/2.png
  66. BIN ff/Oracle_MSB/2_prev.png
  67. BIN ff/Oracle_MSB/3.png
  68. BIN ff/Oracle_MSB/3_prev.png
  69. BIN ff/Oracle_MSB/4.png
  70. BIN ff/Oracle_MSB/4_prev.png
  71. BIN ff/Oracle_SYM/binary1.png
  72. BIN ff/Oracle_SYM/binary1_original.png
  73. BIN ff/Oracle_SYM/binary2.png
  74. BIN ff/Oracle_SYM/binary2_original.png
  75. +45 −45 ff/Oracle_SYM/main.tex
  76. BIN ff/Oracle_SYM/whole64.png
  77. BIN ff/Oracle_SYM/whole64_original.png
  78. +3 −3 ff/entropy/main_EN.tex
  79. +2 −2 ff/fortune/main_EN.tex
  80. +1 −0 fundamentals/AND_EN.tex
  81. +5 −1 fundamentals/AND_OR_as_SUB_ADD_EN.tex
  82. +1 −1 fundamentals/POPCNT_EN.tex
  83. +1 −1 fundamentals/XOR_EN.tex
  84. +10 −10 fundamentals/ZX_Spectrum_ROM.lst
  85. +1 −1 fundamentals/data_types_and_numbers.tex
  86. +1 −1 fundamentals/signed_numbers_EN.tex
  87. +1 −1 fundamentals/signed_numbers_ES.tex
  88. +1 −1 fundamentals/signed_numbers_RU.tex
  89. +2 −2 macros.tex
  90. +6 −1 other/args_stat.tex
  91. +46 −45 other/itanium/ia64_linux_3.2.0.4_mckinley.lst
  92. +1 −0 other/npad.tex
  93. +5 −5 other/openmp/MSVC_1.asm
  94. +2 −2 other/openmp/MSVC_2.asm
  95. +1 −1 other/openmp/MSVC_loop.asm
  96. +2 −1 other/openmp/main.tex
  97. +36 −0 patterns/04_scanf/2_global/ARM.lst
  98. +12 −0 patterns/04_scanf/2_global/IDA.lst
  99. +1 −38 patterns/04_scanf/2_global/ex2_global_vars_ARM_EN.tex
  100. +1 −38 patterns/04_scanf/2_global/ex2_global_vars_ARM_ITA.tex
  101. +1 −38 patterns/04_scanf/2_global/ex2_global_vars_ARM_RU.tex
  102. +1 −14 patterns/04_scanf/2_global/ex2_global_vars_x86_EN.tex
  103. +1 −14 patterns/04_scanf/2_global/ex2_global_vars_x86_ITA.tex
  104. +1 −14 patterns/04_scanf/2_global/ex2_global_vars_x86_PTBR.tex
  105. +1 −14 patterns/04_scanf/2_global/ex2_global_vars_x86_RU.tex
  106. +4 −0 patterns/04_scanf/3_checking_retval/console.txt
  107. +19 −19 patterns/04_scanf/3_checking_retval/ex3_ARM_Keil_thumb_O3.asm
  108. BIN patterns/04_scanf/3_checking_retval/olly_3.png
  109. +1 −5 patterns/04_scanf/3_checking_retval/olly_EN.tex
  110. +1 −5 patterns/04_scanf/3_checking_retval/olly_ITA.tex
  111. +1 −5 patterns/04_scanf/3_checking_retval/olly_RU.tex
  112. +2 −1 patterns/04_scanf/3_checking_retval/x86_EN.tex
  113. +2 −1 patterns/04_scanf/3_checking_retval/x86_RU.tex
  114. +6 −0 patterns/065_GOTO/console.txt
  115. +1 −6 patterns/065_GOTO/main_EN.tex
  116. +1 −6 patterns/065_GOTO/main_ITA.tex
  117. +1 −6 patterns/065_GOTO/main_RU.tex
  118. BIN patterns/065_GOTO/result.png
  119. +0 −3 patterns/08_switch/1_few/MIPS_O3_IDA_EN.lst
  120. +0 −3 patterns/08_switch/1_few/MIPS_O3_IDA_RU.lst
  121. +25 −25 patterns/08_switch/3_several_cases/ARM64_GCC491_O3_IDA.lst
  122. +0 −1 patterns/09_loops/simple/MIPS_O0_IDA_EN.lst
  123. +0 −1 patterns/09_loops/simple/MIPS_O0_IDA_RU.lst
  124. +1 −1 patterns/09_loops/simple/loops_1_EN.c
  125. +1 −1 patterns/09_loops/simple/loops_1_RU.c
  126. +1 −1 patterns/09_loops/simple/loops_3_EN.c
  127. +1 −1 patterns/09_loops/simple/loops_3_RU.c
  128. +3 −2 patterns/10_strings/1_strlen/x86_EN.tex
  129. +4 −2 patterns/10_strings/1_strlen/x86_RU.tex
  130. +2 −2 patterns/11_arith_optimizations/MIPS_SLL.lst
  131. +3 −3 patterns/11_arith_optimizations/div_EN.tex
  132. +3 −3 patterns/11_arith_optimizations/div_RU.tex
  133. +1 −1 patterns/11_arith_optimizations/mult_EN.tex
  134. +1 −1 patterns/11_arith_optimizations/mult_RU.tex
  135. +1 −1 patterns/12_FPU/3_comparison/ARM/ARM32_EN.tex
  136. +3 −3 patterns/12_FPU/3_comparison/x86/GCC_O3_EN.asm
  137. +1 −1 patterns/12_FPU/3_comparison/x86/MSVC/MSVC_EN.asm
  138. +1 −1 patterns/12_FPU/3_comparison/x86/MSVC/MSVC_RU.asm
  139. +1 −1 patterns/12_FPU/main_EN.tex
  140. +1 −1 patterns/12_FPU/main_RU.tex
  141. +2 −1 patterns/13_arrays/1_simple/ARM_EN.tex
  142. +2 −1 patterns/13_arrays/1_simple/ARM_RU.tex
  143. +2 −0 patterns/13_arrays/2_BO/console.txt
  144. BIN patterns/13_arrays/2_BO/olly_r3.png
  145. +1 −6 patterns/13_arrays/2_BO/reading_EN.tex
  146. +1 −6 patterns/13_arrays/2_BO/reading_RU.tex
  147. +2 −2 patterns/13_arrays/3_BO_protection/main_EN.tex
  148. +2 −2 patterns/13_arrays/3_BO_protection/main_RU.tex
  149. +1 −1 patterns/13_arrays/45_month_1D/main_EN.tex
  150. +0 −3 patterns/13_arrays/55_month_2D/main_EN.tex
  151. +1 −4 patterns/13_arrays/55_month_2D/main_RU.tex
  152. +1 −0 patterns/13_arrays/5_multidimensional/main_EN.tex
  153. +25 −25 patterns/13_arrays/5_multidimensional/multi_gcc_EN.asm
  154. +25 −25 patterns/13_arrays/5_multidimensional/multi_gcc_RU.asm
  155. +3 −3 patterns/145_LCG/rand_MSVC_2013_x64_Ox_EN.asm
  156. +3 −3 patterns/145_LCG/rand_MSVC_2013_x64_Ox_RU.asm
  157. +2 −2 patterns/145_LCG/rand_MSVC_2013_x86.asm
  158. +2 −2 patterns/145_LCG/rand_MSVC_2013_x86_Ox.asm
  159. +1 −32 patterns/14_bitfields/1_check/ARM_EN.tex
  160. +1 −32 patterns/14_bitfields/1_check/ARM_RU.tex
  161. +30 −0 patterns/14_bitfields/1_check/IDA.lst
  162. +1 −1 patterns/14_bitfields/1_check/check3.asm
  163. +14 −14 patterns/14_bitfields/1_check/x86_EN.tex
  164. +16 −15 patterns/14_bitfields/1_check/x86_RU.tex
  165. +6 −6 patterns/14_bitfields/2_set_reset/x86_EN.tex
  166. +6 −6 patterns/14_bitfields/2_set_reset/x86_RU.tex
  167. +3 −3 patterns/14_bitfields/35_set_reset_FPU/abs_MSVC2012_Ox.asm
  168. +4 −4 patterns/14_bitfields/4_popcnt/MSVC_2012_x64_Ox_EN.asm
  169. +4 −4 patterns/14_bitfields/4_popcnt/MSVC_2012_x64_Ox_RU.asm
  170. +1 −1 patterns/14_bitfields/4_popcnt/olly_EN.tex
  171. +1 −1 patterns/14_bitfields/4_popcnt/olly_RU.tex
  172. +2 −0 patterns/15_structs/1_systemtime/console.txt
  173. +2 −7 patterns/15_structs/1_systemtime/olly_EN.tex
  174. +1 −6 patterns/15_structs/1_systemtime/olly_RU.tex
  175. BIN patterns/15_structs/1_systemtime/olly_systemtime2.png
  176. +2 −2 patterns/15_structs/3_tm_linux/MIPS/main_EN.tex
  177. +2 −2 patterns/15_structs/3_tm_linux/MIPS/main_RU.tex
  178. +2 −2 patterns/15_structs/4_packing/ARM_EN.tex
  179. +1 −1 patterns/15_structs/4_packing/olly_EN.tex
  180. +7 −0 patterns/15_structs/6_bitfields/cpuid/console.txt
  181. +2 −7 patterns/15_structs/6_bitfields/cpuid/olly_EN.tex
  182. +3 −7 patterns/15_structs/6_bitfields/cpuid/olly_RU.tex
  183. BIN patterns/15_structs/6_bitfields/cpuid/result.png
  184. +2 −2 patterns/17_unions/FPU_PRNG/MSVC2010_Ox_Ob0_EN.asm
  185. +2 −2 patterns/17_unions/FPU_PRNG/MSVC2010_Ox_Ob0_RU.asm
  186. +1 −0 patterns/17_unions/epsilon/main_EN.tex
  187. +1 −0 patterns/17_unions/epsilon/main_RU.tex
  188. +6 −6 patterns/19_SIMD/strlen_EN.tex
  189. +5 −6 patterns/19_SIMD/strlen_RU.tex
  190. +2 −3 reading_EN.tex
  191. +1 −2 reading_ES.tex
  192. +1 −2 reading_IT.tex
  193. +1 −2 reading_RU.tex
View
@@ -1,3 +1,4 @@
+*.2k
*.bak
*.asc
*.sig
View
@@ -6,10 +6,10 @@
\fi
\bitheader{6,2,1,0} \\
\bitbox{1}{} &
-\bitbox{1}{\TT{C3}} &
+\bitbox{1}{C3} &
\bitbox{3}{} &
-\bitbox{1}{\TT{C2}} &
-\bitbox{1}{\TT{C1}} &
-\bitbox{1}{\TT{C0}}
+\bitbox{1}{C2} &
+\bitbox{1}{C1} &
+\bitbox{1}{C0}
\end{bytefield}
\end{center}
View
@@ -6,11 +6,11 @@
\fi
\bitheader{14,10,9,8} \\
\bitbox{1}{} &
-\bitbox{1}{\TT{C3}} &
+\bitbox{1}{C3} &
\bitbox{3}{} &
-\bitbox{1}{\TT{C2}} &
-\bitbox{1}{\TT{C1}} &
-\bitbox{1}{\TT{C0}} &
+\bitbox{1}{C2} &
+\bitbox{1}{C1} &
+\bitbox{1}{C0} &
\bitbox{8}{}
\end{bytefield}
\end{center}
@@ -163,8 +163,8 @@ \subsubsection{Let's forget about MSVC}
\begin{center}
\begin{bytefield}[bitwidth=0.03\linewidth]{32}
\bitheader[endianness=big]{31,29,28,27,16,15,0} \\
-\bitbox{2}{\TT{S}} &
-\bitbox{1}{\TT{U}} &
+\bitbox{2}{S} &
+\bitbox{1}{U} &
\bitbox{1}{0} &
\bitbox{12}{Facility code} &
\bitbox{16}{Error code}
@@ -165,8 +165,8 @@ \subsubsection{Забудем на время о MSVC}
\begin{center}
\begin{bytefield}[bitwidth=0.03\linewidth]{32}
\bitheader[endianness=big]{31,29,28,27,16,15,0} \\
-\bitbox{2}{\TT{S}} &
-\bitbox{1}{\TT{U}} &
+\bitbox{2}{S} &
+\bitbox{1}{U} &
\bitbox{1}{0} &
\bitbox{12}{Facility code} &
\bitbox{16}{Error code}
@@ -3,11 +3,11 @@
.tls:00404000 _tls segment para public 'DATA' use32
.tls:00404000 assume cs:_tls
.tls:00404000 ;org 404000h
-.tls:00404000 TlsStart db 0 ; DATA XREF: .rdata:TlsDirectory
+.tls:00404000 TlsStart db 0 ; DATA XREF: .rdata:TlsDirectory
.tls:00404001 db 0
.tls:00404002 db 0
.tls:00404003 db 0
.tls:00404004 dd 1234
-.tls:00404008 TlsEnd db 0 ; DATA XREF: .rdata:TlsEnd_ptr
+.tls:00404008 TlsEnd db 0 ; DATA XREF: .rdata:TlsEnd_ptr
...
@@ -23,10 +23,10 @@ my_rand PROC
mov ecx, DWORD PTR _tls_index
mov edx, OFFSET FLAT:rand_state
mov rcx, QWORD PTR [rax+rcx*8]
- imul eax, DWORD PTR [rcx+rdx], 1664525 ; 0019660dH
- add eax, 1013904223 ; 3c6ef35fH
+ imul eax, DWORD PTR [rcx+rdx], 1664525 ; 0019660dH
+ add eax, 1013904223 ; 3c6ef35fH
mov DWORD PTR [rcx+rdx], eax
- and eax, 32767 ; 00007fffH
+ and eax, 32767 ; 00007fffH
ret 0
my_rand ENDP
@@ -7,7 +7,7 @@ $SG84851 DB '%d', 0aH, 00H
_DATA ENDS
_TEXT SEGMENT
-_init$ = 8 ; size = 4
+_init$ = 8 ; size = 4
_my_srand PROC
; FS:0=address of TIB
mov eax, DWORD PTR fs:__tls_array ; displayed in IDA as FS:2Ch
@@ -28,9 +28,9 @@ _my_rand PROC
mov ecx, DWORD PTR [eax+ecx*4]
; ECX=current TLS segment
imul eax, DWORD PTR _rand_state[ecx], 1664525
- add eax, 1013904223 ; 3c6ef35fH
+ add eax, 1013904223 ; 3c6ef35fH
mov DWORD PTR _rand_state[ecx], eax
- and eax, 32767 ; 00007fffH
+ and eax, 32767 ; 00007fffH
ret 0
_my_rand ENDP
@@ -1,4 +1,4 @@
-_c$ = 8 ; size = 4
+_c$ = 8 ; size = 4
@f3@12 PROC
; _a$ = ecx
; _b$ = edx
@@ -1,14 +1,14 @@
-_a$ = 8 ; size = 4
-_b$ = 12 ; size = 4
-_c$ = 16 ; size = 4
+_a$ = 8 ; size = 4
+_b$ = 12 ; size = 4
+_c$ = 16 ; size = 4
_f2@12 PROC
push ebp
mov ebp, esp
mov eax, DWORD PTR _a$[ebp]
imul eax, DWORD PTR _b$[ebp]
add eax, DWORD PTR _c$[ebp]
pop ebp
- ret 12 ; 0000000cH
+ ret 12
_f2@12 ENDP
; ...
@@ -1,7 +1,7 @@
$SG2937 DB '%d %d %d %d %d %d %d', 0aH, 00H
main PROC
- sub rsp, 72 ; 00000048H
+ sub rsp, 72
mov DWORD PTR [rsp+48], 7
mov DWORD PTR [rsp+40], 6
@@ -13,7 +13,7 @@ main PROC
call f1
xor eax, eax
- add rsp, 72 ; 00000048H
+ add rsp, 72
ret 0
main ENDP
@@ -30,7 +30,7 @@ $LN3:
mov DWORD PTR [rsp+24], r8d
mov DWORD PTR [rsp+16], edx
mov DWORD PTR [rsp+8], ecx
- sub rsp, 72 ; 00000048H
+ sub rsp, 72
mov eax, DWORD PTR g$[rsp]
mov DWORD PTR [rsp+56], eax
@@ -46,6 +46,6 @@ $LN3:
lea rcx, OFFSET FLAT:$SG2937
call printf
- add rsp, 72 ; 00000048H
+ add rsp, 72
ret 0
f1 ENDP
@@ -9,7 +9,7 @@ f$ = 120
g$ = 128
f1 PROC
$LN3:
- sub rsp, 72 ; 00000048H
+ sub rsp, 72
mov eax, DWORD PTR g$[rsp]
mov DWORD PTR [rsp+56], eax
@@ -24,12 +24,12 @@ $LN3:
lea rcx, OFFSET FLAT:$SG2777
call printf
- add rsp, 72 ; 00000048H
+ add rsp, 72
ret 0
f1 ENDP
main PROC
- sub rsp, 72 ; 00000048H
+ sub rsp, 72
mov edx, 2
mov DWORD PTR [rsp+48], 7
@@ -41,6 +41,6 @@ main PROC
call f1
xor eax, eax
- add rsp, 72 ; 00000048H
+ add rsp, 72
ret 0
main ENDP
View
@@ -224,4 +224,8 @@ \part*{%
\acro{DIY}{Do It Yourself}
\acro{MMU}{Memory management unit}
\acro{CPRNG}{Cryptographically secure Pseudorandom Number Generator}
+\acro{DES}{Data Encryption Standard}
+\acro{MIME}{Multipurpose Internet Mail Extensions}
+\acro{XML}{Extensible Markup Language}
+\acro{JSON}{JavaScript Object Notation}
\end{acronym}
@@ -9,7 +9,7 @@ __real@4022000000000000 DQ 04022000000000000r ; 9
__real@4014000000000000 DQ 04014000000000000r ; 5
__real@4040000000000000 DQ 04040000000000000r ; 32
-_fahr$ = -8 ; size = 8
+_fahr$ = -8 ; size = 8
_main PROC
sub esp, 8
push esi
@@ -20,7 +20,7 @@ _main PROC
push eax
push OFFSET $SG4040 ; '%lf'
call DWORD PTR __imp__scanf
- add esp, 12 ; 0000000cH
+ add esp, 12
cmp eax, 1
je SHORT $LN2@main
push OFFSET $SG4041 ; 'Error while parsing your input'
@@ -36,11 +36,11 @@ $LN2@main:
fld QWORD PTR __real@c071100000000000 ; -273
fcomp ST(1)
fnstsw ax
- test ah, 65 ; 00000041H
+ test ah, 65 ; 00000041H
jne SHORT $LN1@main
push OFFSET $SG4043 ; 'Error: incorrect temperature!'
fstp ST(0)
- call esi ; call printf()
+ call esi ; call printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -49,7 +49,7 @@ $LN1@main:
fstp QWORD PTR [esp]
push OFFSET $SG4044 ; 'Celsius: %lf'
call esi
- add esp, 12 ; 0000000cH
+ add esp, 12
; return 0 - by C99 standard
xor eax, eax
pop esi
@@ -9,7 +9,7 @@ __real@4022000000000000 DQ 04022000000000000r ; 9
__real@4014000000000000 DQ 04014000000000000r ; 5
__real@4040000000000000 DQ 04040000000000000r ; 32
-_fahr$ = -8 ; size = 8
+_fahr$ = -8 ; size = 8
_main PROC
sub esp, 8
push esi
@@ -20,11 +20,11 @@ _main PROC
push eax
push OFFSET $SG4040 ; '%lf'
call DWORD PTR __imp__scanf
- add esp, 12 ; 0000000cH
+ add esp, 12
cmp eax, 1
je SHORT $LN2@main
push OFFSET $SG4041 ; 'Error while parsing your input'
- call esi ; вызвать printf()
+ call esi ; вызвать printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -36,7 +36,7 @@ $LN2@main:
fld QWORD PTR __real@c071100000000000 ; -273
fcomp ST(1)
fnstsw ax
- test ah, 65 ; 00000041H
+ test ah, 65 ; 00000041H
jne SHORT $LN1@main
push OFFSET $SG4043 ; 'Error: incorrect temperature!'
fstp ST(0)
@@ -49,7 +49,7 @@ $LN1@main:
fstp QWORD PTR [esp]
push OFFSET $SG4044 ; 'Celsius: %lf'
call esi
- add esp, 12 ; 0000000cH
+ add esp, 12
; возврат 0 - по стандарту C99
xor eax, eax
pop esi
@@ -8,7 +8,7 @@ __real@4040000000000000 DQ 04040000000000000r ; 32
__real@4022000000000000 DQ 04022000000000000r ; 9
__real@4014000000000000 DQ 04014000000000000r ; 5
-_fahr$ = -8 ; size = 8
+_fahr$ = -8 ; size = 8
_main PROC
sub esp, 8
push esi
@@ -19,11 +19,11 @@ _main PROC
push eax
push OFFSET $SG4230 ; '%lf'
call DWORD PTR __imp__scanf
- add esp, 12 ; 0000000cH
+ add esp, 12
cmp eax, 1
je SHORT $LN2@main
push OFFSET $SG4231 ; 'Error while parsing your input'
- call esi ; call printf()
+ call esi ; call printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -37,7 +37,7 @@ $LN2@main:
comisd xmm0, xmm1
jbe SHORT $LN1@main
push OFFSET $SG4233 ; 'Error: incorrect temperature!'
- call esi ; call printf()
+ call esi ; call printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -47,7 +47,7 @@ $LN1@main:
movsd QWORD PTR [esp], xmm1
push OFFSET $SG4234 ; 'Celsius: %lf'
call esi ; call printf()
- add esp, 12 ; 0000000cH
+ add esp, 12
; return 0 - by C99 standard
xor eax, eax
pop esi
@@ -8,7 +8,7 @@ __real@4040000000000000 DQ 04040000000000000r ; 32
__real@4022000000000000 DQ 04022000000000000r ; 9
__real@4014000000000000 DQ 04014000000000000r ; 5
-_fahr$ = -8 ; size = 8
+_fahr$ = -8 ; size = 8
_main PROC
sub esp, 8
push esi
@@ -19,11 +19,11 @@ _main PROC
push eax
push OFFSET $SG4230 ; '%lf'
call DWORD PTR __imp__scanf
- add esp, 12 ; 0000000cH
+ add esp, 12
cmp eax, 1
je SHORT $LN2@main
push OFFSET $SG4231 ; 'Error while parsing your input'
- call esi ; вызвать printf()
+ call esi ; вызвать printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -37,7 +37,7 @@ $LN2@main:
comisd xmm0, xmm1
jbe SHORT $LN1@main
push OFFSET $SG4233 ; 'Error: incorrect temperature!'
- call esi ; вызвать printf()
+ call esi ; вызвать printf()
add esp, 4
push 0
call DWORD PTR __imp__exit
@@ -46,8 +46,8 @@ $LN1@main:
sub esp, 8
movsd QWORD PTR [esp], xmm1
push OFFSET $SG4234 ; 'Celsius: %lf'
- call esi ; вызвать printf()
- add esp, 12 ; 0000000cH
+ call esi ; вызвать printf()
+ add esp, 12
; возврат 0 - по стандарту C99
xor eax, eax
pop esi
Oops, something went wrong.

0 comments on commit 07af774

Please sign in to comment.