Загрузка данных


.686
  .model flat, stdcall
  option casemap :none
  
  include \masm32\include\windows.inc
  include \masm32\include\user32.inc
  include \masm32\include\kernel32.inc
  include \masm32\include\masm32.inc
  includelib \masm32\lib\user32.lib
  includelib \masm32\lib\kernel32.lib
  includelib \masm32\lib\masm32.lib
  
  .data
  _a      sword 10
  _b      sword 5
  _c      sword 2
  _d      sword 3
  res     sword 0
  
  format  db "Answer y = %d", 0
  err_msg db "Error: Division by zero!", 0
  buffer  db 64 DUP(0)
  title_w db "Equation 8", 0
  
  .code
  start:
  mov ax, _b
  imul ax, _c
  add ax, _d
  sub ax, _b
  
  cmp ax, 0
  je division_error
  
  mov res, ax
  
  mov ax, _a
  imul ax, _a
  mov bx, ax
  
  mov ax, _b
  imul ax, _b
  
  sub bx, ax
  mov ax, bx
  
  cwd
  idiv res
  mov res, ax
  
  movsx eax, res
  invoke wsprintf, addr buffer, addr format, eax
  invoke MessageBox, 0, addr buffer, addr title_w, MB_OK
  jmp final

division_error:
  invoke MessageBox, 0, addr err_msg, addr title_w, MB_ICONERROR

final:
  invoke ExitProcess, 0
  end start