Advertisement
Guest User

m,,n

a guest
Apr 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .486
  2. .model flat, stdcall
  3. option casemap :none ; чувствительность к регистру букв в идентификаторах      
  4. include windows.inc
  5. include kernel32.inc  
  6. include masm32.inc
  7. includelib kernel32.lib
  8. includelib masm32.lib
  9.  
  10. .data              
  11.        
  12.         buffer1 db 1000 dup (" ")
  13.        
  14.         buffer2 db 1000 dup (" ")
  15.        
  16.      
  17.     inputBuffer db 0
  18.  
  19. .data?
  20.     inputHandle dd ?
  21.     outputHandle dd ?
  22.     numberOfChars dd ?
  23.     sum dd ?
  24. .code
  25. entryPoint:        
  26.  
  27.  
  28.     push STD_INPUT_HANDLE     ; передача параметра в функцию
  29.     call GetStdHandle         ; вызов системной функции    
  30.     mov inputHandle, EAX      ; сохранение результата функции  
  31.    
  32.     push STD_OUTPUT_HANDLE
  33.     call GetStdHandle
  34.     mov outputHandle, EAX  
  35.        
  36. push NULL
  37. push offset numberOfChars
  38. push 1000
  39. push offset buffer1
  40. push inputHandle
  41. call ReadConsole                  
  42.                                                                  
  43. mov EDX, offset buffer1          
  44. mov EAX, numberOfChars            
  45. mov byte ptr [ EDX + EAX - 2 ], 0
  46.                                    
  47.  
  48.  
  49.  
  50. push offset buffer1
  51. push EBX          
  52. call dwtoa
  53.  
  54. push offset buffer1
  55. call atodw  
  56.  
  57.  
  58.  
  59. push NULL
  60. push offset numberOfChars
  61. push 1000
  62. push offset buffer2
  63. push inputHandle
  64. call ReadConsole                  
  65.                                                                  
  66. mov EDX, offset buffer2          
  67. mov EAX, numberOfChars            
  68. mov byte ptr [ EDX + EAX - 2 ], 0
  69.  
  70.  
  71.  
  72. push offset buffer2
  73. push EBX          
  74. call dwtoa
  75.  
  76. push offset buffer2
  77. call atodw    
  78.  
  79.  
  80. mov EAX, buffer1
  81. add EAX, buffer2
  82. mov sum, EAX
  83.  
  84.     push NULL
  85.     push offset numberOfChars
  86.     push 1
  87.     push offset inputBuffer
  88.     push inputHandle
  89.     call ReadConsole
  90.    
  91.  
  92.     push 0
  93.     call ExitProcess
  94.  
  95. end entryPoint
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement