dllbridge

Untitled

Mar 3rd, 2025
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. ; Ошибка исправлена
  3.  
  4. format  PE console
  5. entry   start
  6. include 'win32ax.inc'
  7. include 'api\kernel32.inc'
  8.  
  9. section '.data' data readable writeable
  10.  
  11.     X dd  123
  12.     N dd   23
  13.     M dd   42     ; Тут было 43 (опечатка) вместо 42      <----- Тут, в параметрах, была ошибка
  14.     Y dd 2012
  15.  
  16.   ;  X dd   10
  17.   ;  N dd    3
  18.   ;  M dd    4
  19.   ;  Y dd 2013
  20.     result dd ?
  21.  
  22.  
  23.  
  24.  
  25. section '.code' code readable executable
  26.  
  27.  
  28.  
  29. ; - - - - - - - - - - - - - - - - - - - -  -
  30. start:
  31.  
  32.  
  33.                                                     ; Чтение входных данных
  34.     invoke scanf, "%d%d%d%d", X, N, M, Y
  35.  
  36.     mov eax, [Y]                                 ; Вычисление количества лет
  37.     sub eax, 2011
  38.     mov ecx, eax
  39.  
  40.  
  41.     mov eax, [N]       ;   Вычисление изменения количества книг за каждый год
  42.     sub eax, [M]
  43.  
  44.     imul eax, ecx      ;                Умножение изменения на количество лет
  45.  
  46.     add eax, [X]       ;    Добавление изменения к начальному количеству книг
  47.  
  48.     mov [result], eax                                 ; Сохранение результата
  49.  
  50.     cinvoke printf, <"%d", 10, 0>, eax; [result]; eax                 ;    Вывод результата
  51.           ;------------------------
  52.           cinvoke  scanf, <"%d", 10, 0>, 76313
  53.           invoke   ExitProcess, 0
  54.  
  55.  
  56. section '.idata' import data readable
  57. library kernel32, 'kernel32.dll',\
  58.         msvcrt, 'msvcrt.dll'
  59.  
  60. import msvcrt,\
  61.        printf, 'printf',\
  62.        scanf, 'scanf'
  63.              
Add Comment
Please, Sign In to add comment